TestNG配置技巧
众所周知,testng.xml是TestNG框架的重要配置文件,相关的配置项也非常多,网上有很多专题来讲这方面的东西,需要的话可以去查一下。在这里我们讲一下如何写这个配置文件,能让报告显得比较清晰,出错后容易定位。
常用的配置就是在配置文件testng.xml中把测试用例都给写出来,如:
此时是把一个测试工程Test中的所有测试用例,都罗列到一个test标签里,运行测试用例的时候,会把所有的测试用例执行一遍,而且报告如下:
在报告的左侧有一个Test-LoginTest,右边则是所有的测试用例。要想查看测试用例的情况,则点击右边测试用例项即可展开。
但是这样写虽然不影响测试用例的执行,但有如下几个缺点:
1,如果并发执行的话,可以用methods级来执行,但是通常一个测试用例中的多个方面之间有相关的,不是太好,我们通常以tests为单位来执行。此时,如果Testng.xml这样写的话,就会被当成一个线程中的测试用例,达不到多线程的效果。
2,当一个测试文件中包含多个测试方法时,这样写就无法清楚地分辨出多个方法了,如果执行出错,不方便定位。
3,如果在一个测试用例中打开多个窗口的话,Webdriver的quit()函数无法将所有的窗口关闭。
所以我们需要调整一下testng.xml文件的写法,以一个测试文件为一个测试用例的方法来写,如:
此时以测试文件为单位,一个测试文件就是一个Test,报告清楚明了。
并且如果一个测试文件中有多个方法,单击左边对应的测试文件名,会在右边展开文件中的所有方法,如下图:
从属关系一目了然,出错的时候方便定位调试。
此时设置多线程的时候,以Tests为单位,各个测试文件会以不同的线程开执行。而我们在设计测试文件的时候,相互之间是没有耦合的,互不影响。一个测试Test执行完后,完成清理工作,而后再执行其他的测试用例,因此不会出现多窗口不被关闭的情况。
这只是一个简单的Testng配置技巧,大家可以根据需要,对其做灵活的设置,使报告达到自己的要求。