TestNG之XML文件配置

Test.xml文件可以更方便的管理和执行测试用例

一、Test.xml-suite:

suite为Test.xml的根节点
@name: suite的名称,必须参数,会体现在测试报告中
@parallel:是否多线程并发运行测试
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@object-factory:一个实现IObjectFactory接口的类,用来实例测试对象
@preserve-order:顺序执行开关,可选值(true | false) “true”
@group-by-instances:是否按实例分组,可选值(true | false) “false”

二、Test.xml-test:

@name:test的名字,必选参数,会体现在测试报告中。
@parallel:是否多线程并发运行测试
@enabled:设置当前test是否生效,可选值(true | false),默认"true"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) “true”
@group-by-instances:是否按实例分组,可选值(true | false) “false”

三、全局参数Parameter

此属性在xml文件不是非必要的属性,如果测试用例中有使用@Parameter定义的参数,则需要填写此属性。

xml文件

<parameter name="url" value="https://www.baidu.com" />
<parameter name="data" value="全局变量" />

测试用例

@Parameters({"url","data"})
@Test
public void test_case2_1(String url,String data){}

四、调用测试方法

调用测试类:执行com.selenium.TestNGcase.testcase2类中所有@Test方法

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none">
    
    <test name="Selenium+TestNG">
        <classes>
            <!-- 执行中的所有@test方法 -->
            <class name="com.selenium.TestNGcase.testcase2" /> 
        </classes>
    </test>
</suite>

调用测试类中的具体方法:执行com.selenium.TestNGcase.testcase2类中方法名为test_case_2_1的测试方法

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none">
    
    <test name="Selenium+TestNG">
        <classes>
            <class name="com.selenium.TestNGcase.testcase2">
                <methods>
                    <include name="test_case_2_1"></include>
                </methods>
            </class>
        </classes>
    </test>
</suite>

组测试

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium-测试脚本集" parallel="none">    
    <test name="Selenium+TestNG">
        <groups>
            <run>
                <include name = "yuhao" />
            </run>
            <classes>
                <class name = "com.selenium.TestNGcase.testcase2" />
            </classes>
        </groups>
    </test>
</suite>

测试用例

@Test(groups="yuhao")
    public void test_case2_1(String url,String data) throws InterruptedException{
}
    
@Test(groups="yuhao")
public void test_case2_2(){
    System.out.println("test_case2_2");
}

五、Suite-files

由于testng.xml中只能设置一个标签,通过标签可以实现允许多个测试集一起执行。

<?xml version="1.0" encoding="UTF-8"?>
<suite name="Selenium">
    <suite-files>
        <!--模块1-->
        <suite-file path="TestNG_1.xml"></suite-file>
        <!--模块2-->
        <suite-file path="TestNG_2.xml"></suite-file>
    </suite-files>
</suite>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值