猿问

如何在特定测试中在运行时添加参数

我在suite.xml文件中有多个测试标签,如下所示:


<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite thread-count="1" verbose="1" name="UK-Suite"

    skipfailedinvocationcounts="false" junit="false" parallel="methods"

    data-provider-thread-count="2" annotations="JDK">


    <test verbose="2" name="AuthTxn-Tests"

        annotations="JDK" preserve-order="true">

        <parameter name="testDataFileXLS"

            value="src/test/resources/testdata/TxnTestData/AdjustTestCases.xlsx" />

        <parameter name="declineDataFileXLS"

            value="src/test/resources/testdata/TxnTestData/DoubeTests.xlsx" />

        <parameter name="token"

            value="src/test/resources/testdata/TestDefaults.json" />

        <classes>

            <class name="com.amazon.test.e2e.token.PPTest">

            </class>

        </classes>

    </test>

    <test verbose="2" name="LUTON-AuthTxn-Tests" annotations="JDK"

        preserve-order="true">

        <parameter name="testDataFileXLS"

            value="src/test/resources/testdata/TxnTestData/AuthTxnTestCases.xlsx" />

        <parameter name="declineDataFileXLS"

            value="src/test/resources/testdata/TxnTestData/DoubeTests.xlsx" />

        <parameter name="token"

            value="src/test/resources/testdata/TestDefaults.json" />

        <classes>

            <class name="com.amazon.test.e2e.token.PPTest">

            </class>

        </classes>

    </test>

    </suite>

我只想<parameter name="OS" value="linux"/>在运行时添加@Test 方法到特定测试之前。所有测试标签都有一个通用类,但它会根据测试数据执行不同的流程。我只想在运行时为特定的测试名称(如“AuthTxn-Tests”)添加参数。


任何线索?


慕标5832272
浏览 236回答 2
2回答

MMMHUHU

您可以尝试@Optional看的javadoc如果未指定任何内容,TestNG 将使用您的默认值或 null 初始化此类参数,并且测试不会因缺少参数而失败。
随时随地看视频慕课网APP

相关分类

Java
我要回答