专栏首页简尚Jenkins自动执行Python脚本,并输出测试报告

Jenkins自动执行Python脚本,并输出测试报告

这段时间,在家时间自由(除了睡觉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,看下文:

Jdk Jenkins Git / 安装部署 。

持续集成之Jenkins知识普及~
持续集成之Jenkins _ 老徐先带你入个门
2)如果Linux命令看不懂,看下文:

21天,搞定软件测试从业者必备的Linux命令(完整篇)

3)如果Git命令看不懂,看下文:

测试工程师日常必备Git命令行操作:新建分支,修改,提交代码,手把手入门基础。

测试从业者 必备 之 Git入门到实战系列

Git / 版本 / 分支 / 提测 ,一些常识&流程梳理。

这几篇相关文章看完后,再重新实操这篇文章的:通过Jenkins执行Python脚本生成测试报告;

/

今天想聊的,就这些 。

技术人,别只关注技术本身,技术只是解决问题的手段 ;

软技能、硬技能、测试基础,齐头并进,一个都不能少 。

如果能看到这篇文章,恭喜你,老徐此公号「简尚」,就是带你全方位,去提升综合能力的 。

未完待续 。

本文分享自微信公众号 - 简尚(idoxu2016)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 测试工程师日常必备Git命令行操作:新建分支,修改,提交代码,手把手入门基础。

    这篇文章,属于基础普及文;很早前写的,重新推送,主要目的是给各位在家无聊,练练手,希望对你有用 ;

    IDO老徐
  • 掌握体系化知识,从手工测试轻松转岗自动化或测试开发

    不得不说,随着行业的竞争加剧,互联网产品迭代速度越来越快,QA 与测试工程师都需要在越来越短的测试周期内充分保证质量。

    IDO老徐
  • 关于「测试时间/测试周期」7 点参考

    1、严格来说,一定是从需求阶段,或者立项阶段,就参与到项目,根据最终的需求、开发排期,是估算合理的测试时间(测试时间估算,见文章:“测试时间估算”的现状 及 4...

    IDO老徐
  • Jenkins和gitlab集成自动构建

    Jenkins上需要安装如下插件 Gitlab Hook Plugin,GitLab Plugin

    程序员同行者
  • 使用Generic Webhook Trigger插件实现Jenkins+WebHooks(码云)持续集成

    我们在开发的时候,特别是前后端分离的时候,前端需要我们后端提供的API接口,可能需要每次有一个接口的变动都需要重新部署到dev环境上,例如:最常见的Git工作流...

    Java后端技术
  • 基于 Gitlab 关联 Jenkins 实现自动化构建

    之前部署了 Gitlab 的代码托管平台和 Jenkins 的代码发布平台。通常是开发后的代码先推到 Gitlab 上管理,然后在 Jenkins 里通过脚本构...

    DevOps时代
  • CI-持续集成(2)-软件工业“流水线”技术实现

    1   概述 持续集成(Continuous Integration)是一种软件开发实践。在本系列文章的前一章节已经对其背景及理论体系进行了介绍。本小节则承接前...

    用户1170933
  • 介绍新的文件夹授权插件

    该插件的灵感来自角色策略插件,可改善性能并简化角色管理。开发该插件是为了解决 Role Strategy Plugin 在许多角色上的性能限制。同时,该插件通过...

    LinuxSuRen
  • 测试Kubernetes的一致性是否让你摸不着头脑?在测试运行时获取进度更新

    在Sonobuoy 0.15.4中,我们引入了插件通过使用可定制的webhook向Sonobuoy报告插件进展的功能。报告状态对于运行Kubernetes一致性...

    CNCF
  • 手机管家PiTest插件辅助测试方法分享

    背景 你是否遇到过这样的测试场景: 垃圾需要达到2G! Wifi必要有有风险! CPU占用率达到70%以上! 日流量使用占用套餐的一半! 你的QQ必须要有风险...

    腾讯移动品质中心TMQ

扫码关注云+社区

领取腾讯云代金券