Robot Framework+Jenkins
最近在研究Robot Framework+Jenkins的相关知识,下面以Robot Framework的UI自动化脚本集成至Jenkins为例,简单介绍下安装和配置步骤。
![](https://img.haomeiwen.com/i16876907/e4697a55d3983156.png)
一、机器
1、一台Linux机器,用于部署Jenkins
2、一台Windows机器,用于跑UI自动化脚本,由于UI自动化脚本是依赖于浏览器的,所以必须是Windows机器,不能是Linux机器
二、下载以及安装Jenkins
请参考:http://istester.com/jenkins/402.html
三、添加子节点
Linux系统部署的是Jenkins,采用master主节点管理子节点的形式,启动Jenkins服务的机器就叫做master,而其他连接到master的机器(物理机、虚拟机均可)叫做slave,也就是子节点,根据各子节点对应的标签来决定job运行在哪个机器上。
1、进入Jenkins主页面,系统管理--节点管理
![](https://img.haomeiwen.com/i16876907/35c7b9bbf275eeb7.png)
2、新建节点,填写节点名称,可任意命名,选择固定节点
![](https://img.haomeiwen.com/i16876907/f6613cd659839f79.png)
![](https://img.haomeiwen.com/i16876907/3b5c7cbf698cfb9c.png)
3、填写子节点相关信息,点击保存
![](https://img.haomeiwen.com/i16876907/4faf663893def257.png)
注意:如果在jenkins的启动方法找不到通过Java Web启动代理选项,请按此步骤设置:Jenkins主页---系统管理--全局安全配置--代理--TCP port for inbound agents--设置为随机选取或指定端口--(代理协议选项中)勾选:Java Web Start Agent Protocol/4 (TLS 加密)
![](https://img.haomeiwen.com/i16876907/ef273e0f6b10bb7c.png)
![](https://img.haomeiwen.com/i16876907/b5186d98f2cdab0e.png)
4、启动子节点,在Jenkins主界面点击进入子节点
![](https://img.haomeiwen.com/i16876907/ba345f86d658645b.png)
5、点击Launch,下载文件
![](https://img.haomeiwen.com/i16876907/0a5e27285ece1f35.png)
6、启动文件的方式有两种
启动方式1:双击文件slave-agent.jnlp
![](https://img.haomeiwen.com/i16876907/1df24db061eb6836.png)
![](https://img.haomeiwen.com/i16876907/e6a9a15c51d97ce6.png)
启动方式2:下载slave.jar到本地,然后进入存放slave.jar的目录,复制粘贴并运行java -jar slave.jar -jnlpUrl http://xxxxx即可启动
![](https://img.haomeiwen.com/i16876907/3229b319a6a64657.png)
四、配置job
1、新建一个job,命名为:RFtest
![](https://img.haomeiwen.com/i16876907/f08a238f7ca35b64.png)
![](https://img.haomeiwen.com/i16876907/b5d93f4fd809be76.png)
2、设置丢弃旧的构建,保持构建的天数为3,保持构建的最大个数为3(可以不设置)
![](https://img.haomeiwen.com/i16876907/561f02df261f4577.png)
3、勾选限制项目的运行节点,标签表达式:填写子节点设置的标签UItest
![](https://img.haomeiwen.com/i16876907/0fc803b529274c62.png)
![](https://img.haomeiwen.com/i16876907/5624f736f2e77a7b.png)
4、源代码管理,设置为:无。如果有Git或SVN的话,可以设置
![](https://img.haomeiwen.com/i16876907/b6547160c27c62fe.png)
5、构建步骤,增加构建步骤--执行Windows批处理命令,输入命令:pybot.bat E:\RFtest\baidu_test\search.txt,格式为:pybot.bat 自动化脚本所在目录
![](https://img.haomeiwen.com/i16876907/8038a8a0fda3c4f1.png)
![](https://img.haomeiwen.com/i16876907/26cde6f2e057221f.png)
![](https://img.haomeiwen.com/i16876907/9ab5408a5865340f.png)
![](https://img.haomeiwen.com/i16876907/e1793eb0d294776b.png)
6、此时就可以构建了,但是没有测试结果,测试报告和日志
![](https://img.haomeiwen.com/i16876907/d5da46d82c19ee77.png)
![](https://img.haomeiwen.com/i16876907/af635be67a5669bf.png)
7、设置定时构建(实际场景中一般会设置在凌晨跑一次脚本,早上来看测试报告)
进入job--配置--构建触发器--勾选定时构建,设置定时跑脚本的时间即可
![](https://img.haomeiwen.com/i16876907/5e4a30c1b3bb83cf.png)
![](https://img.haomeiwen.com/i16876907/43d1c00fb2b05d34.png)
8、设置为其他job构建后触发(实际场景中,一般是开发提交代码,构建之后,触发测试job进行构建)
进入job--配置--构建触发器--勾选其他工程构建后触发--填写关注的项目--勾选只有构建稳定时触发即可
![](https://img.haomeiwen.com/i16876907/5e4a30c1b3bb83cf.png)
![](https://img.haomeiwen.com/i16876907/2416f7f441632b6d.png)
![](https://img.haomeiwen.com/i16876907/15436e0be1b2c06a.png)
五、添加测试结果
1、构建后操作,增加构建后步骤-Publishes Robot Framework test results,Directory of Robot outpu默认为空,如果前面的pybot.bat指定了输出目录,那么这里也要对应进行设置,否则找不到output.xml,就没法解析结果了
![](https://img.haomeiwen.com/i16876907/33e2b8348854e544.png)
![](https://img.haomeiwen.com/i16876907/7e574665fd146000.png)
![](https://img.haomeiwen.com/i16876907/59195166c6258bed.png)
2、再次构建后,可以看到测试报告
![](https://img.haomeiwen.com/i16876907/a5c20368dc27b586.png)
![](https://img.haomeiwen.com/i16876907/fcbd0100f67ae997.png)
3、如果打开测试报告Open_report.html和Open_log.html文件,报错:Opening Robot Framework report failed,解决方法为:打开jenkins----系统管理---脚本命令行--输入: System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","") 后,点击运行,再清理浏览器缓存(ctrl+shift+delete)即可,重新运行一次job就可以查看report
![](https://img.haomeiwen.com/i16876907/57a9020ad3019f47.png)
![](https://img.haomeiwen.com/i16876907/712d5087cc4d1ff8.png)
![](https://img.haomeiwen.com/i16876907/06c9dcb8a0d87b1a.png)
六、添加邮件通知
1、在Jenkins主页--系统管理--系统配置,设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件)
![](https://img.haomeiwen.com/i16876907/28d9ad5b899b92bb.png)
![](https://img.haomeiwen.com/i16876907/df4c664383e1e561.png)
2、配置系统管理员的邮件属性,点击“高级”,填写相关信息
默认主题Default Subject:构建通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!
默认内容Default Content:
<hr/>
(本邮件是程序自动下发的,请勿回复!)<br/><hr/>
项目名称:$PROJECT_NAME<br/><hr/>
构建编号:$BUILD_NUMBER<br/><hr/>
svn版本号:${SVN_REVISION}<br/><hr/>
构建状态:$BUILD_STATUS<br/><hr/>
触发原因:${CAUSE}<br/><hr/>
构建日志地址:<a href="${BUILD_URL}console">${BUILD_URL}console</a><br/><hr/>
构建地址:<a href="$BUILD_URL">$BUILD_URL</a><br/><hr/>
变更集:${JELLY_SCRIPT,template="html"}<br/><hr/>
![](https://img.haomeiwen.com/i16876907/294bb5febaebd6bf.png)
![](https://img.haomeiwen.com/i16876907/03d028789a00c2f1.png)
![](https://img.haomeiwen.com/i16876907/9fa379a48d273a26.png)
3、配置邮件通知
![](https://img.haomeiwen.com/i16876907/0c058cabf80e6a9b.png)
![](https://img.haomeiwen.com/i16876907/4123e4344b658b44.png)
4、安装插件Email Ext Recipients Column Plugin和Email Extension Template Plugin,进入系统管理--插件管理进行安装
![](https://img.haomeiwen.com/i16876907/ddd1864b6b27c33c.png)
5、在job中配置邮件通知
进入job:RFtest--配置--构建后操作--增加构建后操作--Editable Email Notification,填写配置信息
![](https://img.haomeiwen.com/i16876907/7162f3de71be30a1.png)
![](https://img.haomeiwen.com/i16876907/497615cdd560cd46.png)
![](https://img.haomeiwen.com/i16876907/1599bca484338676.png)
![](https://img.haomeiwen.com/i16876907/3ee8c0c887ce10ad.png)
![](https://img.haomeiwen.com/i16876907/4107561b42b77f39.png)
![](https://img.haomeiwen.com/i16876907/a30a917225197203.png)
![](https://img.haomeiwen.com/i16876907/e8b36235017f6b9d.png)
![](https://img.haomeiwen.com/i16876907/a2805eb1f00f8eab.png)
6、构建job,就可以收到邮件通知了
![](https://img.haomeiwen.com/i16876907/08d7436c7c18a313.png)
整个流程大致是这样,欢迎大家提出优化建议~