SELENIUM Bài 11: TestNG Multi Browser Testing (Test trên nhiều trình duyệt khác nhau)

1. Multi Browser Testing là gì ?

  • Multi Browser Test có nghĩa là test trên nhiều trình duyệt khác nhau


Hình 1: Multi Browser Testing

2. Làm sao để có thể test trên nhiều trình duyệt khác nhau ?

Để test trên nhiều trình duyệt khác nhau chúng ta sẽ truyền tên trình duyệt chúng ta cần test vào trong test suite thành các parameter, và sau đó sẽ load các parameter này vào before method để khởi tạo đúng loại trình duyệt chúng ta cần.

3. Ví dụ về Multi Browser

Đề bài: Sử dụng testNG để đăng nhập trên nhiều trình duyệt

Bước 1: Tạo 1 project mới tên là BlogTestNGFirstTest, import toàn bộ thư viện của selenium, apache poi vào build path, ngoài ra còn phải add thêm file jquery-3.5.1.jar và commons-io-2.9.0.jar để tránh bị báo lỗi và dùng thứ liên quan đến file, các bạn có thể download file này TẠI ĐÂY.

Bước 2: Chuột phải vào package tests chọn New - Other - TestNG Class - Next - Điền class name là MultiBrowserTest- Tích chọn anotation @BeforeMethod, @AfterMethod  và  XML Suite file: điền MultiBrowserTest.xml - Nhấn Finish

Bước 3: Code theo framework TestNG, trong ví dụ này sẽ bao gồm 2 file đó là MultiBrowserTest.java và MultiBrowserTest.xml  đây là nội dung file code và giải thích File

File MultiBrowserTest.java

package tests;

import org.testng.annotations.Test;

import utils.Constants;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.Parameters;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.testng.annotations.AfterMethod;


public class MultiBrowserTest {

WebDriver driver;

@Test

//Phương thức này chứa test case login

public void LoginTest() {

driver.findElement(By.className("login")).click();

driver.findElement(By.id("email")).sendKeys("hocautotest@gmail.com");

driver.findElement(By.id("passwd")).sendKeys("12345678");

driver.findElement(By.id("SubmitLogin")).click();

driver.findElement(By.className("logout")).click();

}


@BeforeMethod

@Parameters("browser")

//Parameters này sẽ có tên giống với Parameter trong file MultiBrowserTest.xml

public void Setup(String browser) {

System.setProperty("webdriver.chrome.driver",

"D:\\Work\\Automation Test\\Selenium\\Tool\\Selenium\\Library\\Selenium-java-3.141.59 and Driver\\chromedriver.exe");

System.setProperty("webdriver.gecko.driver",

"D:\\Work\\Automation Test\\Selenium\\Tool\\Selenium\\Library\\Selenium-java-3.141.59 and Driver\\geckodriver.exe");

System.setProperty("webdriver.ie.driver",

"D:\\Work\\Automation Test\\Selenium\\Tool\\Selenium\\Library\\Selenium-java-3.141.59 and Driver\\IEDriverServer.exe");

//Nếu biến browser có có giá trị bằng firefox thì khởi tạo FireFox Driver, nếu biến browser có có giá trị bằng ie thì khởi tạo IE Driver, còn nếu không thì khởi tạo Chrome Driver

if (browser.equalsIgnoreCase("firefox")) {

driver = new FirefoxDriver();

} else if (browser.equalsIgnoreCase("ie")) {

driver = new InternetExplorerDriver();

} else {

driver = new ChromeDriver();

}


driver.manage().window().maximize();

driver.get("http://automationpractice.com/index.php");

}


@AfterMethod

public void tearDown() {

driver.quit();

}


}

File MultiBrowserTest.xml  

<?xml version="1.0" encoding="UTF-8"?>
<suite parallel="false" name="Suite">
  <test name="Test">
  <parameter name ="browser" value = "chrome"/> 
//Dòng này sẽ chứa name ="browser" và value là tên browser 
    <classes>
      <class name="tests.MultiBrowserTest"/>
    </classes>
  </test> <!-- Test -->

  <test name="Test FireFox">
  <parameter name ="browser" value = "firefox"/>
//Dòng này sẽ chứa name ="browser" và value là tên browser 
    <classes>
      <class name="tests.MultiBrowserTest"/>
    </classes>
  </test> <!-- Test -->

</suite> <!-- Suite -->

Giới thiệu về HIENDV94

Mình là Hiển. Đây là blog ghi chép lại những thứ mình trải qua và học được hàng ngày, mình luôn luôn muốn học hỏi để trau dồi kinh nghiệm, hoàn thiện bản thân. Rất mong được làm quen mọi người. Hãy kết bạn với mình qua Facebook các bạn nhé.

0 Bình luận:

Đăng nhận xét