Khái niệm

Hiểu nhanh về Robot Framework, đây là một framework mã nguồn mở cơ bản cho kiểm thử tự động, hướng tới kiểm thử chấp nhận (acceptance test) dành cho các web apps sử dụng trên trình duyệt web hoặc kiểm thử API.

Cơ bản ở đây không nói về khả năng của Framework, mà nghĩa là Generic, tức là Framework cung cấp những cái cơ bản nhất và nền tảng nhất để thực hiện kiểm thử.

Đương nhiên, việc chính của Robot Framework là cung cấp một nền tảng gồm các chức năng cơ bản nhất để người dùng từ đấy có thể tự tạo ra và thực hiện các test case kiểm thử tự động, vì thế, các Library của Robot Framework đa phần sẽ bao bọc lại các framework đã có sẵn và cũng open source như

Và nhiều Library khác

Điểm mạnh

Ví dụ, từ khoá Element Should Be Visible có nghĩa là kiểm tra xem một phần tử trên trang web có hiển thị hay không, và nếu không hiển thị thì từ khoá sẽ Fail. Từ khoá này bọc lấy một function của Selenium là is_displayed().

Nếu sử dụng Selenium với Python, việc nhìn vào một dòng code

assert element.is_displayed() == True

Người dùng sẽ khó có thể hiểu được ý nghĩa của nó trừ khi có doc Selenium mở cạnh vá dí thẳng vào mặt, nhưng với Robot Framework, đọc từ khoá là hiểu nó đang làm gì.

Typical question: What is Robot Framework? - Robot Framework là gì?

Typical question: What those types of testing frameworks? - Có những loại framework kiểm thử nào?

Typical question: What is Keyword Driven Testing? - Kiểm thử dựa trên từ khóa là gì?

Selenium Library

Trong blog này của mình thì ở phần Robot Framework mình sẽ tập trung đi qua phần Selenium Library, vì Browser Automation là cái dễ làm và dễ setup nhất, những cái tinh tuý nhất của Robot Framework cũng sẽ đi qua với ví dụ sử dụng Selenium Library. Nếu có thời gian thì sau này mình sẽ lướt qua một số Library khác như Appium để auto test trên thiết bị di động, và Request Library để test API.

Selenium Library là một trong những Library quan trọng nhất của Robot Framework, nó bọc lấy Selenium và cung cấp các từ khoá để thực hiện kiểm thử tự động trên trình duyệt web. Vì thế, mình mới muốn đi qua bằng Selenium Library khi viết về Robot Framework, nó sẽ cover đủ các phần, từ viết script, cách đọc log, bắt bug, v.v...

Đầu tiên, Selenium Library chỉ là một Library, tức là cung cấp các từ khoá, các từ khoá này bọc các function của Library, thế nên, bản chất là Robot Framework đang sử dụng Selenium.

Cấu trúc Selenium

Selenium về cấu trúc có 4 phần chính:

Có thể làm gì với Selenium Library

Selenium Library về cơ bản giúp chúng ta làm những gì Selenium làm được, ví dụ một số từ khoá sau:

Hay sẽ có các từ khoá để thực hiện các assertion - kiểm tra, như:

Và còn nhiều từ khoá khác nữa, mình sẽ đi qua một số từ khoá trong các bài viết sau, nhưng nó ở hết trên Doc rồi, lên mà đọc SeleniumLibrary

Typical question: What is Selenium Library? - Selenium Library là gì?

Typical question: What are the components of Selenium? - Có những thành phần nào trong Selenium?

Typical question: What are some keywords of Selenium Library? - Có những từ khoá nào trong Selenium Library?

Nguồn tham khảo