1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về robot framework

36 233 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm Hiểu Về Robot Framework
Người hướng dẫn Thầy Trần Sơn Hải
Trường học Trường Đại Học Sư Phạm Tp.Hcm
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo
Năm xuất bản 2020
Thành phố Tp Hồ Chí Minh
Định dạng
Số trang 36
Dung lượng 4,63 MB

Cấu trúc

  • I. GIỚI THIỆU ROBOT FRAMEWORK

    • 1. Khái niệm

    • 2. Ưu điểm

    • 3. Các thư viện hỗ trợ trong Robot Framework

  • II. CÁCH CÀI ĐẶT

    • 1. Cài đặt Python

    • 2. Cài đặt Robot Framework

    • 3. Cài đặt Robot Framework RIDE

    • 4. Cài đặt Selenium2Library

  • III. CÁCH SỬ DỤNG ROBOT FRAMEWORK VỚI RIDE

    • 1. Cơ bản về Ride

    • 2. Keyword driven và data driven trong test case

    • a) Keyword driven

    • b) Data driven

    • 3. Làm việc với trình duyệt sử dụng thư viện selenium2Library

    • 4. Làm việc với biến

    • a) Scalar variable

    • b) List variable

    • c) Dictionary variable

    • 5. Làm việc với textbox

    • 6. Làm việc với radio button

    • 7. Làm việc với Checkbox

    • 8. Làm việc với Dropdown

    • 9. Làm việc với keyword

  • IV. DEMO THỰC HÀNH

    • 1. Demo login thành công:

    • 2. Demo test case login failed

    • 3. Demo kiểm tra đường link

Nội dung

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.

GIỚI THIỆU ROBOT FRAMEWORK

Khái niệm

Robot Framework là một công cụ kiểm thử tự động mã nguồn mở, được xây dựng trên nền tảng ngôn ngữ lập trình Python Công cụ này hỗ trợ tester trong việc kiểm thử thông qua giao tiếp giữa dữ liệu và các thư viện hỗ trợ, với phương pháp tiếp cận chủ yếu là hướng từ khóa và hướng dữ liệu.

Robot Framework hỗ trợ nhiều thư viện và công cụ mã nguồn mở, rất hữu ích cho tự động hóa Thư viện phổ biến nhất trong số đó là Selenium, được sử dụng rộng rãi để phát triển web và kiểm thử giao diện người dùng.

Ưu điểm

Cú pháp rõ ràng và dễ hiểu, tương tự như ngôn ngữ tiếng Anh, với 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 gần giống với cách phân chia trong ngôn ngữ lập trình Python, sử dụng 4 dấu cách để tạo sự phân biệt rõ ràng.

– 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.

Các thư viện hỗ trợ trong Robot Framework

– 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

CÁCH CÀI ĐẶT

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, bạn hãy nhấp đúp vào file python.exe và làm theo hướng dẫn để cài đặt Python trên hệ thống Sau khi cài đặt hoàn tất, mở cmd và kiểm tra phiên bản Python bằng lệnh “python version” Nếu kết quả hiển thị giống như hình minh họa, bạn đã cài đặt Python thành công.

Hình 5: Kiểm tra version của python

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

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

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.

– input text: nhập chuỗi ký 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

CÁCH SỬ DỤNG ROBOT FRAMEWORK VỚI RIDE

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 trữ, dự án có thể được lưu dưới dạng tệp hoặc thư mục với các định dạng như ROBOT, TXT, TSV, và HTML.

Hình 11: Màn hình new project – tab edit

In the "edit" tab, as shown in Figure 11, users can input essential data required for executing test cases This includes the ability to enter libraries, resources, variables, and to add scalar values, lists, dictionaries, and metadata.

Hình 12: Màn hình Tab Text edit

Tab "text edit" cho phép bạn viết mã, và cả hai tab (tab edit và tab text edit) liên kết chặt chẽ với nhau; mọi thay đổi trong một tab sẽ tự động cập nhật trong tab còn lại.

Hình 13: Màn hình Tab Run

Khi hoàn thành test case, hãy sử dụng tab Run để thực thi Tab này cho phép bạn chạy test case với các tùy chọn như bắt đầu, dừng, tạm dừng, tiếp tục, và bước qua Ngoài ra, bạn còn có thể tạo báo cáo hoặc nhật ký 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, sử dụng phím tắt Ctrl + space để xem các gợi ý keyword nếu chúng ta không nhớ.

Keyword driven và data driven trong test case

– Để 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 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

To create a data-driven approach, start by preparing a test case Navigate to the edit tab in the template section and click the "edit" button Enter the keyword you previously created in the keyword-driven section and click "OK." Then, input the parameters you wish to pass into ${mgs} for usage.

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

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

Để sử dụng trình duyệt Chrome trong Robot Framework, bạn cần cài đặt trình điều khiển Chrome trước Sau khi hoàn tất cài đặt, bạn có thể bắt đầu viết các test case để thực hiện kiểm thử Trong quá trình này, bạn sẽ sử dụng hai lệnh đơn giản để tương tác với trình duyệt.

“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

Làm việc với biến

In the Robot Framework, variables are essential for storing information used in test cases or user-defined keywords There are three types of variables: scalar variables, list variables, and dictionary variables Scalar variables hold single values, making them fundamental for various testing scenarios.

Biến vô hướng có cấu trúc "${variable name}" và được sử dụng để lưu trữ chuỗi, đối tượng, danh sách, v.v Để tạo một biến vô hướng, bạn thực hiện 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 danh sách biến được định nghĩa là "${variable name}", trong đó chứa một mảng các giá trị Bạn có thể tạo và sử dụng danh sách biến một cách hiệu quả.

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 c) Dictionary variable

Cấu trúc của biến dictionary là “&{tên biến}”, tương tự như biến list nhưng dễ sử dụng hơn trong nhiều trường hợp Biến dictionary lưu trữ các biến dưới dạng cặp key-value, cho phép người dùng ánh xạ giá trị của biến bằng cả số và key do chính họ đặt.

– Tạo một dictionary variable và sử dụng như sau:

Hình 40: Chọn new dictionary variable

Hình 41: Điền các thông tin cho dictionary variable

Hình 42: Tạo dictionary variable thành công

Hình 43: Sử dụng dictionary variable

Làm việc với textbox

– Chúng ta sẽ viết một test case có nội dung như sau:

• Open browser − URL − https://www.tutorialspoint.com/ trên Chrome

• Enter data in the search textbox in https://www.tutorialspoint.com/

Để tương tác với textbox, cần xác định vị trí của nó bằng cách sử dụng các thuộc tính như ID, name và class.

• Name: name − Nameofthetextbox hoặc name=Nameofthetextbox

• ID: id:idoftextbox hoặc id=idoftextbox

• Class: class − classfortextbox hoặc class=classfortextbox

– Bây giờ chúng ta sẽ viết test case sử dụng textbox trong ride như sau:

Hình 44: Sử dụng name textbox

Làm việc với radio button

Đối với radio button, thuộc tính name được sử dụng để xác định nhóm radio button, trong khi thuộc tính value giúp nhận diện radio button mà người dùng muốn chọn Dưới đây là đoạn mã mẫu liên quan đến radio button cùng với kết quả hiển thị.

Hình 45: Code làm việc với radio button

Hình 46: Kết quả làm của test case làm việc với radio button

Hình 47: Log của test case làm việc với radio button

Làm việc với Checkbox

– Đối với checkbox, chúng ta dùng thuộc tính name để định vị xác định được checkbox nào chúng ta muốn chọn Keyword được sử dụng cho checkbox là

“Select checkbox” Sử dụng checkbox như hình sau:

Hình 48: Code làm việc với checkbox

Hình 49: Kết quả làm của test case làm việc với checkbox

Hình 50: Log của test case làm việc với checkbox

Làm việc với Dropdown

– Đối với dropdown, thuộc tính name dùng để định vị và value để xác định được cái chúng ta muốn chọn Có 3 keyword được sử dụng cho dropdown là

“Select From List By Index” “Select From List By Label” “Select From List

By Value” và sử dụng chúng như hình sau Viết test case sử dụng 3 keywork vào trong 3 dropdown:

Hình 51: Kết quả làm của test case làm việc với dropdown

Hình 52: Code làm việc với dropdow

Hình 53: Log của test case làm việc với dropdown

Làm việc với keyword

Sau khi nhập thư viện vào dự án, chúng ta có thể sử dụng các từ khóa mà thư viện cung cấp để tương tác với trình duyệt Chúng ta sử dụng thư viện Selenium2Library để truy cập trang web của Robot Framework và xem các từ khóa mà thư viện này cung cấp.

Hình 54: Keyword của thư viện selenium2library

Để sử dụng từ khóa trong RIDE, bạn chỉ cần nhấn phím tắt Ctrl+space và nhập từ khóa để nhận gợi ý Để xem mô tả chi tiết của từ khóa, hãy di chuột vào từ khóa mong muốn; một hộp thoại hiển thị thông tin sẽ xuất hiện bên phải màn hình.

Hình 55: Mô tả chi tiết keyword “close all browser”

Ngoài các từ khóa có sẵn, người dùng có thể tạo ra các từ khóa do chính mình định nghĩa (user-defined keywords) bằng cách kết hợp các từ khóa có sẵn Ví dụ, từ khóa "open page" được định nghĩa từ từ khóa "open browser" Sau khi hoàn tất việc định nghĩa, người dùng có thể sử dụng từ khóa này như những từ khóa có sẵn trong thư viện.

Hình 56: Code định nghĩa keyword của open page

DEMO THỰC HÀNH

Demo login thành công

Hình 58: Code của test case login successful

Hình 59: Tab edit của test case login successful

Hình 60: run test case thành công

Hình 61: File report của test case login successful

Hình 62: File log của test case successful

Demo test case login failed

Hình 63: Code của test case login failed

Hình 64: Tab edit của test case login failed

Hình 65: Run test case login failed thành công

Hình 66: File log của test case login failed

Demo kiểm tra đường link

Hình 68: Code của test case TC_Data

Hình 69: Tab edit của test case TC_Data

Hình 70: Run thành công test case TC_Data

Ngày đăng: 14/11/2021, 10:32

HÌNH ẢNH LIÊN QUAN

Hình 8: cài đặt RobotFramework RIDE - Tìm hiểu về robot framework
Hình 8 cài đặt RobotFramework RIDE (Trang 8)
Hình 10: Hộp thoại thông tin new project - Tìm hiểu về robot framework
Hình 10 Hộp thoại thông tin new project (Trang 9)
Hình 12: Màn hình Tab Text edit - Tìm hiểu về robot framework
Hình 12 Màn hình Tab Text edit (Trang 10)
Hình 13: Màn hình Tab Run - Tìm hiểu về robot framework
Hình 13 Màn hình Tab Run (Trang 10)
Hình 16: Màn hình test case “TC1” - Tìm hiểu về robot framework
Hình 16 Màn hình test case “TC1” (Trang 12)
– Ở 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. - Tìm hiểu về robot framework
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 (Trang 12)
Hình 21: Sử dụng keyword vừa tạo - Tìm hiểu về robot framework
Hình 21 Sử dụng keyword vừa tạo (Trang 14)
Hình 26:Import thư viện vào dự án - Tìm hiểu về robot framework
Hình 26 Import thư viện vào dự án (Trang 16)
Hình 29: sử dụng lệnh của selenium2library - Tìm hiểu về robot framework
Hình 29 sử dụng lệnh của selenium2library (Trang 17)
Hình 32: Chọn new scalar để tạo biến vô hướng - Tìm hiểu về robot framework
Hình 32 Chọn new scalar để tạo biến vô hướng (Trang 18)
Hình 31: Log của TC1 sử dụng selenium2library - Tìm hiểu về robot framework
Hình 31 Log của TC1 sử dụng selenium2library (Trang 18)
Hình 33: Điền các thông tin cho biến - Tìm hiểu về robot framework
Hình 33 Điền các thông tin cho biến (Trang 19)
Hình 36: Chọn new list variable để tạo danh sách biến - Tìm hiểu về robot framework
Hình 36 Chọn new list variable để tạo danh sách biến (Trang 20)
Hình 40: Chọn new dictionary variable - Tìm hiểu về robot framework
Hình 40 Chọn new dictionary variable (Trang 21)
Hình 47: Log của test case làm việc với radio button - Tìm hiểu về robot framework
Hình 47 Log của test case làm việc với radio button (Trang 24)
Hình 53: Log của test case làm việc với dropdown - Tìm hiểu về robot framework
Hình 53 Log của test case làm việc với dropdown (Trang 26)
Hình 54: Keyword của thư viện selenium2library - Tìm hiểu về robot framework
Hình 54 Keyword của thư viện selenium2library (Trang 27)
Bước 2- Gõ URL với trình duyệt Chrome -Click button “Đăng nhập” Màn hình đăng nhập sẽ hiển thị Bước 3Nhập tên và mật khẩu sai - Tìm hiểu về robot framework
c 2- Gõ URL với trình duyệt Chrome -Click button “Đăng nhập” Màn hình đăng nhập sẽ hiển thị Bước 3Nhập tên và mật khẩu sai (Trang 29)
Hình 59: Tab edit của test case login successful - Tìm hiểu về robot framework
Hình 59 Tab edit của test case login successful (Trang 30)
Hình 61: File report của test case login successful - Tìm hiểu về robot framework
Hình 61 File report của test case login successful (Trang 31)
Hình 60: run test case thành công - Tìm hiểu về robot framework
Hình 60 run test case thành công (Trang 31)
Hình 62: File log của test case successful - Tìm hiểu về robot framework
Hình 62 File log của test case successful (Trang 32)
Hình 63: Code của test case login failed - Tìm hiểu về robot framework
Hình 63 Code của test case login failed (Trang 32)
Hình 64: Tab edit của test case login failed - Tìm hiểu về robot framework
Hình 64 Tab edit của test case login failed (Trang 33)
Hình 68: Code của test case TC_Data - Tìm hiểu về robot framework
Hình 68 Code của test case TC_Data (Trang 34)
Hình 66: File log của test case login failed - Tìm hiểu về robot framework
Hình 66 File log của test case login failed (Trang 34)
Hình 70: Run thành công test case TC_Data - Tìm hiểu về robot framework
Hình 70 Run thành công test case TC_Data (Trang 35)
Hình 69: Tab edit của test case TC_Data - Tìm hiểu về robot framework
Hình 69 Tab edit của test case TC_Data (Trang 35)
Hình 71: File report test case TC_Data - Tìm hiểu về robot framework
Hình 71 File report test case TC_Data (Trang 36)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w