Jenkins+Ant+Android+Robitium 实例详解(打包app,执行Robotium测试,生成测试结果)
来源:互联网 发布:ubuntu如何安装win10 编辑:程序博客网 时间:2024/05/22 09:50
Jenkins Ant 打包android app,构建Robotium测试,执行Robotium测试,生成测试结果 实例详解
前言:
众所周知,Jenkins提供了强大持续集成功能,本文主要是使用Jenkins 集成Ant构建、打包Android工程,并执行基于Robotium的Android自动化测试。本例实现了从打包android工程到生成Junit的报告的整个过程。
当然,关于Jenkins+Ant+Android+Robitium应该还有其他方式,所以本文仅提供一种方法,供大家学习参考。
可能产生的疑问:
(1) 用的Android 设备是什么?
本例可以直接运行在已经连接到PC上android手机(必须有root权限)或者已经打开的android 模拟器。这种方案的好处是你直接可以看到测试运行结果。
(2)能否用Jenkins的Android Emulator Plugin插件?
当然可以用Android Emulator Plugin插件。一种是利用已有的 模拟器(Run existing emulator);另一种是 执行jenkins job会新建Android模拟器(Run emulator with properties)。具体不在这里详解,因为比较简单。
正文:
说明:android project 名称: cheersApp
android test project 名称: cheersAppTest1
其他说明:本文很多路径是绝对路径,大家可以改成相对路径
建立JenkinsJob
1. 创建自由风格的job 名称:android_jenkins_test1
Source Code Mananagement 选择subversion
说明:svn 取两个project,cheersApp是 android项目的源码,cheersAppTest1是测试的project。
2. Buid 设置部分
<1> Execute Windows batch command (1)
Command:
d:
android update project -p . -n cheersApp -t android-19
说明:
build android工程,使用命令:android update project -p . -n cheersApp -t android-19
<2> Execute Windows batch command (2)
Command:
cd D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersApp
d:
ant debug
说明:
用 ant 打包生成 debug的android APP:cheersApp-debug.apk
<3> Install Android package 设置见图
<4> Execute Windows batch command(3)
Command:
cd D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1
d:
android update test-project -m "D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersApp" -p "D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1"
说明:
build android test工程,使用命令:android update test-project -m android工程目录 -p 测试工程目录
注意,这两个目录需要写正确。
<5 >Execute Windows batch command(4)Command:
java -jar "D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1\update_ant_properties.jar" "D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1\ant.properties"
说明:
(1) Execute Windows batch command(3) 构建完android test 的工程后,会在目录里边生成 ant.properties,build.xml, local.properties 文件;
(2) 由于 这里使用了“android junit report”这个jar包(将robotium的测试结果“junit-report.xml”文件会放在测试设备的“/data/data/com.cheers/files/junit-report.xml”),见 http://zutubi.com/source/projects/android-junit-report/
(3) 由于“android junit report”需要 在生成的 ant.properties 文件中,加入一行:“test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner”
所以,这个调用这个 update_ant_properties.jar 是往,ant.properties 文件中,加入一行:“test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner”
这个可执行的jar源码如下:
import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.io.IOException;public class UpdateAntProperties {public static void main(String[] args){//String sFilePath="D:\\Program Files (x86)\\Jenkins\\jobs\\android_jenkins_test1\\workspace\\cheersAppTest1\\ant.properties";String sFilePath=args[0];String sAddLineString="test.runner=com.zutubi.android.junitreport.JUnitReportTestRunner";try{File file=new File(sFilePath);BufferedWriter out=new BufferedWriter(new FileWriter(file,true));out.append("\r\n"+sAddLineString);out.flush();out.close();}catch(IOException e){System.out.println("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Update ant.properties failed, please check! ");e.printStackTrace();}}}
<6> Execute Windows batch command(5)
Command:
cd D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1
d:
ant clean debug install test
说明:
通过ant 执行robotium的自动化测试,测试结果放在设备:/data/data/com.cheers/files/junit-report.xml
<7> Execute Windows batch command(6)Command:
adb pull /data/data/com.cheers/files/junit-report.xml "D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1\junit-report.xml"
说明:
通过adb pull 命令将测试android junit结果 /data/data/com.cheers/files/junit-report.xml 放到 D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1\junit-report.xml
3. Post-build Actions 设置
通过Jenkins的JUnit Plugin解析结果文件 D:\Program Files (x86)\Jenkins\jobs\android_jenkins_test1\workspace\cheersAppTest1\junit-report.xml 生成测试结果
注意,Tesp report XMLs这里一定要写相对路径,如: cheersAppTest1/junit-report.xml如果写绝对路径会报错
测试结果效果,如下图:
至此 Job创建完成,运行Jenkins 的job。
写博文实在是太辛苦了,转载请注明转载地址,多谢~!
- Jenkins+Ant+Android+Robitium 实例详解(打包app,执行Robotium测试,生成测试结果)
- Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART one]
- Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART TWO]
- Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART one]
- Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART TWO]
- Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART one]
- Android使用Robotium自动化测试junit生成单元测试结果报告
- Android 自动化测试—robotium(七)Ant 构建脚本
- Android 自动化测试—robotium(七)Ant 构建脚本
- Android 自动化测试—robotium(七)Ant 构建脚本
- Jenkins集成 Ant+Testng测试项目,发布结果到Jenkins
- !!!Spoon------配合 Robotium 多设备分发测试,生成测试结果
- Spoon-配合 Robotium 多设备分发测试,生成测试结果
- 接口测试持续构建实例(jmeter+ant+jenkins)
- 性能测试持续集成实例(Jenkins+Jmeter+ANT)
- Android Studio 中生成测试报告(使用Robotium自动化测试)
- iOS app打包 -- 生成ipa测试包 步骤详解
- iOS app打包 -- 生成ipa测试包 步骤详解
- Java知识(003)--分支和循环1
- KMP算法
- P122.28.字符串大小写呼唤
- hdu 2822 Dogs
- luabind编译报错 错误: 标识符“(”前缺少二元运算符
- Jenkins+Ant+Android+Robitium 实例详解(打包app,执行Robotium测试,生成测试结果)
- Java复习第二天和第三天
- performSelector引起的警告解决办法
- Socket编程InputStream中的read()方法的问题!!!
- fastboot 烧入 img---fastboot配置(解决fastboot no permissions 错误)
- 预处理,编译, 优化, 汇编, 链接
- 腾讯2015实习生面试(已拿到offer)
- 让安卓手机显示彝文
- Camera 图像处理原理分析- 色彩篇 一