如何在 Selenium Webdriver 中處理會話?


藉助 Selenium webdriver 和 TestNG 框架,我們可以執行會話處理。為了觸發不同的會話,我們應該在 TestNG XML 檔案中使用屬性 parallel。

TestNG 執行配置是在 TestNG XML 中完成的。為了建立多個會話,我們將在 XML 檔案中新增屬性 - parallel 和 thread-count。

thread-count 屬性控制在並行模式下執行測試時要建立的會話數量。parallel 屬性的值設定為 methods。

在我們的示例中,我們將有三個具有三個不同會話 ID 的方法,它們並行執行。

示例

import org.openqa.selenium.WebDriver;
import org.testng.annotations.Test;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.SessionId;
public class TestNG10 {
   @Test
   public void myTest () {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //launch URL
      driver.get("https://tutorialspoint.tw/index.htm");
      //get session ID
      SessionId s = ((RemoteWebDriver) driver).getSessionId();
      System.out.println("Session Id is for method1: " + s);
   }@Test
   public void myTest1 () {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //launch URL
      driver.get("https://www.google.com/");
      //get session ID
      SessionId s = ((RemoteWebDriver) driver).getSessionId();
      System.out.println("Session Id is for method1: " + s);
   }@Test
   public void myTest2 () {
      System.setProperty("webdriver.chrome.driver",
         "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      //launch URL
      driver.get("https://tutorialspoint.tw/about/about_careers.htm/");
      //get session ID
      SessionId s = ((RemoteWebDriver) driver).getSessionId();
      System.out.println("Session Id is for method1: " + s);
   }
}

TestNG XML 實現。

<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" >
<!—parallel methods set for execution with 3 threads-->
<suite name="Test-Suite" parallel="methods" thread-count="3">
   <test name="Tutorialspoint" >
      <classes>
         <class name="TestNG10" />
      </classes>
   </test>
</suite>

輸出

更新於:2021 年 4 月 8 日

6K+ 瀏覽量

開啟你的 職業生涯

完成學習獲得認證

開始
廣告