Robot framework dành cho tester (Phần I)

I. Mở đầu

Nếu bạn là một tester chưa biết gì về lập trình, liệu ta có thể phát triển mảng kiểm thử tự động? Tôi đã từng tìm hiểu một số testing framework khi tiếp cận với kiểm thử tự động nhưng nhanh chóng từ bỏ vì cảm thấy bầu không khí của lập trình có vẻ nặng nề và nhiều hơn việc kiểm thử phần mềm, nào là người viết kịch bản kiểm thử tự động phải có hiểu biết nhất định về lập trình hướng đối tượng hay các thuật toán lập trình, ... cho đến khi một người bạn gợi ý tìm hiểu về Robot Framework. Và tôi nhận ra rằng đây chính là giải pháp cho các bạn mới tập tành với một công cụ kiểm thử tự động hay những bạn có ý định chuyển từ kiểm thử thủ công sang kiểm thử tự động.

Vậy Robot Framework là gì?

Trước tiên, Robot Framework là một testing framework cung cấp mọi thứ cần thiết cho tester xây dựng kịch bản kiểm thử từ đầu vào, điều kiện kết thúc hay báo cáo kết quả, v.v... Cái hay ở Robot Framework chính là ta có thể tránh xa công việc lập trình một cách cơ bản, tất cả những gì tester cần làm là viết ra kịch bản kiểm thử dựa trên từ khóa (keyword). Nói cách khác, Robot Framework là một nền tảng kiểm thử tự động hướng từ khóa, được viết bằng ngôn ngữ Python.

Phần I chủ yếu dựa trên khung bài của bài viết này http://www.swtestacademy.com/getting-started-robotframework/ dành cho người dùng Windows để thực hành và ghi lại cách cài đặt Robot Framework và cách chạy kiểm thử tự động với mẫu case cơ bản nhất dành cho người dùng Ubuntu.

II. Cài đặt Robot Framework

Robot Framework có thể được cài đặt trên hầu hết tất cả hệ điều hành phổ biến ngày nay, gồm Windows/Linux/Unix/Ubuntu/Mac-OS. Tuy nhiên phần hướng dẫn bên dưới sẽ cung cấp các bước cơ bản để cài đặt Robot Framework trên Ubuntu (các bước hướng dẫn bên dưới cũng hoạt động trên cả Linux).

Bước 1. Cài đặt Python.

Python thường đi kèm với cài đặt Ubuntu/Linux. Để kiểm tra xem Python đã cài đặt chưa, cũng như phiên bản của nó, dùng câu lệnh sau trên Terminal (có thể dùng phím tắt Ctrl+Alt+T để bật Terminal):

$ python --version

Nếu Python đã được cài đặt, bạn sẽ nhìn thấy phiên bản của nó, chẳng hạn Python 2.7.6 như hình bên dưới:

python_version.png

Bước 2. Cài đặt PIP (Python Package Manager).

PIP là một package manner cho việc thiết lập các gói Python. Để cài đặt PIP, dùng câu lệnh sau:

$ wget https://bootstrap.pypa.io/get-pip.py $ sudo python get-pip.py

Bước 3. Cài đặt gói Robot Framework bằng cách sử dụng PIP.

Dùng câu lệnh sau để cài đặt Robot Framework:

$ sudo pip install robotframework

Phiên bản mới nhất của Robot Framework sẽ được cài tự động. Nếu muốn cài một phiên bản cụ thể, chỉ việc thêm vào, chẳng hạn:

$ sudo pip install robotframework==2.8.4

Ngay sau khi cài đặt hoàn tất, dùng câu lệnh sau để xem việc cài đặt đã thành công chưa:

$ pybot --version

Bạn sẽ nhìn thấy thông tin phiên bản Robot Framework như bên dưới nếu thiết lập thành công:

robotframe_version.png

Bước 4. Cài đặt SELENIUM2LIBRARY.

Để làm việc với Webdriver (Selenium2) và Robot Framework, bạn cần cài đặt Selenium2Library bằng cách sử dụng PIP với câu lệnh sau:

$ sudo pip install robotframework-selenium2library

Câu lệnh này sẽ tự động cài cả các dependency của nó, gồm decorator, và các gói Selenium. Ngay sau khi hoàn tất cài đặt, dùng câu lệnh $ python để chuyển đến cửa sổ của python:

python_interpreter.png

Ở cửa sổ này, gõ câu lệnh sau để import Selenium2 Library:

>> import Selenium2Library

Đừng ngạc nhiên vì sẽ không có đầu ra nào cho thấy bạn đã import thành công hay chưa nhé. Đơn giản nếu bạn không thấy lỗi nào bắn ra nghĩa là thư viện Selenium2 đã được cài thành công. Nếu muốn thoát khỏi cửa sổ Python, dùng lệnh exit().

Bước 5. Cài đặt RIDE.

RIDE là một IDE để xây dựng kiểm thử bằng cách sử dụng Robot Framework. Ngoài RIDE ra, bạn có thể thay thế bằng SublimeText, IntelliJ hay Eclipse, ...

Vì RIDE được phát triển bằng cách sử dụng wxPython nên bạn cần cài bộ tool wxPython 2.8 có hỗ trợ unicode để chạy RIDE. Dùng câu lệnh sau để cài wxPython:

$ sudo apt-get install python-wxgtk2.8 $ sudo apt-get install python-wxversion

Tiếp theo, dùng câu lệnh sau để cài RIDE:

$ sudo pip install robotframework-ride

Để xác minh xem việc cài đặt đã OK chưa, chạy câu lệnh sau:

$ ride.py

Ứng dụng RIDE sẽ bật lên như sau:

RIDE_GUI.png

Giờ bạn đã hoàn tất việc thiết lập để xây dựng các kiểm thử tự động trên hệ thống Ubuntu/Linux bằng cách sử dụng Robot Framework và Selenium2Library trong ứng dụng RIDE!

III. Cách sử dụng

Chẳng hạn, bạn muốn thực hiện tự động case kiểm thử mở trang LinkedIn lên và kiểm tra Title, sau đó nhập UserName và Password không đúng, ...., trước tiên hãy bật ứng dụng RIDE lên và thực hiện các bước sau:

1. Nhấp vào OpenFolder_icon.png để tạo một thư mục mới cho dự án của mình, sau đấy chọn Open:

RobotFramework_Project.png

2. Nhấp phải vào project RobotFramework vừa tạo ra, sau đó chọn New Suite và đặt tên cho Suite mới này:

NewSuite.png

3. Chọn Text Edit, sau đó dán nội dung sau vào:

*** Settings ***
Library           Selenium2Library

*** Variables ***
${Username}       [email protected]
${Password}       wrongpass
${Browser}        Firefox
${SiteUrl}        http://www.linkedin.com
${DashboardTitle}    World’s Largest Professional Network | LinkedIn
${ExpectedWarningMessage}    Hmm, we don't recognize that email. Please try again.
${WarningMessage}    Login Failed!
${Delay}          5s

*** Test Cases ***
Login Should Failed With Unregistered Mail Adress
    [TAGS]  InvalidLogin-UnregisteredMailError
    Open LinkedinPage
    Check Title
    Enter User Name
    Enter Wrong Password
    Click Login
    sleep    ${Delay}
    Assert Warning Message
    [Teardown]    Close Browser

*** Keywords ***
Open LinkedinPage
    open browser    ${SiteUrl}    ${Browser}
    Maximize Browser Window

Enter User Name
    Input Text    id=login-email    ${Username}

Enter Wrong Password
    Input Text    id=login-password    ${Password}

Click Login
    Click Button    css=[name=submit]

Check Title
    Title Should be    ${DashboardTitle}

Assert Warning Message
    Element Text Should Be    id=session_key-login-error    ${ExpectedWarningMessage}    ${WarningMessage}

Sau khi dán vào, nhấp vào tab Edit, bạn sẽ nhìn thấy các thông tin như sau:

details.png

4. Nhấp vào tab Run và chọn nút Start để thử chạy tự động testcase này.

ride_run.png

Nếu bạn muốn xem chi tiết về log hay thông tin Report ở định dạng HTML, nhấp vào nút Report hoặc Log tương ứng.

Bên cạnh việc chạy kiểm thử trên ứng dụng RIDE, bạn có thể chạy qua Terminal với câu lệnh: robot LinkedInLogin.robot. Báo cáo và chi tiết về log cũng sẽ tự động sinh ra trên màn hình này sau khi kiểm thử được thực thi.

runtest_terminal.png

(To be continued)

Trên đây là cách từng bước cài đặt Robot Framework và Selenium2Library cũng như một ví dụ kiểm thử tự động đơn giản nhất mà bạn có thể thực hành cho người dùng Ubuntu. Hãy tin tôi, nếu bắt đầu bằng cách đọc vô số lý thuyết ở trang chủ Robot Framework (http://robotframework.org/) sẽ khiến bạn thấy lúng túng, thay vào đấy hãy làm quen với nó từ bài viết này và sau đó nâng cao dần kiến thức về Robot Framework nhé.

Nguồn dữ liệu sử dụng làm ví dụ trong bài viết: