testng
转自:http://blog.csdn.net/five3/article/details/10550733
TestNG的执行有2种基本方式:
1、通过指定的XML文件来规定要执行的用例文件和用例【适用于批量】
2、通过命令行参数来指定运行的用例文件和用例【适用于较少的用例文件】
XML模板:【保存为testng.xml】
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
- <suite name="Default suite">
- <test verbose="2" name="Default test">
- <classes>
- <class name="JavaSeleniumTestCase110"/> <!-- 针对没有用package管理的测试用例文件 -->
- <class name="com.package.Test02"/> <!-- 包.类名的方式调用,针对用package来管理的测试用例文件 -->
- </classes>
- </test> <!-- Default test -->
- <test name="Regression1" preserve-order="false"> <!-- 默认顺序执行为关闭,即非顺序方式执行 -->
- <classes>
- <class name="com.package.Test1">
- <methods>
- <include name="m1" /> <!-- 列出指定要执行的方法 -->
- <exclude name="m2" /> <!-- 列出指定不执行的方法 -->
- </methods>
- </class>
- </classes>
- </test>
- <test verbose="3" name="test2">
- <groups>
- <run>
- <exclude name="brokenTests" /> <!-- 列出指定不执行的组 -->
- <include name="checkinTests" /> <!-- 列出指定要执行的组 -->
- </run>
- </groups>
- <packages>
- <package name="com.sample1" /> <!-- 执行com.sample包下的所有测试用例文件 -->
- <package name="com.sample2" />
- </packages>
- </test>
- </suite>
xml的调用命令:【testng.xml可以使用绝对路径】
- java org.testng.TestNG testng.xml,testng2.xml, ...
命令行的调用命令:【不带包名和带包名的调用方式】
- java org.testng.TestNG -testclass JavaSeleniumTestCase110
- java org.testng.TestNG -testclass package.JavaSeleniumTestCase111
注:
什么时候带包名?【不管哪种形式的调用】
只有测试用例文件的代码里使用了包来管理时才使用,直接使用包的全路径即可。如:com.test.testcase
无法找测试用例类文件?
这里要注意执行时,testNG会在classpath中查找测试用例文件,所以需要让测试文件classpath下可以找到即可。
如何设置测试文件到classpath?
如果测试代码中使用了包管理,则把顶层包的父目录添加到classpath即可。
如果测试文件代码没有用到包管理,则直接把测试用例文件的父目录添加到classpath即可;
此外可以通过命令行直接设置classpath:
- java -classpath "%classpath%;D:\path\to\your\testfiles" org.testng.TestNG -testclass package.JavaSeleniumTest
不积跬步,无以至千里