引言:
我们在执行自动化测试用例的时候可能会发现这样一种现象,取类名的时候是按字母顺序去取的,但自动执行的时候却是天女散花哗啦啦啦乱成一团并没有遵循任何的顺序,就像这样:
写的时候是美美的井然有序:
执行的时候就是乱糟糟:
上面的05和01就很烦的自动换了位置。
既然我们已经按照流程写好了代码,当然想按我们的想法来执行它。
那麽我们要怎么有计划有顺序地控制测试用例们的执行顺序呢,客官来来来往里走:
首先,我们需要参考我的另一篇博文:https://blog.csdn.net/qq_36396763/article/details/89295006
里面主要是介绍了在一个类中如何控制用例的执行顺序,我们所需要看的是其中的testNG配置方法。
如果懒的话就直接往下看好啦,我给你们粘过来了:
一、创建TestNG.xml
配置之前我们需要先找到TestNG的配置文件TestNG.xml,在创建完项目并引入TestNG后,并不会自动生成TestNG.xml,需要我们手动创建,创建方法就是这样啦:
①在项目上右键,选择TestNG-Convert to testNG。
②进到如下页面,然后一顿next最后finish即可:
③然后我们就可以在工程里看到最下方多出了一个TestNG.xml配置文件:
④双击它即可进行编辑
至此我们就建好了地基,我们可以在上图中看到今天的主角:
我们就使用它来控制类的执行顺序。
二、我们直接上代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="QualinkTestSuite">
<test name="QualinkTest_Login" preserve-order="true">
<classes>
<class name="inspur.qualink_test.Test00_Qualink"/>
<class name="inspur.qualink_test.Test01_OrganizeInfo"/>
<class name="inspur.qualink_test.Test05_Standard"/>
</classes>
</test> <!-- Test -->
<listeners>
<listener class-name="org.uncommons.reportng.HTMLReporter" />
<listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
</suite> <!-- Suite -->
解析:
首先是test标签内的preserve-order=“true”,他表示会按照我们在其中所写的顺序来执行。
其次我们要写全对应的类的路径,然后按我们想要的执行顺序来按顺序把类名写进去。
现在再执行,就是按照我所设置的00,01,05 的顺序执行啦!
PS:本文是讲述如何控制各个测试类的执行顺序,如果你是要找要控制类的内部各个测试方法的执行顺序的方法,详见我的这篇博客啦:https://blog.csdn.net/qq_36396763/article/details/89252752
软件测试工程师一只,也在不断的学习阶段,平时的小经验不定期分享。
博主经验有限,若有不足,欢迎交流,共同改进~
愿与同在CSDN的你共同进步。
有意可加QQ1255187803交流学习。