本文目标实现:Eclipse一但提交项目代码,则自动触发一次编译以及执行一次AndroidUiAutomator测试用例,编译后以及执行用例的结果可以通过邮件自动发送,实现自动化测试系统。
方式如下:将Jenkins的构建地址写入svn库中项目下的钩子文件post-commit.bat(repositories\JenkinsUiTest\hooks\post-commit.bat)
则 Eclipse一旦提交代码到svn代码库,则触发Jenkins的一次构建。
结合上一篇《AndroidUiAutomator快速编译》一文,可以在Jenkins项目下的execute windows batch command 构建命令中写入如下命令:
则会实现一提交项目代码,则触发一次测试用例的编译,编译后的结果可以通过邮件自动发送,实现自动化测试系统。
步骤如下:
1安装SVN(以我本地机器为例子)
安装成功后默认URL:http://localhost:3343,用户名密码默认admin/admin
并且建立一个svn版本库名如“JenkinsUiTest”,选择标准结构
2.安装Jenkins
安装成功后默认URL:http://localhost:8080,本机实例改为8089
并新建一个Jenkins Job Item ,选择自由风格 如图:
每次点击“立即构建”按钮,则会生成一次构建,构建记录在下方显示,构建成功显示蓝色圆点,构建失败显示红色圆点。
则右键单击“立即构建”copy URL 如下:(delay=0sec 表示提交代码后延迟的时间,单位为S)
http://localhost:8089/job/JenkinsUiTest/build?delay=0sec
3. 安装Curl,完成后验证出现以下提示,则安装成功
4.找到SVN下repositories\JenkinsUiTest\hooks ,新建一个名为post-commit.bat的文件,里面写入以下构建命令
curl -X POST -v -u admin:admin "http://localhost:8089/job/JenkinsUiTest/build?delay=0sec"
5.Eclipse 安装svn
6.Eclipse 建立项目JenkinsDemo(前一篇文章)
7.Share Project 将JenkinsDemo,选择SVN版本库路径
8.配置Jenkins Job Item中“JenkinsUiTest” 源码管理--SVN 以及提交后执行的windows batch command
9.回到Eclipse的JenkinsDemo项目中,首先将项目编译一下,则在Jenkins目录的Job目录下产生该项目的workspace(意味着此处拷贝了一份代码)
10. 将项目中的快速编译类:UiAutomatorHelper 导出一个jar包,命名为"runuiautomator.jar"
并且将此jar包拷贝到(在Jenkins目录的Job目录下产生该项目的workspace项目JenkinsDemo中
11.SVN 将项目通过Share Project 提交到Jenkins
(提交之前可以看到Jenkins BuildHistory为46)
提交时间为10:39 Eclipse提交SVN 之后, Jenkins立即构建为#47,过程中(10:40)执行了测试用例,可以看到虚拟机在执行动作.所以达到了一旦提交立即构建并执行测试用例
构建完毕(蓝点表示构建成功),我们点进去command 可以看到编译的结果,
执行5个测试用例,实现自动操作界面,其中test4 故意设置找不到元素,抛出异常,执行结果如下:(可以通过配置Jenkins的邮件,来讲每次的编译执行用例结果自动发送邮件)
至此结束了整个例子。代码在上一篇文章《AndroidUiAutomator以及快速编译》已经贴出来,在此不再赘述。
实现了代码提交后自动编译,自动执行测试用例的自动化集成测试。