TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
Khoa Công nghệ thông tin
BÁO CÁO MÔN KIỂM THỬ CƠ BẢN
ĐỀ TÀI:
TÌM HIỂU VỀ ROBOT
FRAMEWORK
Giảng viên:
Thầy Trần Sơn Hải
TP Hồ Chí Minh, ngày 10 tháng 11 năm 2020
MỤC LỤC
I.
GIỚI THIỆU ROBOT FRAMEWORK....................................................................... 1
1. Khái niệm................................................................................................................. 1
2. Ưu điểm.................................................................................................................... 1
3. Các thư viện hỗ trợ trong Robot Framework............................................................ 1
II. CÁCH CÀI ĐẶT......................................................................................................... 3
1. Cài đặt Python........................................................................................................... 3
2. Cài đặt Robot Framework......................................................................................... 4
3. Cài đặt Robot Framework RIDE............................................................................... 4
4. Cài đặt Selenium2Library......................................................................................... 5
III.
CÁCH SỬ DỤNG ROBOT FRAMEWORK VỚI RIDE......................................... 6
1. Cơ bản về Ride......................................................................................................... 6
2. Keyword driven và data driven trong test case......................................................... 9
a) Keyword driven................................................................................................... 10
b) Data driven.......................................................................................................... 11
3. Làm việc với trình duyệt sử dụng thư viện selenium2Library................................12
4. Làm việc với biến................................................................................................... 15
a) Scalar variable..................................................................................................... 15
b) List variable......................................................................................................... 16
c) Dictionary variable.............................................................................................. 18
5. Làm việc với textbox.............................................................................................. 19
6. Làm việc với radio button....................................................................................... 20
7. Làm việc với Checkbox.......................................................................................... 21
8. Làm việc với Dropdown......................................................................................... 22
9. Làm việc với keyword............................................................................................ 23
IV.
DEMO THỰC HÀNH............................................................................................ 25
1. Demo login thành công........................................................................................... 27
2. Demo test case login failed..................................................................................... 29
3. Demo kiểm tra đường link...................................................................................... 31
I. GIỚI THIỆU ROBOT FRAMEWORK
1. Khái niệm
–
Robot Framework là một công cụ kiểm thử tự động mã nguồn mở, cung cấp
nền tảng kiểm thử cho tester dựa trên ngôn ngữ lập trình Python. Nó giao
tiếp giữa data và thư viện hỗ trợ, cách tiếp cận của nền tảng kiểm thử này là
hướng từ khóa (keyword driven) và hướng dữ liệu (data driven).
–
Robot Framework cung cấp hỗ trợ cho các thư viện, các công cụ có mã
nguồn mở và có thể được sử dụng cho tự động hóa. Thư viện phổ biến nhất
được sử dụng là Selenium dùng để phát triển web và kiểm thử giao diện
người dùng.
2. Ưu điểm
–
Cú pháp rõ ràng dễ hiểu, gần giống với ngôn ngữ tiếng Anh, các từ khóa và
đối số được phân cách bởi 4 kí tự trống, các từ khóa được định nghĩa khá
giống với ngôn ngữ lập trình Python khi sử dụng 4 dấu cách để phân chia.
–
Linh hoạt, có thể mở rộng các chức năng thông qua các module Python hoặc
Java.
–
Report rõ ràng, chi tiết.
–
Được hỗ trợ bởi đa số các trình editor và có RIDE hỗ trợ (Robot framework
IDE).
–
Có khả năng chạy trên nhiều hệ điều hành khác nhau mà không cần chỉnh
sửa kịch bản kiểm thử hoặc các từ khóa ở tầng dưới.
–
Các kịch bản kiểm thử được viết dựa trên các từ khóa mà không cần quan
tâm đến các thuật toán lập trình cơ bản nhất.
3. Các thư viện hỗ trợ trong Robot Framework
1|Page
–
Có rất nhiều thư viện hỗ trợ cho việc kiểm thử tự động trong Robot
Framework như là: String, SeleniumLibrary, Eclipse Library, Database
Library…( https://robotframework.org/#libraries )
–
Trong nội dung này sẽ tập trung giới thiệu thư viện phổ biến nhất đó là
Selenium2Library.
Hình 1: Các thư viện tiêu chuẩn
Hình 2: Các thư viện bên ngoài
Hình 3: Các thư viện khác
II. CÁCH CÀI ĐẶT
–
Robot Framework được xây dựng bằng Python. Để làm việc với Robot
Framework cần cài đặt những thứ sau:
Python
Robot Framework
Robot Framework Ride
–
Để thực hiện demo với Robot Framework cần cài đặt thêm thư viện
Selenium2Library.
1. Cài đặt Python
–
Để cài đặt Python, truy cập trang web chính thức của Python (
https://www.python.org/downloads/ ) và tải xuống phiên bản theo hệ điều
hành của bạn.
Hình 4: Trang chủ download Python
–
Sau khi tải xuống, nhấp đúp vào file python.exe và làm theo các bước cài
đặt để cài đặt Python trên hệ thống của bạn. Cài đặt xong, mở cmd và kiểm
tra lại bằng lệnh “python - -version”, nếu kết quả trả về tương tự như hình
sau thì đã cài đặt thành công Python.
Hình 5: Kiểm tra version của python
2. Cài đặt Robot Framework
–
Sau khi cài đặt Python thành công, mở cmd và dùng lệnh “pip install
robotframework” để cài đặt Robot Framework.
Hình 6: Cài đặt Robot Framework
–
Kiểm tra cài đặt bằng lệnh “robot - -version”:
Hình 7: Kiểm tra cài đặt Robot Framework
3. Cài đặt Robot Framework 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, có thể thay thế bằng SublimeText, IntelliJ hay
Eclipse, ...).
–
Mở cmd và gõ lệnh “pip install robotframework-ride”:
Hình 8: cài đặt Robot Framework RIDE
4.
Cài đặt Selenium2Library
–
Selenium2Library là ngôn ngữ rất sát với ngôn ngữ thực tế của người dùng,
bạn mong muốn action gì bạn chỉ cần gõ từ khóa tương ứng.
Ví dụ:
–
–
input text: nhập chuỗi ký tự
–
click button: nhấp chuột
–
double click element: nhấp đôi chuột vào element
–
get alert message: lấy giá trị của thông báo
–
open context menu: mở các menu con
Để làm việc với thư viện này, mở cmd và gõ lệnh “pip
install robotframework-selenium2library”:
Hình 9: Cài đặt Selenium2Library
III. CÁCH SỬ DỤNG ROBOT FRAMEWORK VỚI RIDE
1. Cơ bản về Ride
–
Để khởi động ride có 2 cách, mở cmd gõ “ride.py” hoặc click biểu tượng
shotcut của RIDE trên desktop.
–
Tạo dự án mới: Vào File và nhấp vào New Project, màn hình sau sẽ xuất hiện:
Hình 10: Hộp thoại thông tin new project
–
Nhập tên dự án và chọn vị trí lưu, dự án có thể được lưu ở dạng tệp hoặc thư
mục với các loại định dạng như ROBOT, TXT, TSV, HTML.
Hình 11: Màn hình new project – tab edit
–
Ở hình 11, tab “edit” dùng để thêm dữ liệu cần thiết để chạy các trường
hợp thử nghiệm. Có thể nhập library, resource, variables, add scalar, add
list, add dict, add metadata.
Hình 12: Màn hình Tab Text edit
–
Tab “text edit” để bạn viết code ở đây. Cả 2 tab (tab edit, tab text edit) này
phụ thuộc vào nhau và những thay đổi được thực hiện sẽ thay đổi cho cả
2.
Hình 13: Màn hình Tab Run
–
Khi hoàn thành test case, sử dụng tab Run để thực thi. Tab Run cho phép
chạy test case đi kèm với các tùy chọn như start, stop, pause continue,
next, step over. Ngoài ra có thể tạo report hoặc log cho test case đang
chạy.
–
Tạo test case mới bằng cách chọn new test case. Hộp thoại sau đây sẽ xuất
hiện để nhập tên test case mới.
Hình 14: Tạo test case mới
Hình 15: Hộp thoại nhập tên test cas
Hình 16: Màn hình test case “TC1”
–
Ở hình 16, có các thuộc tính Documentation, setup, teardown, tags, timeout
và Template để bạn điền thông tin cần thiết cho một test case.
Hình 17: Gợi ý các keyword
–
Ở hình 17, sử dụng phím tắt Ctrl + space để xem các gợi ý keyword nếu
chúng ta không nhớ.
2. Keyword driven và data driven trong test case
a) Keyword driven
–
Để tạo một keyword driven, click chuột phải vào project và chọn new
user keyword và điền name và arguments.
Hình 18: Tạo keyword driven
Hình 19: Name và arguments của keyword
Hình 20: Thông tin keyword driven
–
Sử dụng keyword driven trong test case và có kết quả như sau:
Hình 21: Sử dụng keyword vừa tạo
Hình 22: run test case sử dụng keyword driven
b) Data driven
–
Để tạo data driven, cần có một test case tạo sẵn, vào tab edit ở ô
template bấm button “edit”, điền tên keyword bạn vừa tạo ở phần
keyword driven và click ok. Sau đó điền các thông số mà bạn muốn
truyền vào ${mgs}để sử dụng.
Hình 23: data driven
Hình 24:Màn hình data driven
–
Sử dụng data driven trong test case và kết quả:
Hình 25:Kết quả sử dụng data driven trong test case
3. Làm việc với trình duyệt sử dụng thư viện selenium2Library
–
Sau khi cài đặt thư viện selenium2library bạn cần import thư viện vào dự án
để sử dụng như sau:
Hình 26:Import thư viện vào dự án
Hình 27:Import thư viện selenium2library
Hình 28:Import thư viện thành công
–
Để làm việc với trình duyệt chrome trong robot framework, đầu tiên bạn cần
cài đặt trình điều khiển cho chrome. Sau khi cài đặt xong, chúng ta bắt đầu
viết test case để thử làm việc với nó. Ở đây sử dụng 2 lệnh đơn giản là
“open browser” và “close browser” như sau:
Hình 29: sử dụng lệnh của selenium2library
Hình 30: Code sử dụng lệnh của selenium2Library
Hình 31: Log của TC1 sử dụng selenium2library
4. Làm việc với biến
–
Biến trong robot framework dùng để lưu trữ sử dụng trong test case hoặc
trong các keyword do người dùng định nghĩa. Có 3 loại biến là scalar variable,
list variable, dictionary variable.
a) Scalar variable
– Cấu trúc của biến vô hướng là “${varialbe name}”, chúng ta có thể
sử dụng biến vô hướng để lưu trữ chuổi, đối tượng, danh sách…Tạo
một biến vô hướng như sau:
Hình 32: Chọn new scalar để tạo biến vô hướng
Hình 33: Điền các thông tin cho biến
Hình 34: Biến vô hướng đã được tạo
Hình 35: Áp dụng biến vô hướng vào test case
b) List variable
–
Cấu trúc của danh sách biến là “${varialbe name}”, trong danh sách
biến sẽ có một mảng các giá trị. Tạo một danh sách biến và sử dụng
như sau:
Hình 36: Chọn new list variable để tạo danh sách biến
Hình 37: Điền các thông tin cho list variable
Hình 38: Danh sách biến đã được tạo
Hình 39: Sử dụng danh sách biến trong test case
- Xem thêm -