Robot Framework+Jenkins

最近在研究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

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

整个流程大致是这样,欢迎大家提出优化建议~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夜莺2517阅读 128,424评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 7,733评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 9,078评论 28 54
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,874评论 2 9

友情链接更多精彩内容