Skip to content

Overview

Robot Framework là một công cụ kiểm thử tự động nguồn mở rất mạnh mẽ, được thiết kế để thực hiện acceptance testingacceptance test-driven development (ATDD). Nó sử dụng cú pháp dựa trên từ khóa (keyword-driven testing) và hỗ trợ nhiều loại kiểm thử khác nhau như functional testing, API testing, và UI testing.

1. Cài đặt Robot Framework

Trước tiên, bạn cần cài đặt Robot Framework và các thư viện cần thiết như SeleniumLibrary để kiểm thử ứng dụng web.

Bước 1: Cài đặt Robot Framework

Robot Framework có thể cài đặt thông qua pip:

pip install robotframework

Bước 2: Cài đặt thư viện Selenium (cho kiểm thử web)

pip install robotframework-seleniumlibrary

Bước 3: Cài đặt WebDriver (Chrome hoặc Firefox)

Nếu bạn muốn chạy kiểm thử trên trình duyệt, bạn cần cài đặt WebDriver tương ứng với trình duyệt mà bạn đang dùng (ví dụ, ChromeDriver cho Chrome).

2. Cấu trúc cơ bản của Robot Framework

Một file kiểm thử của Robot Framework có dạng .robot hoặc .txt. Cấu trúc cơ bản bao gồm:

  • Settings: Định nghĩa các thư viện, từ khóa, và các biến cần thiết.

  • Variables: Khai báo các biến toàn cục.

  • Test Cases: Các kịch bản kiểm thử.

  • Keywords: Tập hợp các hành động, giúp kiểm thử có thể tái sử dụng.

Ví dụ về một file .robot đơn giản:

*** Settings ***
Library    SeleniumLibrary

*** Variables ***
${BROWSER}    Chrome
${URL}        https://example.com

*** Test Cases ***
Test Example Website
    Open Browser    ${URL}    ${BROWSER}
    Title Should Be    Example Domain
    [Teardown]    Close Browser

*** Keywords ***

3. Chạy kiểm thử

Bạn có thể chạy các bài kiểm thử đã viết bằng cách sử dụng dòng lệnh:

robot <ten_file>.robot

Kết quả sẽ được lưu vào 3 file:

  • log.html: Báo cáo chi tiết từng bước kiểm thử.

  • report.html: Báo cáo tổng quan.

  • output.xml: Kết quả kiểm thử dưới dạng XML.

4. Ví dụ chi tiết

Kiểm thử trang web với SeleniumLibrary

Dưới đây là ví dụ về kiểm thử tự động trên một trang web sử dụng Robot FrameworkSeleniumLibrary:

*** Settings ***
Library    SeleniumLibrary
Library    Collections

*** Variables ***
${BROWSER}    Chrome
${URL}        https://example.com

*** Test Cases ***
Open Example Website
    Open Browser    ${URL}    ${BROWSER}
    Title Should Be    Example Domain
    Close Browser

Search in Google
    Open Browser    https://www.google.com    ${BROWSER}
    Input Text    name:q    Robot Framework
    Click Button    name:btnK
    Page Should Contain    Robot Framework
    Close Browser

Giải thích:

  • Library SeleniumLibrary: Thư viện Selenium để thao tác với các trình duyệt web.

  • Open Browser: Mở trình duyệt và truy cập URL.

  • Title Should Be: Xác minh tiêu đề trang.

  • Input Text: Nhập văn bản vào trường tìm kiếm.

  • Click Button: Nhấp vào nút tìm kiếm.

5. Sử dụng biến trong Robot Framework

Biến trong Robot Framework có thể được khai báo trong phần Variables hoặc trực tiếp trong các test case:

*** Variables ***
${BROWSER}    Chrome
${URL}        https://example.com
${USERNAME}   testuser
${PASSWORD}   password123

*** Test Cases ***
Login Test
    Open Browser    ${URL}    ${BROWSER}
    Input Text    id:username    ${USERNAME}
    Input Text    id:password    ${PASSWORD}
    Click Button    id:login
    Close Browser

6. Tạo từ khóa tùy chỉnh (Custom Keywords)

Bạn có thể tạo các từ khóa riêng biệt để tái sử dụng trong các test case. Ví dụ:

*** Keywords ***
Login As User
    [Arguments]    ${username}    ${password}
    Input Text    id:username    ${username}
    Input Text    id:password    ${password}
    Click Button    id:login

Sau đó, bạn có thể gọi từ khóa này trong các test case:

*** Test Cases ***
Login Test
    Open Browser    ${URL}    ${BROWSER}
    Login As User    testuser    password123
    Close Browser

7. Báo cáo và phân tích kết quả kiểm thử

Sau khi chạy kiểm thử, Robot Framework sẽ tạo ra các báo cáo và nhật ký kiểm thử dưới dạng file HTML. Bạn có thể mở các file report.htmllog.html để phân tích kết quả kiểm thử.

8. Tích hợp CI/CD

Robot Framework có thể được tích hợp với các hệ thống CI/CD như Jenkins, GitLab CI để tự động hóa kiểm thử khi có thay đổi mã nguồn.

Ví dụ tích hợp với Jenkins:

  • Sử dụng Robot Framework Plugin trên Jenkins để xem kết quả kiểm thử dưới dạng báo cáo.

  • Cấu hình Jenkins để chạy các file kiểm thử .robot sau mỗi lần build.

9. Ưu điểm của Robot Framework

  • Dễ sử dụng: Cú pháp dễ đọc, dễ hiểu ngay cả với người không chuyên lập trình.

  • Mở rộng tốt: Dễ dàng mở rộng và tùy chỉnh với các thư viện Python.

  • Tích hợp tốt: Hỗ trợ nhiều công cụ và nền tảng khác nhau, có thể dễ dàng tích hợp vào các pipeline CI/CD.

10. Tài liệu tham khảo

Robot Framework là một công cụ tuyệt vời cho kiểm thử tự động, đặc biệt khi bạn cần sự linh hoạt và khả năng mở rộng cao.