当前位置: 首页 > 面试题库 >

将变量从jenkins传递到testng.xml

高寒
2023-03-14
问题内容

我想根据例如从jenkins传递的变量来运行测试用例,请选择要运行的测试用例:testcaseOne,testcaseTwo

在pom.xml(maven)中:

    <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                    <configuration>

                        <suiteXmlFiles>
                        <suiteXmlFile>testng.xml</suiteXmlFile>
                        </suiteXmlFiles>

                        <systemPropertyVariables>
                        <chooseCase>${chooseCase}</chooseCase>   <--this dont work
                        </systemPropertyVariables>

                        <parallel>tests</parallel>
                        <threadCount>10</threadCount>

                    </configuration>
</plugin>

我有两个testng @test方法

@Test(groups="caseOne")
@Test(groups="caseTwo")

还有我的testng.xml文件:

<test name="Test">
    <groups>
    <run>
      <include name="${chooseCase}"/>
    </run>
    </groups>
    <classes>
      <class name="AppTest"/>
      <class name="AppTest2"/>
    </classes>
  </test> <!-- Test -->

如何根据我要运行的测试数量和数量来传递此参数?也许有完全不同的方式来做到这一点?


问题答案:

您可以在testng.xml文件http://testng.org/doc/documentation-
main.html#beanshell中
使用BeanShell脚本,并在其中读取系统变量,例如:

<test name="Test">
    <method-selectors>
        <method-selector>
            <script language="beanshell">
                <![CDATA[
                    String myTestGroup = System.getProperty("chooseCase");
                    groups.containsKey(myTestGroup);
                ]]>
            </script>
        </method-selector>
    </method-selectors>

    <classes>
        <class name="AppTest"/>
        <class name="AppTest2"/>
    </classes>
</test>


 类似资料:
  • 问题内容: 我从Jenkins触发了一个shell脚本,该脚本获取日期并将其导出为环境(Linux)变量$ DATE。我需要在同一詹金斯工作中使用此$ DATE。我做了工作作为参数构建。创建一个字符串参数作为DATE值,如DATE = $ DATE。但这是行不通的。 请建议! 问题答案: 您提到要在外壳程序脚本中导出环境变量,该脚本可能是通过“执行外壳程序”步骤启动的。 问题是,一旦完成外壳程序步

  • 问题内容: 我看过类似的论坛,但无法获得任何有效的解决方案。我正在尝试将变量从Flask传递到我的JavaScript文件。这些值将用于我的JavaScript文件中的PubNub。 这是我的Python代码的一部分: 这是我的JavaScript代码(app.js)的一部分: 如果我在Settings.html文件中使用了此代码,而在app.js文件中却没有使用,则此代码有效。 问题答案: 该m

  • 问题内容: 我正在使用Google Maps制作可以加载数据库中包含经纬度数据的标记的地图。我希望用户可以通过单击按钮来加载三个不同的“图层”。单击该按钮时,将在服务器上执行php函数,从而根据数据库中的信息创建xml文件。然后调用AJAX函数提取此xml数据,然后将其用于创建地图标记。没有为每个“层”使用单独的PHP函数(除了SQL查询所在的行,这是相同的东西),有没有办法将AJAX中的java

  • 问题内容: 我似乎无法从php中将变量传递给我的bash脚本。无论我如何尝试,$ uaddress和$ upassword都变为空。 *_ __ _ __ __ * __ __ bash * __ __ * * ** *_ __ _ __ * PHP __ * __ __ * __ ** *_ __ _ _ _输出和调试 _ _ _ * *_ 问题答案: 您需要将变量作为参数传递给Shell脚本,

  • 问题内容: 我正在尝试将变量从node.js传递到我的HTML文件。 问题答案: 我发现我可以传递这样的变量

  • 问题内容: 这开始让我发疯..但是似乎我很没办法亲自找出来:/ 我需要设置一个机制,以共享字符串值两个从机,例如,名为从属 甲 和从 乙 。 但是它仍然旨在使能够在buildscript中进行访问,而不是在Slaves环境变量本身中进行访问。(相关的SO问题:在Windows批处理命令的Jenkins中如何使用环境变量? 目前,我有此设置: 1)在 一个 工作 一个 被触发。 它执行以下Windo