12/08/2018, 13:51

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.

Screenshot from 2016-09-23 08-42-30.png

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.
    

    Screenshot from 2016-09-23 08-44-39.png

  • 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)

    Screenshot from 2016-09-23 08-47-19.png

Click Console link để xem details mô hình Grid

Screenshot from 2016-09-23 08-47-29.png

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

    Screenshot from 2016-09-23 08-54-30.png

    Quay lại máy Hub và refresh Console page, Nodes đã đăng ký sẽ hiện tương ứng

Screenshot from 2016-09-23 08-55-17.png

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

Screenshot from 2016-09-23 08-59-53.png

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ử
0