(四)、使用Jenkins进行Robot Framework自动化持续工作

A.    目标:

利用jenkins可以定期执行自动化,使自动化持续执行,不断优化

B.    配置

1.   创建任务

2.   任务的配置

1)     General

2)     源码管理

3)     构建触发器

注:表示每天凌晨1点执行

4)     构建环境


5)     构建

如果在Windows系统中搭建jenkins的话,在构建中,选择“Execute Windows batch command”,输入pybot.bat  d:\test.txt (这只是举个例子,具体执行哪个目录下的哪些case,根据实际情况决定)

如果不清楚pybot.bat的用法,可以用RIDE跑一个用例,看command信息,先直接拿过来调试用用

注:

1、c:\users\root\appdata\local\temp\RIDEg6yof8.d\argfile.txt就是定义要执行自动化的用例。我们可以直接将argfile.txt放到jenkins稳定的目录下,例如:C:\Users\root\.jenkins\temp\argfile.txt

2、‘E:\SVN\项目\xxxx\自动化\已核对\测试项目’直接引用即可,因为这里就是自动化用例所在的路径

6)     构建后操作

Robot results:

构建后的操作,选择“PublishRobot Framework test results”

*Directory ofRobot output 填一个本地路径,要根据你的output文件放在哪里了,默认可以不填

*Thresholds forbuild result  阀值设置,如80%和100%,这里应该是测试用例执行成功率和通过率的设置

注:如果不知道Directoryof Robot output填什么路径,可以通过控制台输出进行定位,如下:

  

其实report.html和log.html的输出路径是在启动脚本控制的,如下:

Email 信息:

点击“增加构建后操作步骤”,然后点击“Editable Email Notification”,进入邮件内容详细配置界面。

点击页面上的Advanced settings设置什么时候触发发送邮件的功能:

把默认的trigger给删除掉,然后新增一个trigger,然后选择Always选项,如此便不管构建成功还是失败都会发送邮件。

点击应用后保存,项目配置完成!!!

注:

1、Default Subject:邮件主题,可以书写成:XXX项目自动化测试通知:$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS! 分析下这几个参数什么意思:$PROJECT_NAME 构建项目的名称,也就是selenium_2_combat;# $BUILD_NUMBER 构建的号码;$BUILD_STATUS构建状态,这几个参数,它会自动读取,按照这种格式书写即可。

2、Default Content:邮件内容,这块是重点,最能体现报告的重点,这里我们调用的是$DEFAULT_CONTENT变量,实际是用到robot_results.groovy文件:

配置如下:

$DEFAULT_CONTENT变量来源:系统设置——> Extended E-mail Notification

$DEFAULT_CONTENT变量配置:${SCRIPT,template="robot_results.groovy"}

robot_results.groovy文件是在$Jenkins_Home/email-templates目录下的

robot_results.groovy内容请看如下:

robot_results.groovy文件下载地址:https://download.csdn.net/download/glongljl/10396246

注:注意附件上的路径<a href="${rooturl}${build.url}robot/report/report.html">,如果跳转显示不正确,需做修改。

3.   邮件查收

定期“构建”

对应邮箱查收如下

查看详细的报告

C.     Jenkins常见错误

1.   jenkins调用robot_results.groovy 未生效

配置如下:

任务配置:Default Content引用$DEFAULT_CONTENT变量

$DEFAULT_CONTENT变量配置:${SCRIPT,template="robot_results.groovy"}

robot_results.groovy文件是在$Jenkins_Home/email-templates目录下的

robot_results.groovy内容请看如下:

robot_results.groovy文件下载地址:https://download.csdn.net/download/glongljl/10396246

结果邮箱收到时没有读取robot_results.groovy的模板内容

经过分析:

是由于缺少groovy-postbuild插件操作的,安装groovy-postbuild插件


groovy-postbuild插件安装完之后,重新执行计划,邮箱可以获取到模板信息的,如下:

2.   Robot Framework - Jenkins 的测试报告打不开

点击邮件的链接

以及点击Jenkins上的链接

结果界面都会报如下错误:

解决办法:

1. 如果你是用命令行开启的

关闭Jenkins,修改开启命令如下,重新开启:

java-Dhudson.model.DirectoryBrowserSupport.CSP= -jar E:\Jenkins\jenkins.war   

2. 如果你是用msi安装的

找到jenkins.xml 文件,修改如下

<arguments>-Xrs-Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP=-Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar"%BASE%\jenkins.war" --httpPort=8080</arguments>   

3. 如果你是用tomcat 启动的

有个临时的解决方法

打开jenkins 首页——>进入系统管理——>进入脚本命令行

在输入框输入如下代码,并执行

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")

注:方法3 都可以使用,但是重启后就失效了,需要重新执行

之后问题正常显示如下:


猜你喜欢

转载自blog.csdn.net/glongljl/article/details/80226905