maven命令执行testgn.xml
想通过maven命令运行测试项目,需要先在pom.xml中添加插件:
org.apache.maven.plugins
maven-surefire-plugin
2.19
once
-Dfile.encoding=UTF-8
${project.basedir}/src/main/resources/testng.xml
${project.basedir}/src/main/resources/testng.xml
是testng.xml文件的路径。
然后还需要在pom.xml的project下配置,这样能识别中文:
UTF-8
打开cmd,进到项目根目录:
mvn test 执行项目打包和测试
D:\Springboot\MyApplicationthree>mvn test
执行2条用例都执行成功了
maven命令执行java测试类
在test/java目录下有一个测试类,需要通过maven命令执行java测试类,测试类必须放到test/java目录下:
在pom文件中需要把上面讲到的插件先注释掉,同时加入以下插件,include中写入测试类名称:
org.apache.maven.plugins
maven-surefire-plugin
2.19
once
-Dfile.encoding=UTF-8
getdatabase.java
在cmd中进入项目根目录,输入mvn test 执行测试
maven命令执行多线程并行执行
appium是在同一个设备上运行,好像不太可行,后面会再讲解
并行测试时,测试用例之间不能太耦合,就是每个测试用例都可以单独出来去执行,互相没有关联,这样才能不放到一个线程中分开并行执行。
pom文件中增加插件信息
org.apache.maven.plugins
maven-surefire-plugin
2.19
once
-Dfile.encoding=UTF-8
getdatabase.java
methods
3
${project.basedir}/src/main/resources/testng.xml
maven远程调用
mvn -Dmaven.surefire.debug test
需要在idea中先设置远程调试IP和端口号,再设置断点然后调试。
为什么会有远程调试,如果把脚本放到git仓库上,另一台电脑从git仓库下载代码,通过mvn test运行测试,在本地执行程序没有问题,在另一台电脑上通过mvn执行可能会有问题,因为maven的编译器和idea、eclipse的编译器不一样,会有差别。如果出现了问题,通过在本地idea中设置远程调试另一台电脑上的代码查看mvn运行时问题出现在哪个环节。
在idea中设置远程调试步骤:
参考:https://blog.csdn.net/u014513883/article/details/53583495
maven私服
有些公司会自己去建私服,就是maven依赖的jar包仓库,在nexus网站上创建私服,会有一个id,name,产生一个url地址,上传公司内部需要的jar包,本地在pom文件中可以引用仓库地址
maven项目中引入jar包流程
创建一个项目A,然后打包成jar包,被另一个项目B引入。
目前能够被其他项目引入的jar包,以我目前的知识了解的只有两种,带有main方法的项目、springboot的项目,springboot项目中是需要用Application启动项目的所以它的mainclass就是application启动项所在的路径。
先说springboot的项目,在pom文件中要先添加插件,插件代码如下:
org.apache.maven.plugins
maven-compiler-plugin
1.8
org.springframework.boot
spring-boot-maven-plugin
com.course.Application
repackage
是在application启动项在src/java/com.course目录下。
如果是普通的项目,需要有main方法,如下项目:
先写一个方法:
再写一个main方法:
在该项目的pom文件中添加插件:
org.apache.maven.plugins
maven-compiler-plugin
1.8
maven-assembly-plugin
com.yixin.TestmainTestng
jar-with-dependencies
make-assemble
package
single
注意:
补充:如果是testng的项目,只需要在插件中输入:
org.apache.maven.plugins
maven-surefire-plugin
2.7.1
./src/main/resources/TestJenkins.xml
maven打包时会自动去找Testng.xml运行打包,也就是下面这句代码中定义的xml:
./src/main/resources/TestJenkins.xml
当然也可以利用上面讲到的maven执行java类的方法运行打包。
配置完pom文件后,就可以打包了,按如下图中操作可以很简单的打包:
打开cmd,进入项目jar所在目录,用java -jar jar包名称,执行jar能正常输出结果代表jar包构建成功
进入项目B中,引入项目A的jar包:
在项目B中可以import 项目A中的类,同时可以用到该类中的方法:
maven install命令介绍
项目A只想引入项目B中的某一个类,如果直接拷贝项目B中的这个类,这个类如果依赖项目B中的其他信息,则拷贝后是不能运行的,我们可以对项目B通过maven install的方式把安装项目到本地maven仓库,安装成功后会生成项目B的jar包,在项目A中导入jar包就可以直接引用了。
项目B中pom文件的插件内容和上面讲到的一样:
org.apache.maven.plugins
maven-compiler-plugin
1.8
maven-assembly-plugin
com.yixin.TestMavenDependencymain
jar-with-dependencies
make-assemble
package
single
mainClass要记得换一下。
从idea最右边打开maven窗口,点击install,运行:
运行成功,在控制台看到生成仓库地址:
进入项目A用同样的方法从仓库中把jar包引进来就能直接调用了。
maven命令打war包
需要添加构建插件
org.apache.maven.plugins
maven-war-plugin
false
org.apache.maven.plugins
maven-surefire-plugin
true
maven-resources-plugin
utf-8
true
src/main/java
**/*.yml
**/*.properties
**/*.xml
false
src/main/resources
**/*.yml
**/*.properties
**/*.xml
*.properties
**/**
false
输入mvn clean package命令就可以打war包