1

我正在使用 Selenium Grid 和 TestNG 来测试网站。我从 Selenium IDE 导出的测试代码运行良好。我的问题是,测试是按顺序运行的,而不是并行运行的。

这是代码:

public class test{

    @BeforeMethod
    public void startSession()
    {
        ThreadSafeSeleniumSessionStorage.startSeleniumSession("localhost",4444,"*firefox","url" );
    }

    @AfterMethod(alwaysRun = true)
    public void closeSession() throws Exception
    {
      ThreadSafeSeleniumSessionStorage.closeSeleniumSession();
    }

    @DataProvider(name = "test")
    public Object[][] test()
    {
        return new Object[][]{
        {test1,null},
        {test2,null},
        };
}

 @Test(dataProvider = "test")
 void testen(String value1, String value2) throws Exception
  {
     ThreadSafeSeleniumSessionStorage.session().open("url");
     .
     .
     .
     .
     .
     ThreadSafeSeleniumSessionStorage.session().waitForPageToLoad("30000");
    }

}

我的 testng.xml 看起来像这样:

套件线程计数=“5”skipfailedinvocationCounts=“假”详细=“1”名称=“命令行套件”junit=“假”并行=“方法”注释=“JDK”

我究竟做错了什么?该测试仅在一个 Selenium RC 上运行,尽管启动了多个。

我希望有人可以帮助我,这真的很重要。

谢谢!

4

1 回答 1

1

升级到实现并行数据提供程序的 TestNG 5.11。以前的版本总是在同一个线程中调用所有数据提供者调用......

——塞德里克

于 2010-01-07T17:31:02.183 回答