TestNG.xml参数配置-如何控制部分执行@test方法

测试的过程中,我们经常遇到只想执行脚本中某一部分的测试用例,如果每次都通过注释掉不需要执行的那部分脚本的方式,一个是容易出错,二是比较花费时间和精力,这时就可以通过testng.xml中的一些参数配置来设置。

 

(1)利用groups参数

测试脚本为:

 

public class test{  
    @Test(groups = { "A", "B" })  
    public void testMethod1() {  
        System.err.println("groups = {A,B}");  
    }  
  
    @Test(groups = { "A" })  
    public void testMethod2() {  
        System.err.println("groups = {A}");  
    } 
   @Test(groups = { "B" })  
    public void testMethod3() {  
        System.err.println("groups = {B}");  
    } 
} 

 

xml文件为:

 

1.<?xml version="1.0" encoding="UTF-8"?>
2.<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
3.<suite name="suite1">
4. <groups>  
5.            <run>  
6.                <include name="A" />  
7.                <exclude name="B" />  
8.            </run>  
9.        </groups>  
11.	<test name="test" preserve-order="true">	
12.		<parameter name="url" value="http://123.57.56.45:7778/initLogin" />
13.		<parameter name="username" value="999111" />
14.		<parameter name="password" value="111111" />
15.		<classes >
16.		<class name="com.testng.test"/ >
18.		</classes>
19.	</test>
20.</suite>		<parameter name="url" value="http://123.57.56.45:7778/initLogin" />
13.		<parameter name="username" value="999111" />
14.		<parameter name="password" value="111111" />
15.		<classes >
16.		<class name="com.testng.test"/ >
18.		</classes>
19.	</test>
20.</suite>

 

 

执行结果:只会执行testMethod2

 

(2)利用methods中的include和exclude 

如果在methods中标识了@test的方法,也可以在method中通过include和exclude来控制需要执行哪些方法

测试脚本为:

 

public class test{  
    @Test
    public void testMethod1() {  
        System.out.println("testMethod1");  
    }  
  
    @Test
    public void testMethod2() {  
        System.out.println("testMethod2");  
    }
 @Test
    public void testMethod3() {  
        System.out.println("testMethod3");  
    } 

} 


xml文件为:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="suite1">
	<test name="test" preserve-order="true">	
		<parameter name="url" value="http://123.57.56.45:7778/initLogin" />
		<parameter name="username" value="999111" />
		<parameter name="password" value="111111" />
		<classes >
		<class name="com.testng.test" >
	<methods>
		<include name="testMethod1" />
		<exclude name="testMethod2" />
		<include name="testMethod3" />
	</methods>
		</class>
		</classes>
	</test>
</suite>
		<parameter name="url" value="http://123.57.56.45:7778/initLogin" />
		<parameter name="username" value="999111" />
		<parameter name="password" value="111111" />
		<classes >
		<class name="com.testng.test" >
	<methods>
		<include name="testMethod1" />
		<exclude name="testMethod2" />
		<include name="testMethod3" />
	</methods>
		</class>
		</classes>
	</test>
</suite>

 

执行结果:先执行testMethod1,再执行testMethod3,这里也可以起到一个控制@test方法执行的作用,不需要在脚本中再添加priority 参数。

如果以上methods中的三个都为include,则执行顺序为testMethod1,testMethod2,testMethod3.

 

testng.xmlTestNG测试框架中的配置文件,用于定义测试套件、测试类和测试方法执行顺序、参数和其他设置。以下是一个典型的testng.xml文件的示例: ```xml <!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd" > <suite name="Test Suite" verbose="1"> <test name="Test Case 1"> <parameter name="browser" value="chrome" /> <classes> <class name="com.example.TestClass1" /> </classes> </test> <test name="Test Case 2"> <parameters> <parameter name="username" value="john" /> <parameter name="password" value="secret" /> </parameters> <classes> <class name="com.example.TestClass2" /> </classes> </test> <listeners> <listener class-name="com.example.CustomListener" /> </listeners> </suite> ``` 在这个示例中,testng.xml包含一个suite元素,表示整个测试套件。suite元素中包含了两个test元素,分别代表两个测试用例。每个test元素可以包含一个或多个classes元素,其中定义了要执行的测试类。 通过parameter元素,我们可以为测试方法提供参数值。在示例中,Test Case 1使用了一个名为"browser"的参数,并将其值设置为"chrome"。Test Case 2使用了两个参数:"username"和"password",并分别设置为"john"和"secret"。 listeners元素用于指定自定义的测试监听器。在示例中,我们指定了一个名为"com.example.CustomListener"的监听器类。 这只是testng.xml文件的一个简单示例,可以根据您的需求进行扩展和定制。在运行测试时,您可以使用testng.xml文件来配置测试套件的执行方式和参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值