首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在TestNG中设置全局参数?

有没有办法在TestNG中设置全局参数?
EN

Stack Overflow用户
提问于 2018-09-10 15:10:49
回答 1查看 1.2K关注 0票数 2

我目前正在使用Selenium WebDriver框架和TestNG实现web应用的自动化。我想在testing.xml文件中为每个测试类提供参数,但在web资源中,我只看到了预定义某些参数以用于单个类的方法,如:

代码语言:javascript
复制
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parameterization Test Suite">
<test name="Testing Parameterization">
<parameter name="browser" value="Firefox"/>
<parameter name="username" value="testuser"/>
<parameter name="password" value="testpassword"/>
    <classes>
        <class name="com.parameterization.TestParameters" />
    </classes>
</test>
</suite>

其中,类名称清楚地表明只有一个TestParameters类。

有没有办法将一些参数设置为全局参数?所以我们可以在项目中的任何测试类中使用它们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-10 15:17:45

我不确定我是否理解了您的问题,但是您可以在套件级别(在示例suite-param中为每个测试)或在测试级别上定义参数:

摘自https://howtodoinjava.com/testng/testng-test-parameters-through-testng-xml-and-parameters-annotation/

代码语言:javascript
复制
<suite name="Parameter test Suite" verbose="1">
    <!-- This parameter will be passed to every test in this suite -->
    <parameter name="suite-param" value="suite level parameter" />
    <test name="Parameter Test one">
        <classes>
            <class name="com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name="prameterTestOne" />
                </methods>
            </class>
        </classes>
    </test>
    <test name="Parameter Test two">
        <!-- This parameter will be passed this test only -->
        <parameter name="test-two-param" value="Test two parameter" />
        <classes>
            <class name="com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name="prameterTestTwo" />
                </methods>
            </class>
        </classes>
    </test>
    <test name="Parameter Test three">
        <!-- Overriding suite level parameter -->
        <parameter name="suite-param" value="overiding suite parameter" />
        <!-- Test specific parameter -->
        <parameter name="test-three-param" value="test three parameter" />
        <classes>
            <class name="com.howtodoinjava.test.ParameterTest">
                <methods>
                    <include name="prameterTestThree" />
                </methods>
            </class>
        </classes>
    </test>
</suite>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52252719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档