`
- 浏览:
724930 次
-
Windows下Android项目搭建Jenkins持续构建+自动化测试
使用持续集成和自动化测试的好处就不说了,网上一搜一大把,不太了解的可以去Google search。下面开始介绍如何在Windows环境下为Android项目搭建Jenkins。本文中使用的版本管理工具是SVN,大部分内容都参考自Jenkins官网,而且本文不考虑SDK Tools 14以下的情况。安装Jenkins + 建立项目1, 打开http://jenkins-ci.org/, 下载jenkins.war。2, Jenkins的安装非常简单,可以直接在命令行中使用java –jar jenkins.war运行,也可以将jenkins.war放在tomcat中去执行。3, 打开Jenkins的系统管理>系统设置:a) 在jdk中填入jdk安装地址。b) 在ant中填入ant安装地址。c) 在最下面的邮件通知中设置邮箱的smtp地址等信息。设置完成后可以测试是否设置成功。4, 打开系统管理>插件管理>可选插件,安装如下插件:a) antb) Android Emulator Pluginc) Jenkins Emma plugind) FindBugs Plug-in5, 在Eclipse中新建一个Android项目以及测试项目,假设你的项目目录结构如下所示:/workspace/android-app/workspace/android-test安装Apache Ant。1. 在Eclipse workspace下为Android app项目添加ant,执行:android update project -p android-app2. 为测试项目添加ant,执行:android update test-project -m ../android-app -p android-test3. 现在app项目中生成了local.properties文件,这个文件应该在版本控制工具中设置为忽略;在test项目中现在生成了ant.properties和local.properties两个文件,这两个文件必须要加入版本控制工具中(SVN)。4. 在命令行中执行下面的代码看看ant是不是成功运行了:ant clean debug5. 开启一个Android模拟器,然后在test工程下执行下面的代码看看测试工程是否可以成功运行:ant all clean emma debug install test6. 如果成功的话会在测试工程下生成coverage目录,内含一个名为coverage.html的文件,里面是测试用例的覆盖率等数据。安装Emma Emma用于在Jenkins中生成出Ant执行的测试用例的报表,上面我们测试后生成的是html格式的,但是要想在jenkins中生成图形等,则必须生成出xml格式的文件。1, 打开SDK安装目录,打开tools/ant/build.xml,复制其中名为coverage的target到你的测试项目中的build.xml文件中。2, 将<html outfile="coverage.html" />节点替换成:<html outfile="coverage.html" /><xml outfile="coverage/coverage.xml" />3, 将<ehco>节点替换成:<echo>Saving the report file in ${basedir}/coverage/coverage.xml</echo>4, 再次运行:ant all clean emma debug install test命令后,在coverage文件夹中多了一个coverage.xml 文件的话则成功。安装FindBugs FindBugs用来找到你的项目中的bug,目前我还没有使用到它。不过Jenkins官方文档中的步骤将它配置了,所以我们也来做它的配置。1, 下载FindBugs,将其中lib/findbugs-ant.jar 拷贝到Ant安装目录下的lib文件夹中。2, 在app工程文件夹下的local.properties文件中加入:findbugs.home=** 其中**为你的findbugs的安装目录。3, 如果你需要在R.java中查找bug的话则需要在app工程目录下添加一个名为findbugs-exclude.xml的文件,在其中写入下面的代码。 <?xml version="1.0" encoding="UTF-8"?> <FindBugsFilter> <Match> <Class name="~.*\.R\$.*"/> <Bug code="Nm"/> </Match> </FindBugsFilter>4, 在app工程目录下的build文件中加入下面的代码。<taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"/><target name="findbugs"><mkdir dir="reports" /> <findbugs home="${findbugs.home}" output="xml" outputFile="reports/findbugs.xml" excludeFilter="findbugs-exclude.xml"> <auxClasspath path="${android.jar}" /> <class location="${out.dir}" /></findbugs></target>5, 执行ant clean compile findbugs 后在app工程目录下生成一个名为reports的文件夹,里面包含了一个名为findbugs.xml的文件。配置jenkins Jenkins环境修改:1, 下载android-junit-report-1.2.6.jar(可以下载更新的版本),将它加入test工程的build path中。2, 修改test project的AndroidManifest.xml,找到tag "instrumentation" 将属性"android:name" 的值改成 com.zutubi.android.junitreport.JUnitReportTestRunner。3, 打开test工程下的build.xml,在</run-test-helper>节点后加入下面的代码:<echo>Downloading XML test report...</echo><exec executable="${adb}" fail><arg line="${adb.device.arg}"/><arg value="pull" /><arg value="/data/data/${tested.manifest.package}/files/junit-report.xml" /><arg value="junit-report.xml" /></exec>4, 找到其中名为test.runner的property节点,将它的值改为:com.zutubi.android.junitreport.JUnitReportTestRunner 配置App工程:1, 添加一个自由风格任务,选择subversion,将app项目的svn地址填入(第一次使用的时候会要求提供svn账户密码)。2, 添加一个Invoke Ant构建步骤,在其中的Targets填入clean compile findbugs。3, 在高级选项中的properties填入下面内容(注意填自己的安装信息):sdk.dir=D:\\WORK\\ENVIROMENT\\ANDROID\\AndroidSDKfindbugs.home=D:\\WORK\\ENVIROMENT\\FingBugs\\ findbugs-2.0.04, 构建后选项选择:Publish FindBugs analysis results,然后填入:reports/findbugs.xml。5, 选择Archive the artifacts,这样可以在每次构建后提供构建出来的apk版本。6, 勾选E-mail Notification选项,在下面的recipients中填入需要接收构建异常信息的联系人邮件地址。勾选“每次不稳定的构建都发送邮件通知”选项。配置test工程:1, 添加自由风格任务,选择subversion,将test项目的svn地址填入。2, 在Invoke Ant的target中填入:all clean emma debug install test。3, 在build file中填入build.xml。4, 在properties中填入sdk.dir=D:\\WORK\\ENVIROMENT\\ANDROID\\AndroidSDK。5, 勾选Publish JUnit test result report,填入:junit-report.xml。6, 勾选Record Emma coverage report,填入:coverage/coverage.xml。7, 勾选E-mail Notification,如app工程配置。所有配置工作到此结束,现在可以去跑了。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成.zip
1. Docker+Jenkins+GitLab+Maven+Harbor+SpringBoot自动化构建+Jenkins自动化部署配置 2.无须运维部署 ,而是相关的开发人员,测试人员登录jenkins传入需要部署的tag即可,整个部署过程无须运维参与,解放运维劳动力
文档详细记录了jenkins+ant+jmeter自动化接口测试框架搭建的过程步骤,供大家参阅。
Docker+Jenkins+GitLab+Maven+SpringBoot&SpringCloud;自动化构建
Windows平台搭建Jenkins+maven+git/github实现自动发布已经越过几道坑
Gitllab+Jenkins+Docker+Harbor 自动化部署流程
Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码自动化构建 Jenkins + Gitee 实现代码...
jenkins+maven+svn+tomcat 持续集成环境快捷部署,实现自动编译打包部署
搭建Jenkins+Jmeter+Ant自动化集成环境(修订2210202).docx
自己总结的windows版本的jenkins+svn+maven自动部署,其中配合了少量文字和一些截图,希望对大家有所帮助。
docker+jenkins+gitlab的持续集成,持续交付,使开发,运维,测试一体化,研发:开发流程高效,稳定,快速,交付结果可预测,运维:容器监控,自动化运维,降低维护成本
Jmeter+ant+Jenkins接口自动化文档 本地项目尝试,输出了文档介绍了资源下载以及安装,使用的步骤。
jmeter+ant+Jenkins搭建接口自动化测试,可以三体集成实现一键自动;
jenkins+git+maven搭建自动化部署环境说明文档,详尽的说明
RF具体环境搭建方法可参考文章,本文档主要演示的脚本持续化job任务。
Jenkins+Maven+Windows+svn+sonarqube持续集成平台搭建图文指南
基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署
压缩包内包括:git-2.8.0.tar.gz二进制安装包、jenkins.war应用服务war包、jenkins+git+maven+tomcat.docx搭建详细文档
gitlab+jenkins+docker自动化部署脚本,采用shell与python开发,其中python部分均为封装成型的逻辑,只接受shell传参就能完成项目构建
详解Git分支操作细节,Gitlab账户注册,Gitlab的SSH配置,Git操作远程仓库