簡體   English   中英

我可以使用單個驅動程序在 Selenium (Java) 中並行運行多個測試嗎?

[英]Can I use a single driver to run parallely multiple tests in Selenium (Java)?

按照我的項目的結構方式,它是由調用一個靜態驅動程序的所有函數組成的,因為我沒想到我需要同時進行許多測試。 現在我正在使用 TestNG,並且現在它正在打開多個測試並在其中一個窗口中執行兩個測試操作,從而有效地使測試崩潰。

發生這種情況是因為我所做的所有基本功能(例如單擊按鈕、登錄用戶等)都從我命名為 DriverManager 的類中調用靜態驅動程序。 為了改變這一點,我必須基本上重構整個代碼,將驅動程序作為我所做的大多數函數的入口對象。

有什么辦法可以只使用一個驅動程序使用 TestNG 並行進行測試嗎?

Yes you can do it ,

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="tests" thread-count="2">
    <test name="Test">
        <classes>
            <class name="Parallel"/>
        </classes>
    </test> <!-- Test -->
</suite> <!-- Suite -->



This is XML file 

Parallel is class name 

You can do parallel by **method,tests,classes and instances** 


following code for run test parallel

    import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;

public class Parallel {


   WebDriver driver;

    @Test
    public void test1() {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\User\\IdeaProjects\\SeleniumParallelTestingFinal\\src\\main\\resources\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();


        driver.manage().window().maximize();
        driver.get("https://www.google.com/");
        driver.findElement(By.name("q")).sendKeys("Testing");

    }

    @Test
    public void test2() {
        System.setProperty("webdriver.gecko.driver","C:\\Users\\User\\IdeaProjects\\SeleniumParallelTestingFinal\\src\\main\\resources\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();


        driver.manage().window().maximize();
        driver.get("https://www.google.com/");
        driver.findElement(By.name("q")).sendKeys("Testing");
    }

    public static void main(String[] args) throws Exception {

        System.out.println("WELCOME TO WORLD JESUS");



    }


    @AfterMethod
    public void tearDown()
    {

    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM