testNG项目通过idea Terminal命令行执行的配置过程

时间:2022-04-21 21:59:08

背景:

本地编写的很多testNG测试用例,可能需要对接其他人员,运用其他形式执行,例如将测试用例达成jar包,由运维执行,需要提供执行命令,提供前需要本地先验证是否可执行通过。

一、maven配置

1.官网下载maven(https://maven.apache.org/download.cgi),下载最新版本,解压到制定文件夹:

testNG项目通过idea Terminal命令行执行的配置过程

2.配置环境变量,以win10为例:

新建系统变量MAVEN_HOME,填写下载解压后的文件地址,注意是bin目录的上一级目录

testNG项目通过idea Terminal命令行执行的配置过程

编辑Path变量,在末尾加上:

testNG项目通过idea Terminal命令行执行的配置过程

3.检验,cmd,进入终端,输入mvn -v ,显示以下信息说明配置完成

testNG项目通过idea Terminal命令行执行的配置过程

二、Idea执行配置【注意配置好maven/jdk环境(JDK下载参照以前教程)变量后需要重启idea】

1.在pom.xml引入依赖:

  1. <build> 
  2.  
  3. <sourceDirectory>src/main/java</sourceDirectory> 
  4.  
  5. <testSourceDirectory>src/main/java</testSourceDirectory> 
  6.  
  7. <finalName>${project.artifactId}</finalName> 
  8.  
  9.  
  10.  
  11. <plugins> 
  12.  
  13. <plugin> 
  14.  
  15. <groupId>org.apache.maven.plugins</groupId> 
  16.  
  17. <artifactId>maven-compiler-plugin</artifactId> 
  18.  
  19. <configuration> 
  20.  
  21. <source>7</source> 
  22.  
  23. <target>7</target> 
  24.  
  25. <encoding>UTF-8</encoding> 
  26.  
  27. </configuration> 
  28.  
  29. </plugin> 
  30.  
  31. <plugin> 
  32.  
  33. <groupId>org.apache.maven.plugins</groupId> 
  34.  
  35. <artifactId>maven-surefire-plugin</artifactId> 
  36.  
  37. <version>2.6</version> 
  38.  
  39. <!--jar--> 
  40.  
  41. <configuration> 
  42.  
  43. <argLine> 
  44.  
  45. -javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar" 
  46.  
  47. </argLine> 
  48.  
  49. <testFailureIgnore>true</testFailureIgnore> 
  50.  
  51. <!-- <testNGArtifactName>org.testng:testng</testNGArtifactName>--> 
  52.  
  53. <forkMode>once</forkMode> 
  54.  
  55. <!--<skipTests>true</skipTests>--> 
  56.  
  57.  
  58.  
  59. <skipTests>false</skipTests> 
  60.  
  61. <suiteXmlFiles> 
  62.  
  63. <suiteXmlFile>suites/test.xml</suiteXmlFile> 
  64.  
  65. </suiteXmlFiles> 
  66.  
  67.  
  68.  
  69. <properties> 
  70.  
  71. <property> 
  72.  
  73. <name>usedefaultlisteners</name> 
  74.  
  75. <value>false</value> 
  76.  
  77. </property> 
  78.  
  79. <property> 
  80.  
  81. <name>listener</name> 
  82.  
  83. <value>org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter</value> 
  84.  
  85. </property> 
  86.  
  87. </properties> 
  88.  
  89. <forkMode>always</forkMode> 
  90.  
  91. </configuration> 
  92.  
  93. <!--jar--> 
  94.  
  95. <dependencies> 
  96.  
  97. <dependency> 
  98.  
  99. <groupId>org.aspectj</groupId> 
  100.  
  101. <artifactId>aspectjweaver</artifactId> 
  102.  
  103. <version>1.8.10</version> 
  104.  
  105. </dependency> 
  106.  
  107. </dependencies> 
  108.  
  109. </plugin> 
  110.  
  111. <!--jar--> 
  112.  
  113. <plugin> 
  114.  
  115. <groupId>org.apache.maven.plugins</groupId> 
  116.  
  117. <artifactId>maven-assembly-plugin</artifactId> 
  118.  
  119. <version>3.0.0</version> 
  120.  
  121. <configuration> 
  122.  
  123. <archive> 
  124.  
  125. <manifest> 
  126.  
  127. <addClasspath>true</addClasspath> 
  128.  
  129. <mainClass>com.uiautotest.platformsys.JavaRunXml</mainClass> 
  130.  
  131. </manifest> 
  132.  
  133. </archive> 
  134.  
  135. <descriptorRefs> 
  136.  
  137. <descriptorRef>jar-with-dependencies</descriptorRef> 
  138.  
  139. </descriptorRefs> 
  140.  
  141. </configuration> 
  142.  
  143. <executions> 
  144.  
  145. <execution> 
  146.  
  147. <id>make-assembly</id> 
  148.  
  149. <phase>package</phase> 
  150.  
  151. <goals> 
  152.  
  153. <goal>single</goal> 
  154.  
  155. </goals> 
  156.  
  157. </execution> 
  158.  
  159. </executions> 
  160.  
  161. </plugin> 
  162.  
  163. <plugin> 
  164.  
  165. <groupId>org.apache.maven.plugins</groupId> 
  166.  
  167. <artifactId>maven-shade-plugin</artifactId> 
  168.  
  169. <version>3.0.0</version> 
  170.  
  171. <configuration> 
  172.  
  173. <!-- put your configurations here --> 
  174.  
  175. <transformers> 
  176.  
  177. <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"
  178.  
  179. <manifestEntries> 
  180.  
  181. <Main-Class>org.testng.TestNG</Main-Class> 
  182.  
  183. </manifestEntries> 
  184.  
  185. </transformer> 
  186.  
  187. </transformers> 
  188.  
  189. </configuration> 
  190.  
  191. <executions> 
  192.  
  193. <execution> 
  194.  
  195. <phase>package</phase> 
  196.  
  197. <goals> 
  198.  
  199. <goal>shade</goal> 
  200.  
  201. </goals> 
  202.  
  203. </execution> 
  204.  
  205. </executions> 
  206.  
  207. </plugin> 
  208.  
  209. </plugins> 
  210.  
  211. </build> 

2.在Terminal执行:mvn clean test -Dsurefire.suiteXmlFiles=suites/test.xml,即可执行成功。 或者直接执行 mvn test【执行的suites/test.xml已经通过上述的pom.xml配置过了,所以可以直接执行】

testNG项目通过idea Terminal命令行执行的配置过程

3.执行命令其实来源于maven helper依赖:

testNG项目通过idea Terminal命令行执行的配置过程

到此这篇关于testNG项目通过idea Terminal命令行执行的文章就介绍到这了,更多相关idea Terminal命令行执行内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/jiangger/p/15011079.html