背景

        持续集成是老生话谈的事情,用的好不好,看自己公司与使用场景,但做为测试开发一种技能还是有必要掌握,虽然大家不怎么做,话说技多不压身,今天咱们谈一谈咱们把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插件,邮件插件等信息。配置环境变量与其他信息,自己百度查下即可。

插件

自动化工具之Appium持续集成_System

邮件插件

自动化工具之Appium持续集成_System_02

新建项目

自动化工具之Appium持续集成_xml_03

配置build选项:

自动化工具之Appium持续集成_xml_04

配置结果:

自动化工具之Appium持续集成_System_05

注意:

    简单配置上面选项即可,如果需要邮件,或者代码管理其他的自己选择配置,再这里就不介绍,保存上面选项;

选择构建

自动化工具之Appium持续集成_xml_06


左边看见开始构建:

自动化工具之Appium持续集成_封装_07

点击日志:

自动化工具之Appium持续集成_xml_08

显示编译信息:

自动化工具之Appium持续集成_封装_09

自动化工具之Appium持续集成_System_10

自动化工具之Appium持续集成_xml_11

自动化工具之Appium持续集成_xml_12

运行结束:

自动化工具之Appium持续集成_System_13

自动化工具之Appium持续集成_System_14

最后提示:

自动化工具之Appium持续集成_System_15

工程目录:

自动化工具之Appium持续集成_System_16

大家看不到appium启动文件与工具类,因为我给他封装成jar包了,所以大家看不到。封装成jar给大家调用比较方便,而且工程看起来干净整洁。写测试用例同学不用关心怎么封装的,只有写测试用例即可。

报告

自动化工具之Appium持续集成_封装_17

总结

          总体上集成还是比较简单,关键是pom文件配置,工程怎么启动,还有jenkis怎么配置。


送大家一句话:

       将来的你一定会感谢现在依然健康拼搏的你。


自动化工具之Appium持续集成_xml_18