前言

以前做自动化测试的时候一直用的HTMLTestRunner来生成测试报告,后来也尝试过用Python的PyH模块自己构建测试报告,在后来看到了RobotFramework的测试报告,感觉之前用的测试报告都太简陋,它才是测试报告应该有的样子。也就是在那段时间疯狂研究RF的测试报告生成方法,接触到了很多好用的库,比如json2xml进行测试结果的转换,虽然用起来不太方便,但也能正常的生成标准的RF测试报告。

直到最近一次偶然的机会接触到了我们今天的主角Allure,我才真正感受到什么叫 专业的事要交给专业的人做

Allure介绍

Allure是一款非常轻量级并且非常灵活的开源测试报告生成框架。它简单易用,易于集成,并且支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。

本文主要用Jenkins下面就Pytest如何与Allure集成做详细介绍。

环境搭建

Jenkins 是基于Java开发的一种持续集成工具,所以,Jenkins需要Java环境。而Allure同样的依赖Java环境,所以首先搭建java的环境,这个这里不做介绍。

Jenkins安装

搭建好java的环境后,配置安装好Tomcat,在https://jenkins.io/上下载jenkins,把下载的jenkins.war放在tomcat的webapps的目录下,切换到在tomcat的bin目录下,执行Tomcat的start脚本启动tomcat,启动后,在浏览器中访问你的Tomcat配置监听的IP端口,如:http://localhost:8080/jenkins。

博主是在windows环境下使用的是XAMPP集成的Tomcat,XAMPP相关的搭建安装使用可以参考这篇问题。

Jenkins首次使用会看到需要输入密码,Windows下的密码是在C:\Users\Administrator.jenkins\secrets目录下的initialAdminPassword文件中,复制其中的内容,把它copy到jenkins的密码输入框,点击下一步,配置账户密码,选择安装推荐插件或者手动选择都可以,关于插件这里就不详细的说明了,完成Jenkins的配置。

Allure Jenkins插件安装配置

  • 首先打开jenkins的插件管理界面

  • 直接搜索allure可以搜索到,然后选择安装就可以了。安装成功后,可以在已安装列表里查看到该插件的信息。

  • 然后我们回到系统管理界面,点击全局工具设置(Global Tool Configuration),在Global Tool Configuration的界面安装allure,选择下载的插件版本

  • 选择好后,点击save保存。

至此,环境就基本上安装完了。

测试脚本准备

安装Python依赖包

下来我们需要安装pytest,安装的命令为:

pip install pytest

pip install pytest-allure-adaptor

在线安装成功后,在cmd的命令中输入pytest,如果显示信息如下,表示安装OK,见截图:

测试脚本

下面我们来编写代码,来进行测试,比如编写如下的测试代码,见编写后的源码:

#! /usr/bin/python
# coding:utf-8
"""
@author:Bingo.he
@file: test_allure.py
@time: 2018/07/12
"""
import unittest
class DivTest(unittest.TestCase): def test_div_001(self):
self.assertEqual(1, 1) def test_div_002(self):
self.assertEqual(2, 2) def test_div_003(self):
self.assertEqual(3, 3) def test_div_004(self):
self.assertEqual(4, 4) def test_div_005(self):
self.assertEqual(5, 3)

构建Jenkins任务

新建任务(Job)

  • 新建一个构建任务,选择 自由风格的任务,取名如AllureDemo,点击确定

  • 在配置界面,选择构建,在构建步骤中选择 Windows 批处理命令(windows batch command),填写执行的命令,见截图:

  • 在构建后操作选择Allure Report,见截图:

  • 点击保存会返回项目详情页面,可以看到显示allure测试报告的图标

  • 我们立即构建后,我们可以看到构建成功的信息,点击allure测试报告即可以看到allure测试报告

Allure Report 测试报告

概览

概览 中展示了本次测试的测试用例数量,成功用例、失败用例、跳过用例的比例,测试环境信息,SUITES,FEATURES BY STORIES等基本信息,当与Jenkins做了持续置成后,TREND区域还将显示,历次测试的通过情况。

概览 的左边栏,还从不同的维度展示测试报告的其他信息,我们可以自己点进去看看。

我们可以在下面选择展示语言

Behaviors

Suites

将脚本的目录结果展示本次所有的测试用例执行情况。

Graphs

展示详细的数据信息,还包含以往的构建信息。

【测试设计】使用jenkins 插件Allure生成漂亮的自动化测试报告的更多相关文章

  1. 【Python】使用Pytest集成Allure生成漂亮的图形测试报告

    前言 大概两个月前写过一篇<[测试设计]使用jenkins 插件Allure生成漂亮的自动化测试报告>的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jen ...

  2. Ant中批量调用TestNG的XML文件,并调用TestNgXlst生成漂亮的html测试报告

    from:http://blog.csdn.net/bwgang/article/details/7865184 1.在Ant中设置如下: <target name="run_test ...

  3. pytest(11)-Allure生成测试报告(一)

    Allure是一个开源的测试报告生成框架,提供了测试报告定制化功能,相较于我们之前使用过pytest-html插件生成的html格式的测试报告,通过Allure生成的报告更加规范.清晰.美观. pyt ...

  4. 使用Allure+testNG自动生成漂亮强大的测试用例报告

    最近领导让我找一个可以每次打包自动生成测试用例的东西,jenkins或者idea都可以, 最后找到了这个allure,也踩了很多坑,废话不多说!,总结一下: 1 使用原生allure 添加依赖: &l ...

  5. Pytest测试框架(五):pytest + allure生成测试报告

    Allure 是一款轻量级.支持多语言的开源自动化测试报告生成框架,由Java语言开发,可以集成到 Jenkins. pytest 测试框架支持Allure 报告生成. pytest也可以生成juni ...

  6. pytest+jenkins+allure 生成测试报告发送邮件

    前言第一部分:Pycharm for Gitee1. pycharm安装gitee插件2. gitee关联本地Git快速设置- 如果你知道该怎么操作,直接使用下面的地址简易的命令行入门教程:3. Gi ...

  7. 手把手教你如何在Windows下allure与jenkins的集成生成让你一见钟情的测试报告 - 03(非常详细,非常实用)

    简介 好了,国庆假期结束,开始搬砖.为什么要把allure和jenkins集成了?原因是集成以后,我们就可以直接查看allure的结果,不需要重复输入命令.重复使用浏览器打开文件来查看allure的结 ...

  8. jenkins持续集成Allure生成报表+邮件推送

    本次基于<jenkins 生成HTML报表,邮件推送>的基础上将生成HTML报表修改为Allure生成报表,可以参考官方文档:https://docs.qameta.io/allure/# ...

  9. Jenkins插件及 测试源码

    Jenkins 插件: https://updates.jenkins-ci.org/download/plugins/ 小米的一份android源码,测试工具,用于抢红包: https://gith ...

随机推荐

  1. CentOS中用户不在 sudoers 文件中。此事将被报告。

    首先切换为root用户 su root; 然后更改etc/sudoers文件的只读为可读可写可执行. sudo chmod 777 /etc/sudoers 输入visudo命令即可编辑文件,找到ro ...

  2. http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htm ASP.NET从零开始学习EF的增删改查

    http://www.cnblogs.com/nangong/p/db29669e2c6d72fb3d0da947280aa1ce.htmlASP.NET从零开始学习EF的增删改查

  3. 洛谷P2444 病毒【AC自动机】

    题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...

  4. Constructor Overloading in Java with examples 构造方法重载 Default constructor 默认构造器 缺省构造器 创建对象 类实例化

    Providing Constructors for Your Classes (The Java™ Tutorials > Learning the Java Language > Cl ...

  5. Scanline Fill Algorithm

    https://www.sccs.swarthmore.edu/users/02/jill/graphics/hw3/hw3.html http://web.cs.ucdavis.edu/~ma/EC ...

  6. Mybatis的WHERE和IF动态

    mapper.xml: <!--查询套餐产品 --> <select id="queryComboProducts" resultType="com.r ...

  7. Elasticsearch查询规则(一)match和term

    es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如 GET /megacorp/employee/_search //查询 ...

  8. 在线学习--online learning

    在线学习 online learning Online learning并不是一种模型,而是模型的训练方法.能够根据线上反馈数据,实时快速的进行模型调优,使得模型能够及时反映线上的变化,提高线上预测的 ...

  9. Excel error 64-bit version of SSIS

    问题是 在windows server 2008 64位的计划任务执行 ssis 的错误 ,ssis你们带有读取excel 日期 2015/3/17 11:50:34日志 作业历史记录 (SSIS_U ...

  10. KEYENCE Programming Contest 2019 Solution

    A - Beginning 签到. #include <bits/stdc++.h> using namespace std; int main() { ]; while (scanf(& ...