Jenkins+Robot Framework持续集成配置(二)

一、用例结果发送邮件配置:

1、在任务配置的 Default Content里配置${SCRIPT,template="robot_results.groovy"}

Jenkins+Robot Framework持续集成配置(二)_第1张图片

 Jenkins+Robot Framework持续集成配置(二)_第2张图片

 2、在jenkins主目录下创建email-templates文件夹,将robot_results.groovy放在email-templates文件夹下

Jenkins+Robot Framework持续集成配置(二)_第3张图片

<%  
 import java.text.DateFormat  
 import java.text.SimpleDateFormat  
%> 
 




<%  
 def robotResults = false  
 def actions = build.actions // List  
 actions.each() { action ->  
    if( action.class.simpleName.equals("RobotBuildAction") ) { // hudson.plugins.robot.RobotBuildAction  
        robotResults = true 
%>
        
<% def suites = action.result.allSuites suites.each() { suite -> def currSuite = suite def suiteName = currSuite.displayName //忽略最上层结构两个占位的元素 while (currSuite.parent != null && currSuite.parent.parent != null) { currSuite = currSuite.parent suiteName = currSuite.displayName + "." + suiteName } %> <% DateFormat format = new SimpleDateFormat("yyyyMMdd HH:mm:ss") def execDateTcPairs = [] suite.caseResults.each() { tc -> Date execDate = format.parse(tc.starttime) execDateTcPairs << [execDate, tc] } //按执行日期、显示名称进行排序 execDateTcPairs = execDateTcPairs.sort{ a,b -> a[1].displayName <=> b[1].displayName } execDateTcPairs = execDateTcPairs.sort{ a,b -> a[0] <=> b[0] } execDateTcPairs.each() { def execDate = it[0] def tc = it[1] %> <% if(tc.errorMsg != null) { %> <% }%> <% } // tests } // suites %>

${project.name} 自动化测试报告

详细报告 点击查看报告详情
用例总数 通过 不通过 通过率
<%= action.result.overallTotal %> <%= action.result.overallPassed %> <%= action.result.overallFailed %> <%= action.overallPassPercentage %>%
Test Name Status Elapsed Time
<%= suiteName %>
<%= tc.displayName %> "><%= tc.isPassed() ? "PASS" : "FAIL" %> <%= tc.getDuration().intdiv(60000)+"分"+(tc.getDuration()-tc.getDuration().intdiv(60000)*60000).intdiv(1000)+"秒" %>
错误描述: <%= tc.errorMsg%>
<% } // robot results } if (!robotResults){ %>

No Robot Framework test results found.

<%}%>

 记得文件保存时用uft-8保存,不然会出现中文乱码

Jenkins+Robot Framework持续集成配置(二)_第4张图片

3、安装groovy-postbuild插件

我这是已安装的,未安装在可选插件里,安装完后,重启jenkins

Jenkins+Robot Framework持续集成配置(二)_第5张图片

输入:http://地址/restart 可以重启

Jenkins+Robot Framework持续集成配置(二)_第6张图片

二、问题及解决

1、如果jenkins无法更新插件

有如下报错:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
Caused: sun.security.validator.ValidatorException: PKIX path building failed
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)

解决方法: 安装skip-certificate-check 插件

2、发送的邮件模板未生效

 Jenkins+Robot Framework持续集成配置(二)_第7张图片

解决方法:更新 Email Extension Plugin 插件,我是更新到了2.86版本才好使

Jenkins+Robot Framework持续集成配置(二)_第8张图片

3、邮件模板出现中文乱码

解决办法:保存文件时使用utf-8保存

Jenkins+Robot Framework持续集成配置(二)_第9张图片

上一篇

Jenkins+Robot Framework持续集成配置(一)_新雪兰的博客-CSDN博客_jenkins robotframework 

你可能感兴趣的:(robotFramework,自动化,jenkins,robot,framework)