Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在使用TestNG执行并行测试(Firefox和chrome)时面临问题,_Java_Testng - Fatal编程技术网

Java 在使用TestNG执行并行测试(Firefox和chrome)时面临问题,

Java 在使用TestNG执行并行测试(Firefox和chrome)时面临问题,,java,testng,Java,Testng,在执行过程中,web驱动程序被初始化,步骤在两个不同的线程中正确执行 当一个线程完成其执行时,下一个线程停止其执行而不抛出任何错误。 我没有使用静态变量和 请帮助我修复相同的问题,我的xml如下所示 <test name="chrometest"> <parameter name="browser" value="firefox" /> <classes> <class name="AutomationEngine.Dri

在执行过程中,web驱动程序被初始化,步骤在两个不同的线程中正确执行

当一个线程完成其执行时,下一个线程停止其执行而不抛出任何错误。 我没有使用静态变量和 请帮助我修复相同的问题,我的xml如下所示

<test name="chrometest">
    <parameter name="browser" value="firefox" />
    <classes>
        <class name="AutomationEngine.Driver" />
    </classes>
</test>

<test name="test2">
    <parameter name="browser" value="chrome" />
    <classes>
        <class name="AutomationEngine.Driver" />

    </classes>
</test>


}

首先,请提供一些代码示例、testNg套件文件等。这一小部分信息无法回答。什么驱动程序、浏览器的哪个版本、一些代码示例、testsuite.xml示例等等。更新了testsuite xmlplz提供的脚本还确认了“AutomationEngine”您的包名是否是作为“驱动程序”的精确类名?应该是
long firefox, chrome;

@Parameters("browser")
@BeforeTest
public void beforeTest(final String browser) throws Exception
{

    if (browser.equals("firefox"))
    {
        System.setProperty("webdriver.gecko.driver",
                "E:\\old laptop\\workspace\\mobile-automation\\TestMyBlood\\References\\geckodriver.exe");

    }
    else
    {
        System.setProperty("webdriver.chrome.driver",
                "C:\\Users\\divya\\Downloads\\chromedriver_win32\\chromedriver.exe");

    }
    setUpWebDriver(browser);
}

private synchronized void setUpWebDriver(final String browser)
{
    DesiredCapabilities capabilities = browser.equals("firefox") ? DesiredCapabilities.firefox()
            : DesiredCapabilities.chrome();
    capabilities.setBrowserName(browser);
    // capabilities.setPlatform(Platform.WIN10);
    driver = browser.equals("firefox") ? new FirefoxDriver(capabilities)
            : new ChromeDriver(capabilities);
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.manage().window().maximize();

    printer("beforeTest : " + browser);
    Thread t = Thread.currentThread();
    if (browser.equals("firefox"))
    {

        firefox = t.getId();
    }
    else
    {
        chrome = t.getId();

    }
}

@AfterTest
public synchronized void AfterTest() throws Exception
{
    if ((Thread.currentThread().getId()) == (chrome))
    {
        System.out.println("closing driver is chrome");
        driver.quit();
    }
    else
    {
        System.out.println("closing driver is firefox");
        driver.quit();
    }

}

public WebDriver getDriver()
{
    return driver;
}

protected void printer(final String methodName)
{
    final String msg = String.format("%s() is running on Thread id [%d]", methodName,
            Thread.currentThread().getId());
    System.err.println("[DEBUGGER] :" + methodName);
    System.out.println(msg);

}