![f415a48e75f08529cb44b5a1c94b7bc1.gif](https://i-blog.csdnimg.cn/blog_migrate/d7392252d311ca2bf2b5b1c756f865e6.gif)
前言
在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作。
借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等。
今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告。
Jenkins创建Job
新建一个自由风格的项目
登录Jenkins后,选择新建任务,新建一个自由风格的项目。
![472401be027c866001b491b8d8f50336.png](https://i-blog.csdnimg.cn/blog_migrate/bed2659de1331a1dba9bcbff8fc8e53f.jpeg)
设置源码管理
在源码管理下,选择Git。
![29b095193733bf07e0af6d985cf00797.png](https://i-blog.csdnimg.cn/blog_migrate/7a60acc8c349173c13e6bd036e56bf98.png)
Repository URL指代码仓库地址,复制Github仓库的地址填入即可。
![48505e1be6200232b6342fe9f2f12757.png](https://i-blog.csdnimg.cn/blog_migrate/abe4eab6f213309a3814b2af9f7def3e.jpeg)
注意:
如果是SSH方式链接的,点右上角的SSH地址,使用SSH方式的话需要设置SSH Key。
如果选择的时候没有显示Git账户,则需要添加一个,在添加界面填上自己Git仓库登录的账号和密码,如下:
![8bc320f31b99709d4d89b0a02e49e383.png](https://i-blog.csdnimg.cn/blog_migrate/51bd6af5a2a7945356fa9cec450e4abf.png)
构建操作
接着,我们可以设置构建触发器,构建步骤等操作。
定时构建语法,这里不多介绍,大家可以去网上查找学习。
![7b80b43457c8d7386edb102dcd13ec96.png](https://i-blog.csdnimg.cn/blog_migrate/fb30cfaf57f56ffe9f13ada1d1b2f154.png)
设置构建步骤,如下:
![03a1cf27b614e4df931dde7a1878cf42.png](https://i-blog.csdnimg.cn/blog_migrate/5d8ed512333bfd3ab3ee1daa32c14fab.png)
在这里,需要输入执行命令,也就是说Jenkins将Git仓库代码下载之后,我们要怎么通过命令去执行脚本,这个根据自己执行脚本的情况填写即可,这里和我们手工执行脚本的操作是一致的。
构建Job
上面设置完成之后,保存即可。
回到工作台,进入任务模块点击立即构建,我们测试一下构建执行脚本是否正常。
![d4257d3602e78c12a52e220f7c4b9527.png](https://i-blog.csdnimg.cn/blog_migrate/544a45a3ffb8ddb0d9b118d2b75dedfe.png)
如上,如果构建显示为蓝色,则表示构建成功,构建之后可以点击构建的任务图标,查看具体的构建日志,控制台输出等相关信息。
![fd4e1d64a15ede8a02b299a869addad7.png](https://i-blog.csdnimg.cn/blog_migrate/66b0f06ad6313fd2a153feb7e11fbc4e.jpeg)
查看控制台输出
复制上面的路径,然后到Linux下查看一下。
[root@wintest test_demo]# cd /root/.jenkins/workspace/test_demo
[root@wintest test_demo]# ls
api common config data log README.md report run_all.py testcases
[root@wintest test_demo]#
到这里,我们已经通过Jenkins结合Git自动拉取代码,通过构建来自动执行python脚本。
安装HTML报告插件
上面我们已经通过构建执行python脚本,得到测试报告,但不能在Jenkins界面上直接查看报告。
对此,我们可以安装一个插件来达到这个目的。
![3f231ed43eb1d31982cad50d5ce8372f.png](https://i-blog.csdnimg.cn/blog_migrate/12263e09a5b1061f49d5c39fbd0c6f76.jpeg)
进入插件管理界面,选择可选插件,然后搜索插件:
HTML Publisher,直接安装即可。
![7fb1ceb9d2cd7c6189b21e1072e133d5.png](https://i-blog.csdnimg.cn/blog_migrate/4714fe040e035f2b5a9d5788219ff8a8.png)
安装完成之后,返回工作台。
找到创建的Job,重新设置 构建后操作步骤,选择 Publish HTML reports。
注意:
在这里,我们通过执行python脚本生成的测试报告,如果包含详细时间的(比如这样 TestReport_20200112151736.html),可能不太好弄,因此我这里设置生成的测试报告是固定的名称,这样就方便多了。
查看测试报告
配置完成后,构建成功就可以看到测试报告了。
![55a1d51b79b43e05e59e788be689a6dd.png](https://i-blog.csdnimg.cn/blog_migrate/6e8e0d7b80ea2913247349cd9a570b09.jpeg)
点击查看报告后,发现报告和我们手动在浏览器打开的不一样,这是因丢失了css样式导致的,解决这个问题的方法有多种,可以参考网上的博客:
jenkins 生成html报告显示样式问题
我解决的方法如下:
首先,安装 Groovy 插件,重启Jenkins。
![4e06a50b28278890a298156892a3df7a.png](https://i-blog.csdnimg.cn/blog_migrate/2631b3dba5d0f38d9af54d3379695d48.png)
接着修改一下项目的配置,增加构建步骤:
Execute system Groovy script,输入内容:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""),
最后保存。
![3986d958dde2098797953368c613b11c.png](https://i-blog.csdnimg.cn/blog_migrate/766c1f61e0d3f31f6e36ab1263d7fa69.png)
上面设置完成,返回工作台,需要重新构建项目才生效,构建后再次查看报告,可以看到显示正常了。
![cbae937574dd4d40e696c2ccd1b1b5f8.png](https://i-blog.csdnimg.cn/blog_migrate/29756c815a8383559be6d2e8117464c1.jpeg)
OK,到这里我们已成功实现Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告。
![cf7e988d9f948c03f2dfb561cd05c4f0.gif](https://i-blog.csdnimg.cn/blog_migrate/0db75726f7c16c8d44a53bf8efcc8852.gif)
END
![9dfc8a275573e4b034c2fa53b5690f54.png](https://i-blog.csdnimg.cn/blog_migrate/cd2d380872a0a4b82f9215699d922add.jpeg)
原文链接:
https://www.cnblogs.com/wintest/p/12184868.html
本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删除
推荐阅读
点击阅读☞深度解析 | Pytest+Allure+Jenkins 自动化测试报告
点击阅读☞惊!测试大佬钟爱的Jenkins自动化部署如此简单,帮你解放时间!
点击阅读☞我刚刚学会用Jenkins自动执行Python脚本输出测试报告!你呢?
点击阅读☞记一次完整的Jenkins-slave实现并行自动化测试过程!
点击阅读☞来都来了,测测你会不会Jenkins分布式环境搭建?!
![6a44292b1d80744159eddc2502ee5f63.gif](https://i-blog.csdnimg.cn/blog_migrate/cc2c27efa5cfe575e5596883475b6dc2.gif)
戳
![c14010cd5fae56ddf41e5e62efda25ef.png](https://i-blog.csdnimg.cn/blog_migrate/cde8db3499fbf2cbf056f65137f3bb3c.png)