最近在研究Robot Framework+Jenkins的相关知识,下面以Robot Framework的UI自动化脚本集成至Jenkins为例,简单介绍下安装和配置步骤。
image.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主页面,系统管理--节点管理
image.png
2、新建节点,填写节点名称,可任意命名,选择固定节点
image.png
image.png
3、填写子节点相关信息,点击保存
image.png
注意:如果在jenkins的启动方法找不到通过Java Web启动代理选项,请按此步骤设置:Jenkins主页---系统管理--全局安全配置--代理--TCP port for inbound agents--设置为随机选取或指定端口--(代理协议选项中)勾选:Java Web Start Agent Protocol/4 (TLS 加密)
image.png
image.png
4、启动子节点,在Jenkins主界面点击进入子节点
image.png
5、点击Launch,下载文件
image.png
6、启动文件的方式有两种
启动方式1:双击文件slave-agent.jnlp
image.png
启动方式2:下载slave.jar到本地,然后进入存放slave.jar的目录,复制粘贴并运行java -jar slave.jar -jnlpUrl http://xxxxx即可启动
image.png
四、配置job
1、新建一个job,命名为:RFtest
image.png
image.png
2、设置丢弃旧的构建,保持构建的天数为3,保持构建的最大个数为3(可以不设置)
image.png
3、勾选限制项目的运行节点,标签表达式:填写子节点设置的标签UItest
image.png
image.png
4、源代码管理,设置为:无。如果有Git或SVN的话,可以设置
image.png
5、构建步骤,增加构建步骤--执行Windows批处理命令,输入命令:pybot.bat E:\RFtest\baidu_test\search.txt,格式为:pybot.bat 自动化脚本所在目录
image.png
image.png
image.png
image.png
6、此时就可以构建了,但是没有测试结果,测试报告和日志
image.png
image.png
7、设置定时构建(实际场景中一般会设置在凌晨跑一次脚本,早上来看测试报告)
进入job--配置--构建触发器--勾选定时构建,设置定时跑脚本的时间即可
image.png
image.png
8、设置为其他job构建后触发(实际场景中,一般是开发提交代码,构建之后,触发测试job进行构建)
进入job--配置--构建触发器--勾选其他工程构建后触发--填写关注的项目--勾选只有构建稳定时触发即可
image.png
image.png
image.png
五、添加测试结果
1、构建后操作,增加构建后步骤-Publishes Robot Framework test results,Directory of Robot outpu默认为空,如果前面的pybot.bat指定了输出目录,那么这里也要对应进行设置,否则找不到output.xml,就没法解析结果了
image.png
image.png
image.png
2、再次构建后,可以看到测试报告
image.png
image.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
image.png
image.png
image.png
六、添加邮件通知
1、在Jenkins主页--系统管理--系统配置,设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件)
image.png
image.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/>
image.png
image.png
image.png
3、配置邮件通知
image.png
image.png
4、安装插件Email Ext Recipients Column Plugin和Email Extension Template Plugin,进入系统管理--插件管理进行安装
image.png
5、在job中配置邮件通知
进入job:RFtest--配置--构建后操作--增加构建后操作--Editable Email Notification,填写配置信息
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
6、构建job,就可以收到邮件通知了
image.png
整个流程大致是这样,欢迎大家提出优化建议~
网友评论