前言

以前做自动化测试的时候一直用的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. Python爬虫基础(四)Requests库的使用

    requests文档 首先需要安装:pip install requests get请求 最基本的get: # -*- coding: utf-8 -*-import requests respons ...

  2. SmartSprites 智能批量合并 CSS 雪碧图

    做前端的稍微有点经验的都知道 可以通过合并小图片 来减少请求数, 最早可能都是通过 fw.ps 等工具来手动合并, 这种方式的缺点就不吐槽了,效率低,可维护性差 等等 .... 一些很厉害的人,往往会 ...

  3. 运行mlflow命令报错 The 'nose' distribution was not found and is required by nose-exclude

    安装好mlflow之后命令行运行: mlflow 得到报错: 解决: sudo pip3 install nose

  4. 什么是虚拟DOM?

    (摘抄自一篇文章,觉得这里写得非常不错,所以单独放出来,希望能对大家有帮助.)React为啥这么大?因为它实现了一个虚拟DOM(Virtual DOM).虚拟DOM是干什么的?这就要从浏览器本身讲起 ...

  5. SELINUX导致数据修改权限不成功

    SELINUX导致数据修改权限不成功基本概念参考:https://blog.csdn.net/yanjun821126/article/details/80828908 查看SELinux状态: ./ ...

  6. centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标前所有字符 Ctrl+r 搜索命 hash命令 Ctrl+左箭头/右箭头 cd命令 第三节课

    centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl+z 暂停命令,Ctrl+a 光标到行首,Ctrl+e 光标到行尾,Ctrl+u 删除光标 ...

  7. Flume+Morphlines实现数据的实时ETL

    转载:http://mp.weixin.qq.com/s/xCSdkQo1XMQwU91lch29Uw Apache Flume介绍: Apache Flume是一个Apache的开源项目,是一个分布 ...

  8. angry_birds_again_and_again(2014年山东省第五届ACM大学生程序设计竞赛A题)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2877 题目描述 The problems ca ...

  9. HDU4135Co-prime(容斥原理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4135 题目解析: 给你一个闭区间[A,B](1 <= A <= B <= 1015) ...

  10. python3 捕捉代码行出错的小程序

    下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块. import traceback #捕捉哪行代码报错 def ...