Jenkins自动执行python脚本输出测试报告
前言
在用python做自动化测试时,我们写好代码,然后需要执行才能得到测试报告,这时我们可以通过 Jenkins 来进一步完成自动化工作。
借助Jenkins,我们可以结合 Git/SVN 自动拉取代码,可以设置定时构建,接着就可以定时触发执行脚本,得到并查看测试报告,最后还可以配置发送邮件等。
今天我们就来学习下,如何结合 Git/SVN 自动拉取代码,通过构建来自动执行python脚本输出测试报告。
Jenkins创建Job
- 新建一个自由风格的项目
登录Jenkins后,选择新建任务,新建一个自由风格的项目。

- 设置源码管理
在源码管理下,选择Git。

Repository URL指代码仓库地址,复制Github仓库的地址填入即可。

注意:如果是SSH方式链接的,点右上角的SSH地址,使用SSH方式的话需要设置SSH Key。
如果选择的时候没有显示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),可能不太好弄,因此我这里设置生成的测试报告是固定的名称,这样就方便多了。
查看测试报告
配置完成后,构建成功就可以看到测试报告了。


点击查看报告后,发现报告和我们手动在浏览器打开的不一样,这是因丢失了css样式导致的,解决这个问题的方法有多种,可以参考网上的博客:jenkins 生成html报告显示样式问题
我解决的方法如下:
首先,安装 Groovy 插件,重启Jenkins。

接着修改一下项目的配置,增加构建步骤:Execute system Groovy script,输入内容:System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""),最后保存。

上面设置完成,返回工作台,需要重新构建项目才生效,构建后再次查看报告,可以看到显示正常了。

OK,到这里我们已成功实现Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告。
Jenkins自动执行python脚本输出测试报告的更多相关文章
- windows 10 如何设定计划任务自动执行 python 脚本?
我用 python 写了一些脚本,有一些是爬虫脚本,比如爬取知乎特定话题的热门问题,有一些是定期的统计分析脚本,输出统计结果到文档中.之前我都是手动执行这些脚本,现在我希望如何这些脚本能自动定时执行. ...
- 自动执行Python脚本
一.自动执行Python脚本(前提条件是电脑已安装对应的Python程序) 1.1.win+R-输入cmd在输入where python查看Python的安装位置 C:\Users\ASUS\AppD ...
- 【jenkins】jenkins实时显示python脚本输出
jenkins在构建shell脚本时可以实时输出结果,但是在构建python脚本时,是等到python执行完成以后,才显示结果,这个对于我们判断脚本执行状态非常不利 这里介绍一种方法,能够实时显示py ...
- 使用JenKins实现自动执行python脚本
1.使用Jenkins创建一个工程,工程主要配置项参照下图,其他配置项恢复默认 2.工程配置完成之后,点击[立即构建],执行完成后进入到控制台查看是否执行成功.
- unittest 执行测试脚本输出测试报告
import unittestimport HTMLTestRunnertest as HTMLTestRunner#获取路径path = './'#创建测试套件,读取测试脚本suite = unit ...
- linux下设置计划任务执行python脚本
linux下设置计划任务执行python脚本 简介 crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自 ...
- jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理
jenkins服务器使用python脚本rabbitmqadmin和shell对目标服务器进行管理 准备工作: .jenkins服务器,安装rabbitmqadmi命令 rabbitmqadmin管理 ...
- nginx tomcat 自动部署python脚本【转】
#!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/ho ...
- win cmd执行Python脚本提示找不到模块问题
Windows关于命令行执行Python脚本,提示找不到模块的问题,我 本人也是在pycharm上运行没毛病的,后来在本地搞了个Jenkins做定时任务,谁知道就提示找不到模块 也百度了很多,都是说什 ...
随机推荐
- 学习vue就是那么简单,一个简单的案例
vue是前端兴起的一个javascript库,相信大家都使用过jQuery,虽然vue和jQuery没有可比性,但从熟悉的角度去理解新的东西或许会容易接受一些,有时候由于思想和模式的转变会带来阵痛,但 ...
- Filter、Intercepter、AOP的区别
在使用Spring MVC开发RESTful API的时候,我们经常会使用Java的拦截机制来处理请求,Filter是Java本身自带拦过滤器,Interceptor则是Spring自带的拦截器,而A ...
- 2019-9-3-win10-uwp-收集-DUMP-文件
title author date CreateTime categories win10 uwp 收集 DUMP 文件 lindexi 2019-09-03 17:48:44 +0800 2018- ...
- linux PCI 寻址
每个 PCI 外设有一个总线号, 一个设备号, 一个功能号标识. PCI 规范允许单个系统占 用多达 256 个总线, 但是因为 256 个总线对许多大系统是不够的, Linux 现在支持 PCI 域 ...
- 常用MouseEvent鼠标事件对象&KeyboardEvent键盘事件对象&常用键盘码
MouseEvent鼠标事件对象: e.target //=> 事件源(操作的是哪个元素) e.clientX e.clientY //当前鼠标触发点距离当前窗口左上角的X|Y轴坐标 e.pag ...
- Android SDK目录具体结构及Android源码的具体结构
Android SDK目录具体结构 1. add-ons:这里面保存着附加库,比如Google Maps,当然你如果安装了OphoneSDK,这里也会有一些类库在里面. 2. docs:这里面是And ...
- 简易数据分析 15 | Web Scraper 高级用法——CSS 选择器的使用
这是简易数据分析系列的第 15 篇文章. 年末事情比较忙,很久不更新了,后台一直有读者催更,我看了一些读者给我的私信,发现一些通用的问题,所以单独写篇文章,介绍一些 Web Scraper 的进阶用法 ...
- Selenium3+Python3环境搭建
安装python 官网直接下载当前最新版的python Python官网地址:https://www.python.org/ 百度搜索Python3.6安装步骤 Python安装步骤:自行百度,暂不提 ...
- MyBatis使用mapper动态代理实现DAO接口
工具: mysql 5.5.62 IDEA 参考自:https://www.cnblogs.com/best/p/5688040.html 遇到的问题: 无法读取src/main/java下配置文 ...
- 【题解】JXOI2018游戏(组合数)
[题解]JXOI2018游戏(组合数) 题目大意 对于\([l,r]\)中的数,你有一种操作,就是删除一个数及其所有倍数.问你删除所有数的所有方案的步数之和. 由于这里是简化题意,有一个东西没有提到: ...