testng

转自:http://blog.csdn.net/five3/article/details/10550733

TestNG的执行有2种基本方式:

1、通过指定的XML文件来规定要执行的用例文件和用例【适用于批量】

2、通过命令行参数来指定运行的用例文件和用例【适用于较少的用例文件】

XML模板:【保存为testng.xml】

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">  
  3. <suite name="Default suite">    
  4.   <test verbose="2" name="Default test">    
  5.     <classes>           
  6.       <class name="JavaSeleniumTestCase110"/>  <!-- 针对没有用package管理的测试用例文件 -->  
  7.       <class name="com.package.Test02"/> <!-- 包.类名的方式调用,针对用package来管理的测试用例文件 -->  
  8.     </classes>  
  9.   </test<!-- Default test -->  
  10.   <test name="Regression1" preserve-order="false">  <!-- 默认顺序执行为关闭,即非顺序方式执行 -->  
  11.     <classes>   
  12.         <class name="com.package.Test1">  
  13.           <methods>  
  14.             <include name="m1" />   <!-- 列出指定要执行的方法 -->  
  15.             <exclude name="m2" />   <!-- 列出指定不执行的方法 -->  
  16.           </methods>    
  17.         </class>   
  18.     </classes>  
  19.   </test>  
  20.   <test verbose="3" name="test2">   
  21.     <groups>  
  22.         <run>  
  23.           <exclude name="brokenTests"  />   <!-- 列出指定不执行的组 -->  
  24.           <include name="checkinTests"  />  <!-- 列出指定要执行的组 -->  
  25.         </run>  
  26.     </groups>  
  27.     <packages>  
  28.       <package name="com.sample1" />  <!-- 执行com.sample包下的所有测试用例文件 -->  
  29.       <package name="com.sample2" />  
  30.    </packages>  
  31.   </test>   
  32. </suite>   


xml的调用命令:【testng.xml可以使用绝对路径】

  1. java org.testng.TestNG testng.xml,testng2.xml, ...  


命令行的调用命令:【不带包名和带包名的调用方式】

  1. java org.testng.TestNG -testclass JavaSeleniumTestCase110  
  2. java org.testng.TestNG -testclass package.JavaSeleniumTestCase111  

注:

什么时候带包名?【不管哪种形式的调用】

只有测试用例文件的代码里使用了包来管理时才使用,直接使用包的全路径即可。如:com.test.testcase

无法找测试用例类文件?

这里要注意执行时,testNG会在classpath中查找测试用例文件,所以需要让测试文件classpath下可以找到即可。

如何设置测试文件到classpath?
如果测试代码中使用了包管理,则把顶层包的父目录添加到classpath即可。

如果测试文件代码没有用到包管理,则直接把测试用例文件的父目录添加到classpath即可;

此外可以通过命令行直接设置classpath:

    1. java -classpath "%classpath%;D:path oyour estfiles" org.testng.TestNG -testclass package.JavaSeleniumTest
原文地址:https://www.cnblogs.com/melody-emma/p/4729335.html