背景
持续集成是老生话谈的事情,用的好不好,看自己公司与使用场景,但做为测试开发一种技能还是有必要掌握,虽然大家不怎么做,话说技多不压身,今天咱们谈一谈咱们把appium+maven+java+testng集成到jenkins中去,并且然他jenkins跑起来,配置邮件键默认大家会配置。
前置条件:
- 通过main启动testng.xml跑起整个项目。
- 编写一些用例
- 本机有tomcat或者安装了Jenkis
pom.xml文件配置为:
1. <build>
2. <plugins>
3. <plugin>
4. <groupId>org.codehaus.mojo</groupId>
5. <artifactId>exec-maven-plugin</artifactId>
6. <version>1.6.0</version>
7. <executions>
8. <execution>
9. <phase>test</phase>
10. <goals>
11. <goal>java</goal>
12. </goals>
13. <configuration>
14. <!- 启动主方法,也就是入口->
15. <mainClass>autotest.runbase.ExecMain</mainClass>
16. <arguments>
17. <argument>arg0</argument>
18. <argument>arg1</argument>
19. </arguments>
20. </configuration>
21. </execution>
22. </executions>
23. </plugin>
24. </plugins>
25. </build>
main入口代码
autotest.runbase.ExecMai
1. static Properties sysProperty = System.getProperties();
2. private static final String ESCAPE_PROPERTY = "org.uncommons.reportng.escape-output";
3.
4. public static void main(String[] args) {
5.
6. //先执行kill
7. OperationalCmd.killServer();
8. //在启动服务
9. OperationalCmd.startAppium();
10.
11. try {
12. //执行的类
13. createTestngXml.createTestngXml("appout.appcase.CartTest");
14. } catch (Exception e) {
15. e.printStackTrace();
16. }
17. System.setProperty(ESCAPE_PROPERTY, "false");
18. List<String> suites = new ArrayList<String>();
19. System.out.println(suites);
20. suites.add(sysProperty.getProperty("user.dir") + "/comsevenday/src/main/resources/appxml/mytestng.xml");
21. TestNG tng = new TestNG();
22. tng.setTestSuites(suites);
23. tng.run();
24. }
下载Jenkis
部署成功并且启动成功,需要下载maven插件,邮件插件等信息。配置环境变量与其他信息,自己百度查下即可。
插件
邮件插件
新建项目
配置build选项:
配置结果:
注意:
简单配置上面选项即可,如果需要邮件,或者代码管理其他的自己选择配置,再这里就不介绍,保存上面选项;
选择构建
左边看见开始构建:
点击日志:
显示编译信息:
运行结束:
最后提示:
工程目录:
大家看不到appium启动文件与工具类,因为我给他封装成jar包了,所以大家看不到。封装成jar给大家调用比较方便,而且工程看起来干净整洁。写测试用例同学不用关心怎么封装的,只有写测试用例即可。
报告
总结
总体上集成还是比较简单,关键是pom文件配置,工程怎么启动,还有jenkis怎么配置。
送大家一句话:
将来的你一定会感谢现在依然健康拼搏的你。