2017-01-13 76 views
0

我有一个项目有Grid + Selenium + Java + Testng + maven。 有没有一种方法来设置,即将运行测试的人他将能够通过他自己的配置来覆盖默认配置?如何通过詹金斯配置覆盖自动化配置

这里是一个I`M运行我的testng.xml文件:

<suite name="TestSuite" parallel="tests"> 


    <test name="firefox test"> 
     <parameters> 
      <parameter name="platform" value="MAC" /> 
      <parameter name="browser" value="firefox" /> 
      <parameter name="version" value="50.1.0" /> 
      <parameter name="url" value="google.com" /> 
     </parameters> 
     <classes> 
      <class name="com.ParallelTest.CreateRandomProfileTest"/> 
      <class name="com.ParallelTest.LogInTest"> 

      </class> 
     </classes> 
    </test> 




</suite> 

例如,如果有人想在Win运行针对Chrome的5次测试?如何在不改变代码的情况下传递它,以及它应该被覆盖的位置。有人可以给我一个资源链接,我可以检查它吗?谢谢!

+0

似乎是一个有效的问题。不必关闭! – vins

回答

1

它可以通过Jenkins的文件参数插件轻松完成。

https://wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build

即,让我们假设这个默认的文件夹结构

data 
pageobjects 
tests 
suite.xml 

现在的用户上传自己的suite.xml版本的工作区和运行工作。

Jenkins将从源代码管理/ github中提取项目,并将suite.xml替换为用户上传的项目并运行该项目。


你也可以尝试这种方式。

Pass variable from jenkins to testng.xml