2014-12-08 154 views
0

我想用不同的参数并行运行测试用例。我的testng.xml看起来像这样如何使用selenium + testng并行运行测试用例

<suite name="Automation Testing" preserve-order="true"> 

     <parameter name="browser" value="@[email protected]"/> 

     <test name="Login"> 
      <classes> 
      <class name="common.Login" > </class> 
      </classes>  
     </test>  

    </suite> 

的Java类,它接受参数

@parameters({'browser'}) 
    @beforesuite 
    public void login(String browser){ 
    if(broswer.equals('ff')){ 
     WebDriver driver = new FirefoxDriver() 
    } 
    } 

我已经通过这个环节https://stackoverflow.com/questions/14625256/how-to-run-the-test-in-parallel-using-selenium-webdrivertestng了......但我还没有什么出它...请让我知道我该怎么做.....

+1

你为什么不把并行=“测试”你的testng.xml – Paras 2014-12-08 05:48:20

+0

各个地方建立你会通过@浏览器@从? – 2014-12-08 06:50:55

+0

@pArAs ya,但我想运行不同的参数。可以说,第一个实例应该调用ff浏览器,第二个实例应该调用chrome浏览器。 – sharan 2014-12-08 12:51:20

回答

0

如果你想让相同的测试用例在不同的浏览器上运行,有不同的方法。

  1. 在我们的xml文件中定义多个<test>并具有单独的参数。您需要为每个@ BROWSER @ @ @ @ BROWSER1,@ BROWSER2重新命名。然后运行parallel = tests,这会在不同的浏览器上触发相同的测试用例。但是,这种方法的问题是,您将不得不始终向您的ant提供固定数量的浏览xml

  2. 另一种方法是向@ BROWSER @参数提供逗号分隔列表。使用数据提供者进行拆分并创建驱动程序实例。设置parallel =方法。

  3. 设置parallel =方法。控制基于浏览器的paralle从外部即​​触发运行,如果你正在使用像詹金斯与@浏览器不同的参数值@

相关问题