[python]Robotframework+Git+jenkins实现持续集成并生成测试报告发送邮件
阅读原文时间:2023年07月11日阅读:3

1.环境需求

&robotframework(不写搭建,自行百度)

& git(不写安装,自行百度)

&jenkins

2.安装jenkins

官网下载最新版本https://jenkins.io/

文档使用目前最新的版本2.125

&安装完到指定的目录解压—自定义目录—打开浏览器http://localhost:8080打开成功表示安装成功,后面根据提示创建用户再登录-选择推荐安装的插件

3.更改配置文件和指定打开端口

&Jenkins目录下找到jenkins.xml文件,找到……..,把下面这段替换原标签内容(解释下为什么全部替换,指定端口改下端口号即可,但是后面Jenkins中可能会出现不能打开安装的robot插件报告,以备后患还是改掉)改完别忘记重启一下服务才会生效

-Xrs -Xmx256m -Dhudson.model.DirectoryBrowserSupport.CSP= -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8081

4.系统配置相关路径

注意:有些虽可不配,因为默认不配是因为用到的东西在本地环境变量里保守起见,没有配置按下文配置下

&登录jenkins-系统管理—系统设置

@配置下本地ip和系统管理员邮箱(注:邮件通知必须要配管理员邮箱)

&配置邮箱,我用的是阿里企业邮箱,具体网易或其他邮箱看下smtp是什么,同样配置即可

&配置邮件通知,和上图同样的配置,配置完可以通过邮件测试下,成功返回Email was successfully sent

注意:为了避免出现不必要的问题,配置邮箱都需要和管理员邮箱一致

5.系统设置-全局工具配置

&配置下本地Git即可

6.安装jenkins中的robot测试报告插件

&系统管理—管理插件—可选插件—安装—重启或返回

7.构建任务发送邮件

新建一个自由风格的项目名为test

&选择项目进去配置--Geral配置—设置下只保留的构建数

&源码管理,选择git,输入项目的路径,和添加一个有pull或clone权限的账号

&构建触发器--定时构建

&构建选择,执行批处理文件命令 ,当git pull下来默认是放在jenkins目录下的workspace\构建的任务名\pull下来的文件

&构建后操作—添加robotframework报告

&添加邮件发送配置

发送邮件的模板如下,具体可看下配置



${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志



    <tr>  
        <th align="center" colspan="2"><br />  
            <h2>构建信息</h2>  
        </th>  
     </tr>  
      <tr>${JELLY\_SCRIPT,template="html"}<br/>  </tr>  
      <tr>  
            <ul>  
                <li>项目名称 : ${PROJECT\_NAME}</li><br />  
                <li>详细测试报告 : <a href="${PROJECT\_URL}/${BUILD\_NUMBER}/robot/">${PROJECT\_URL}/${BUILD\_NUMBER}/robot/</a></li><br />  
                <li>触发原因: ${CAUSE}</li><br />  
                <li>项目  Url : <a href="${PROJECT\_URL}">${PROJECT\_URL}</a></li><br />  
            </ul>  
       </tr>  
</table>  
</div>  


&现在就配置好了,对于这robot这一套只要装下测试报告插件就好了,其他的是一开始选择推荐安装时都自动安装了,点击立即构建就可以了~

&解释下定时构建填写的时间表达式

* * * * *

分别的定义为:分 时 天 月 星期

第一个*表示分钟 (0–59)

第二个*表示小时       Thehour of the day (0–23)

第三个*表示哪天         Theday of the month (1–31)

第四个*表示哪月  Themonth (1–12)

第五个*表示哪年        Theday of the week (0–7) where 0 and 7 are Sunday.

*表示全部

如果7:00整 那么第一个*为H代表00