这段时间,在家时间自由(除了睡觉8小时,其他时间都在工作和学习),有大把的时间实操练习一些硬技能;
今天,更新一篇利用Jenkins这套框架,调用Python自动化脚本,并输出测试报告的手把手实操文章;
步骤非常详细,且整篇文章非常完整;有每一步的操作截图,每位同学都可以跟着实操(建议多操作几遍);
-- IDO老徐 2020.02.07
一、前言
在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins
来进一步完成自动化工作。
借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等。
今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告。
二、Jenkins创建Job
- 新建一个自由风格的项目
登录Jenkins后,选择新建任务,新建一个自由风格的项目。
创建项目
- 设置源码管理
在源码管理下,选择Git。
源码管理
Repository URL
指代码仓库地址,复制Github仓库的地址填入即可(或者填写公司自主搭建的Git仓库地址url ;)。
Github仓库地址
注意:如果是SSH方式链接的,点右上角的SSH地址,使用SSH方式的话需要设置SSH Key。
如果选择的时候没有显示Git账户,则需要添加一个,在添加界面填上自己Git仓库登录的账号和密码,如下:
添加Git账户
- 构建操作
接着,我们可以设置构建触发器,构建步骤等操作。定时构建语法,这里不多介绍,大家可以去网上查找学习。
设置定时构建
设置构建步骤,如下:
构建步骤
执行构建命令
在这里,需要输入执行命令,也就是说Jenkins将Git仓库代码下载之后,我们要怎么通过命令去执行脚本,这个根据自己执行脚本的情况填写即可,这里和我们手工执行脚本的操作是一致的。
三、构建Job
上面设置完成之后,保存即可。回到工作台,进入任务模块点击立即构建,我们测试一下构建执行脚本是否正常。
立即构建
构建成功
如上,如果构建显示为蓝色,则表示构建成功,构建之后可以点击构建的任务图标,查看具体的构建日志,控制台输出等相关信息。
查看控制台输出
复制上面的路径,然后到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界面上直接查看报告。对此,我们可以安装一个插件来达到这个目的。
插件管理
进入插件管理界面,选择可选插件,然后搜索插件:HTML Publisher
,直接安装即可。
安装插件
安装成功
安装完成之后,返回工作台。找到创建的Job,重新设置 构建后操作步骤
,选择 Publish HTML reports
。
设置构建后操作
设置显示报告
注意:在这里,我们通过执行python脚本生成的测试报告,如果包含详细时间的(比如这样
TestReport_20200112151736.html
),可能不太好弄,因此我这里设置生成的测试报告是固定的名称,这样就方便多了。
四、查看测试报告
配置完成后,构建成功就可以看到测试报告了。
HTML报告
查看报告
点击查看报告后,发现报告和我们手动在浏览器打开的不一样,这是因丢失了css样式导致的,解决这个问题的方法有多种 。
我解决的方法如下:
首先,安装 Groovy
插件,重启Jenkins。
安装Groovy插件
接着修改一下项目的配置,增加构建步骤:Execute system Groovy script
,输入内容:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
,最后保存。
Execute system Groovy script
上面设置完成,返回工作台,需要重新构建项目才生效,构建后再次查看报告,可以看到显示正常了。
正常显示的报告
OK,到这里我们已成功实现Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告。
End
如上,搞定 。
如果实操一次搞不定,对着多操作几遍;
此文作者:wintests ,百人计划4期成员 ;
作者授权发布 。
/
IDO老徐,补充:
如果想自己练习、学习,没有git仓库的;之前老徐搭建了一个git服务,随便玩
http://istester.com/page/git.html
这篇文章实操过程中,如果不知道如何入手,也许是缺基础知识,建议先看如下几篇入门文章:
1)如果电脑上没安装Jenkins,看下文:
持续集成之Jenkins知识普及~持续集成之Jenkins _ 老徐先带你入个门2)如果Linux命令看不懂,看下文:
3)如果Git命令看不懂,看下文:
测试工程师日常必备Git命令行操作:新建分支,修改,提交代码,手把手入门基础。
Git / 版本 / 分支 / 提测 ,一些常识&流程梳理。
这几篇相关文章看完后,再重新实操这篇文章的:通过Jenkins执行Python脚本生成测试报告;
/
今天想聊的,就这些 。
技术人,别只关注技术本身,技术只是解决问题的手段 ;
软技能、硬技能、测试基础,齐头并进,一个都不能少 。
如果能看到这篇文章,恭喜你,老徐此公号「简尚」,就是带你全方位,去提升综合能力的 。
未完待续 。
之前有一些2019测试行业数据报告,如有兴趣,公号后台,对话框回复“ 0106 ” 获取 。
扫码关注,回复“ 0106 ” 获取
End 。
有想讨论的,底部留言,交流 。
IDO老徐
2020.02.07 深圳
上一篇
推荐文章
希望老徐的每篇文章都对你有那么点价值 。
如有用,广而告之(欢迎文章转发,禁止未经允许抄袭COPY文章内容到其他平台) 。
>如果此文实操3遍以上还没成功的,可能是你的基础技能太薄弱,甚至完全没接触,可以看看原文的视频(虽然老徐不提倡视频学习、太慢)
本文分享自微信公众号 - 简尚(idoxu2016)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。