Java 如何在DataProvider中获取testng类参数

Java 如何在DataProvider中获取testng类参数,java,xml,selenium,testng,Java,Xml,Selenium,Testng,我在类部分的testng.xml中有这样的参数。在dataProvider中准备测试时,我想获取serviceParameter以获取参数,我使用ITestContext,但它只显示测试节点中的参数 如何在类中获取参数 在@Test注释之前,添加@Parameters注释,然后在测试方法中添加一个数据类型为字符串的参数 例如,您的TestNG文件如下所示: <test name="IETest"> <parameter name="browser" val

我在类部分的testng.xml中有这样的参数。在dataProvider中准备测试时,我想获取
serviceParameter
以获取参数,我使用
ITestContext
,但它只显示测试节点中的参数

如何在类中获取参数


@Test
注释之前,添加
@Parameters
注释,然后在测试方法中添加一个数据类型为字符串的参数

例如,您的TestNG文件如下所示:

 <test name="IETest">

        <parameter name="browser" value="ie" />

        <classes>

            <class name="Tests" />
        </classes>
    </test>

@Test
注释之前,添加
@Parameters
注释,然后在测试方法中添加一个数据类型为字符串的参数

例如,您的TestNG文件如下所示:

 <test name="IETest">

        <parameter name="browser" value="ie" />

        <classes>

            <class name="Tests" />
        </classes>
    </test>

如果希望参数在整个类中都可用,那么可以在套件级别定义它,并在@beforeclass中初始化它

<suite name="Default suite" thread-count="5" group-by-instances="false" verbose="1" allow-return-values="false" parallel="none" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" preserve-order="true" skipfailedinvocationcounts="false">
  <parameter name="testParam" value="test123"/>
  ...
  ...
上面的照片

xml param from @beforeclass param through data provider:  test123
xml param from @beforeclass without DP: test123
configured param from data provider: 10
xml param from @beforeclass in different method: test123

如果希望参数在整个类中都可用,那么可以在套件级别定义它,并在@beforeclass中初始化它

<suite name="Default suite" thread-count="5" group-by-instances="false" verbose="1" allow-return-values="false" parallel="none" data-provider-thread-count="10" junit="false" configfailurepolicy="skip" preserve-order="true" skipfailedinvocationcounts="false">
  <parameter name="testParam" value="test123"/>
  ...
  ...
上面的照片

xml param from @beforeclass param through data provider:  test123
xml param from @beforeclass without DP: test123
configured param from data provider: 10
xml param from @beforeclass in different method: test123

不能在同一个类中使用@Parameters和DataProvider,我有很多数据。所以我必须使用DataProvider。在同一个类中使用@Parameters和DataProvider是不可能的,我有很多数据。所以我必须使用数据提供者。