Nghiên cứu về Grid trong Selenium Automation Testing
Selenium là một công cụ kiểm thử tự động miễn phí và khá phổ biến trong kiểm thử web driver. Trong đó, Selenium Grid cho phép người dùng thực thi kiểm thử song song trên nhiều máy tính khác nhau với nhiều trình duyệt khác nhau. Selenium Grid cho phép thực thi kiểm thử với chế độ phân tán, sử dụng ...
Selenium là một công cụ kiểm thử tự động miễn phí và khá phổ biến trong kiểm thử web driver. Trong đó, Selenium Grid cho phép người dùng thực thi kiểm thử song song trên nhiều máy tính khác nhau với nhiều trình duyệt khác nhau.
Selenium Grid cho phép thực thi kiểm thử với chế độ phân tán, sử dụng chung một code base. Do đó, hard code không cần thiết phải có mặt trên tất cả các máy được sử dụng để thực thi kiểm thử.
I. Cách Set up Grid trong Selenium
1. Mô hình và cách hoạt động
Selenium Grid bao gồm 2 thành phần chính là Hub và Nodes:
- Hub: có thể hiểu là máy chủ server, chứa hard code và là nơi gửi lệnh điều khiển các máy khác trong mô hình thực thi kiểm thử. Hub chỉ có thể được set up duy nhất trên một máy tính.
- Nodes: là các Selenium instances được kết nối vào Hub để thực thi các kịch bản kiểm thử. Có thể có nhiều Nodes trong một mô hình Grid. Các Nodes có thể được set up trên nhiều máy tính với nhiều trình duyệt khác nhau.
2. Common configure
Để có thể sử dụng Selenium Grid, tất cả các máy (bao gồm máy Hub và các máy Nodes) đều phải cài đặt các ứng dụng sau:
-
Java
Download tại link https://www.java.com/en/download/ và thực hiện cài đặt trên máy tính. Run câu lệnh sau trên Command Line để kiểm tra xem Java đã được cài đặt thành công hay chưa và kiểm tra version của Java:
java -version.
-
Selenium Server Standalone
Mỗi máy trong mô hình Grid cần cài Selenium Server Standalone để có thể nhận lệnh, hiểu và thực thi các kiểm thử của Selenium. Download và cài đặt tại đây: http://docs.seleniumhq.org/download/
3. Configure the Hub
-
Cài đặt:
Máy Hub là nơi chứa folder source code của project Selenium. Cài đặt Hub bằng Command Line:
java -jar selenium-server-standalone-2.53.0.jar -port 9090 -role hub -browserTimeout 2000 -timeout 2000
Trong đó:
“selenium-server-standalone-2.53.0.jar” là tên của file Selenium Server Standalone JAR
“ 9090” là port được của máy Hub. Port này tùy chọn theo ý người dùng. Nhưng chú ý đừng dùng những port đặc biệt của các website hoặc tool khác.
-
Kiểm tra cài đặt:
Sau khi run lệnh Command Line, mở browser tại link https://localhost:9090 (9090 là port của Hub đã được cài đặt)
Click Console link để xem details mô hình Grid
4. Configure the Nodes
-
Cài đặt Firefox Nodes:
Tại máy cài đặt Nodes, kiểm tra đường dẫn folder Selenium Server Standalone Cài đặt Nodes bằng Command Line: java -jar selenium-server-standalone-2.53.0.jar -role node -hub http://%HUB_HOST%:%HUB_PORT%/grid/register -browser browserName=firefox -port %NODE_PORT%
Trong đó:
%HUB_HOST% là IP address của máy Hub.
%HUB_PORT% là port của máy Hub đã được đăng ký.
%NODE_PORT% là port của máy Nodes (tùy chọn).
-
Cài đặt IE và Chrome nodes:
Selenium chạy trên nền driver default là Firefox driver, vì vậy, cần thiết lập khác để có thể sử dụng IE và Chrome driver. Sử dụng Command Line sau:
java -Dwebdriver.ie.driver=src esourcesIEDriverServer.exe -jar selenium-server-standalone-2.53.0.jar -role webdriver -hub http://%HUB_HOST%:%HUB_PORT%/grid/register -browser browserName=ie,platform=WINDOWS -port %NODE_PORT%
Trong đó “ Dwebdriver.ie.driver=src esourcesIEDriverServer.exe” là link dẫn đến folder chứa file driver.
Tương tự cho Chrome driver.
-
Kiểm tra cài đặt: Command Line sẽ có thông báo đã cài đặt thành công
Quay lại máy Hub và refresh Console page, Nodes đã đăng ký sẽ hiện tương ứng
5. Create the script and XML
Tạo file XML tại folder project Selenium với các thông tin tương ứng của các Nodes với format như sau:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="SeleniumTest” > <test name="FirefoxTest"> <parameter name="browser" value="FF" /> <parameter name="ip" value="192.168.190.189" /> <parameter name="port" value="6666" /> <classes> <class name="test1" /> <class name="test2" /> </classes> </test> </suite>
6. Create the Bat file
Tạo bat file sử dụng dạng .bat và mở bằng notepad++ để edit với nội dung như sau:
set ProjectPath=%~dp0 cd %ProjectPath% java -classpath "%ProjectPath%bin;%ProjectPath%libs*" org.testng.TestNG "%ProjectPath%binTestGrid.xml" pause
II. How to use
- Chạy Command Line để set up máy Nodes và luôn bật trong quá trình thực thi kiểm thử
- Tại máy Hub, chạy file .bat để ra lệnh cho các máy Nodes thực thi kiểm thử