Nội dung bài học
✅ Viết script Selenium Java trong Custom Keywords
✅ Selenium Java trong akaAT Studio
Selenium là một bộ kiểm thử tự động (mã nguồn mở) miễn phí cho các ứng dụng web trên các trình duyệt và nền tảng khác nhau. Selenium chỉ tập trung vào việc tự động hóa các ứng dụng dựa trên web.
Selenium gồm có 4 loại:
- Selenium Integrated Development Environment (Selenium IDE)
- Selenium Remote Control (Selenium RC)
- Selenium WebDriver (akaAT Studio tích hợp cái này)
- Selenium Grid
Và trong akaAT Studio đang sử dụng Selenium WebDriver để làm thư viện hỗ trợ xử lý auto trên web.
Trong Selenium WebDriver có đầy đủ các action cung cấp cho chúng ta xử lý hành động cụ thể trên web bài bản và chuyên nghiệp, giả lập được các thao tác như một người kiểm thử manual nhưng đó là automation nhanh hơn nhiều.
Để sử dụng được Selenium WebDriver thì cần có một ngôn ngữ lập trình để thiết kế code và gọi sử dụng thư viện. Cụ thể trong akaAT Studio đang sử dụng Java viết code gọi thư viện Selenium để dùng. Và tức nghiên cái An đang nói là có cả hỗ trợ cho Custom Keyword.
Nên chúng ta muốn viết Custom Keyword mà thiên về các hàm xử lý auto trên web thì cần có kiến thức về Selenium Java.
Trong chuỗi bài hướng dẫn sử dụng akaAT Studio này An không có chỉ Java và Selenium nên các bạn chưa biết có thể xem blog của An chuyên cho Selenium Java trước nhé.
Blog Selenium Java: https://anhtester.com/blog/selenium-java
✅ Viết script Selenium Java trong Custom Keywords
Để sử dụng được Selenium thì chúng ta cần có được giá trị khởi tạo của driver. Nhưng không thể nào chúng ta tự tạo ra được như thủ công bên Selenium Java thông thường mà phải sử dụng lại giá trị driver của tools akaAT Studio đã tạo sẵn thì nó mới thống nhất luồng chạy.
Vậy để sử dụng lại giá trị driver có sẵn chúng ta sử dụng keyword WebDriverUtilities
sau đó gọi hàm getDriver()
WebDriverUtilities.getDriver()
Nó thuộc package:
import com.fpt.ivs.at.core.utilities.WebDriverUtilities;
Và bên phía Selenium thì chúng ta dùng RemoteWebDriver
để nhận giá trị driver.
RemoteWebDriver driver = WebDriverUtilities.getDriver();
Yeah và sau khi có được giá trị driver thì các bạn viết code Selenium Java như bình thường bên ngoài.
An ví dụ viết hàm login cho website CMS nhé.
Website: https://cms.anhtester.com/login
Email: admin@example.com
Password: 123456
package anhtester.keywords;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.RemoteWebDriver;
import com.fpt.ivs.at.core.utilities.WebDriverUtilities;
public class SeleniumKeywords {
public void loginCMS(String email, String password) {
RemoteWebDriver driver = WebDriverUtilities.getDriver();
driver.get("https://cms.anhtester.com/login");
driver.findElement(By.xpath("//input[@id='email']")).sendKeys(email);
driver.findElement(By.xpath("//input[@id='password']")).sendKeys(password);
driver.findElement(By.xpath("//button[normalize-space()='Login']")).click();
}
}
Tiếp theo chúng ta register custom keyword "loginCMS" và gọi dùng ở test cases.
Kết quả sau khi run test case nó sẽ thực hiện thao tác đăng nhập vào hệ thống CMS như các bước auto mà chúng ta đã viết với Selenium Java.
Yeah vậy là xong phần gọi các hàm trong thư viện Selenium dùng trong Custom Keywords rồi. Sau này các bạn có thể viết thêm các hàm xử lý automation test với Selenium Java theo ý mình nhé.
Các bạn có thể xem thêm các code xử lý về Selenium 4 tại blog của Anh Tester:
https://anhtester.com/blog/automation-testing
✳️ Source code: https://github.com/anhtester/akaATStudioLearningAnhTester2023
Anh Tester
facebook.com/anhtester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu