【问题标题】:how to run test cases parallely using selenium + testng如何使用 selenium + testng 并行运行测试用例
【发布时间】:2014-12-09 13:38:48
【问题描述】:

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

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

      <parameter name="browser" value="@BROWSER@"/> 

        <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 ...但是我没有任何东西...请让我知道我该怎么做.....

【问题讨论】:

  • 为什么不在你的 testng.xml 中加入 parallel="tests"
  • 你要从哪里传递@browser@?
  • @pArAs ya,但我想使用不同的参数运行。可以说,对于第一个实例,它应该调用 ff browser ,对于第二个实例,它应该调用 chrome browser 。
  • 我通过 ANT 从用户(cmd)获取值(输入)。从 testng.xml 我将使用 @parameters 注释将这些参数传递给 login.java。
  • 那么你就可以在testng.xml的每一个Test中放入Parameter标签

标签: selenium selenium-webdriver testng


【解决方案1】:

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

  1. 在我们的 xml 文件中定义多个 &lt;test&gt; 并具有单独的参数。您需要为每个 @BROWSER@ 指定一个新名称,即 @BROWSER1、@BROWSER2。然后使用 parallel = tests 运行,这将在不同的浏览器上触发相同的测试用例。但是,这种方法的问题是您必须始终为您的 ant xml 提供固定数量的浏览次数

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

  3. 设置并行 = 方法。控制基于浏览器的并行从外部运行,即如果您使用像 Jenkins 之类的东西,并且为 @BROWSER@ 提供不同的参数值,则触发各种构建。

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 2016-04-25
    • 2018-09-29
    • 1970-01-01
    • 2015-08-14
    • 2022-01-23
    • 2016-08-20
    相关资源
    最近更新 更多