繁体   English   中英

测试级别 testng XML 参数未更新

[英]Test level testng XML parameter is not getting updated

我们在 TestNG XML 的测试级别(2 个或更多测试)声明了一个参数,如下所示。

<test name="Regression Tests - Test1">
    <parameter name="TestData" value = "Sample.xls" />
    <parameter name="VaultName" value = "Test Vault" />
    <parameter name="RestoreVault" value = "Test1" />
    <groups>
        <run>
            <exclude name="Bug"></exclude>
        </run>
    </groups>
    <classes>
        <class name="Project.Tests.RegTest1"/>
     </classes>
</test>

<test name="Regression Tests - Test2">
    <parameter name="TestData" value = "Sample.xls" />
    <parameter name="VaultName" value = "Test Vault" />
    <parameter name="RestoreVault" value = "Test2" />
    <groups>
        <run>
            <exclude name="Bug"></exclude>
        </run>
    </groups>
    <classes>
        <class name="Project.Tests.RegTest2"/>
     </classes>
</test>

使用以下代码在脚本中访问参数值

function test () {
  XmlTest xmlParameters = Reporter.getCurrentTestResult().getTestContext().getCurrentXmlTest();
  String param1 = xmlParameters.getParameter("RestoreVault");
}

param1 的值被正确读取为“Test1”,但在执行第二次测试时,值保持与“Test1”相同,而不是“Test2”。

您能否在这里告诉我们原因或建议。

改用 <methods> ,因为当使用 <groups> 时,第二次测试没有正确传递参数 - 它对我有用:

<test name="tests2">
    <parameter name="filter.tags" value="@yourTag"/>
    <classes>
        <class name="com.your.TestClass">
            <methods>
                <include name="myTestMethod"/>
            </methods>
        </class>
    </classes>
</test>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM