Pytest测试框架(三)—测试报告生成

目录

9、测试报告

9.1、安装pytest-html

9.2、在main方法中使用

9.3、在pytest.ini中使用

9.4、窗口执行

10、Allure测试报

10.1、环境准备

10.1.1、安装allure-pytest插件

10.1.2、安装Allure

10.1.3、执行测试用例

10.1.4、定值化报告

10.2、报告结构,浏览器打开html文件(有很多区域查看)

10.2.1、Overview:

10.2.2、Categories菜单

10.2.3、Suites菜单

10.2.4、graphs菜单

10.2.5、Timeline菜单

10.2.6、Behaviors\Packages这两个菜单和Suites类似;

9、测试报告

9.1、安装pytest-html

  1. 安装插件 pytest-html
    Pytest测试框架(三)---测试报告生成

9.2、 在main方法中使用

  1. 示例报文:
    2.
import pytest

class Test_1():

    @pytest.mark.L1
    def test_02(self):
        print('测试用例: 1')
        assert '1' == '1'

class Test_2():

    @pytest.mark.L2
    def test_02(self):
        print('测试用例: 1')
        assert '1' == '2'  # 断言失败

if __name__ == '__main__':
    pytest.main(["-s", "./test_03.py", "--html=./report.html"])

执行结果,在当前目录生成一个report.html的测试报告文件;打开结果:

Pytest测试框架(三)---测试报告生成

1、在pytest.ini文件中添加参数

Pytest测试框架(三)---测试报告生成

2、测试文件中main方法里的–html参数删掉,一样可以生成report.html测试报告

Pytest测试框架(三)---测试报告生成
9. 4、 窗口执行****

1、窗口输入pytest命令行执行效果一样;

10、 Allure测试报

10. 1、 环境准备****

10. 1. 1、 安装allure-pytest插件

1、打开终端,输入命令行:pip3 install allure-pytest ;(通过其他方法安装也行)

Pytest测试框架(三)---测试报告生成

10. 1. 2、 安装Allure

1、要先安装Java并配置好了环境变量(这里就不过多说明了,之前文档里有介绍);

Pytest测试框架(三)---测试报告生成

2、使用Homebrew安装:输入命令行:brew install allure (这里就不过多说明了,之前文档里有介绍);

3、查看安装目录:输入命令行:which allure

4、添加环境变量:输入命令行:”cd ~”,”open -e .bash_profile “(打开编辑文件),往里添加环境变量(export PATH=安装目录:$PATH)

5、输入”allure”验证是否配置完成:

Pytest测试框架(三)---测试报告生成

10. 1. 3、 执行测试用例

1、使用如下命令:

pytest .main([“-m”,”login”,”-s”,”-q”,”–alluredir==./report”])

-m 标记用例;

login 被标记要执行的用例;

-s 准许终端在测试执行时输出某些结果;

-q 简化输出结果;

–alluredir 生成Allure指定语法;

./report 生成报告的目录;

–clear -alluredir 因为这个插件库allure -pyt est 生成了报告文件,第二次执行时不会清掉里面的东西,所以要删除report文件夹,然后重建;

10. 1. 4、 定值化报告

1、标记

feature 标注主要功能模块

story 标注feature功能模块下的分支功能

severity 标注测试用例的重要级别

blocker级别 致命缺陷

critical级别 严重缺陷

normal级别 一般缺陷,默认这个缺陷

minor级别 次要缺陷

trivial级别 轻微缺陷

Step 标注测试用例的重要步骤

Attach 用于向测试报告中输入一些附件信息,通常是一些测试数据信息;

Name 是附件名称,body是数据,attachment_type是传类型;附件支持的类型有TEXT、HTML、XML、PNG、JPG、JSON、OTHER

Issure 这里传的是一个连接,记录的是你的问题

Testcase 这里传的是一个连接,记录的是你的用例

Descriptiop 描述用例信息

2、示例用例,创建一个目录demo4,然后在下面创建一个目录report,两个测试文件,test_01.py、test_02.py

Pytest测试框架(三)---测试报告生成

3、est_01.py,代码示例:

import pytest, allure

@allure.feature("测试场景1")   # 标记场景
class Test_01():
    @allure.story("测试用例1-1")  # 标记测试用例
    @allure.severity("测试用例等级1")  # 标记用例等级
    def test_01(self):
        a = 1+1
        print("a")
        assert a == 2

4、test_02.py,代码示例:

import pytest, allure

@allure.feature("测试场景2")   # 标记场景
class Test_01():
    @allure.story("测试用例2-1")  # 标记测试用例
    @allure.severity("测试用例等级2")  # 标记用例等级
    def test_02_1(self):
"""
        用例描述:第一条用例描述
"""
        #allure.MASTER_HELPER.description("222222222")
        a = 2+2
        print("a")
        assert a == 5  # 断言失败

    @allure.story("测试用例2-1")
    @allure.severity("测试用例等级3")
    @allure.step("用例2,重要步骤")
    def test_02_2(self):
        print("6")
        assert 6==6

if __name__ == '__main__':
    pytest.main(["-s", "-q", "--alluredir", "./report"])

5、使用main方法执行:(生成JSON格式的测试报告)

Pytest测试框架(三)---测试报告生成

6、通过终端执行:进入demo4目录;

执行命令:allure generate –clean report

执行结果;

Pytest测试框架(三)---测试报告生成

7、生成文件:

Pytest测试框架(三)---测试报告生成
10. 2、 报告结构 , 浏览器打开html文件 ( 有很多区域查看 )****

10. 2. 1、Overview :

Pytest测试框架(三)---测试报告生成

区域1: 显示报告生成时间,执行时间,一共执行了多少用例,环状图显示用例通过比例;

区域2: 显示的测试集合(class)的情况;

区域3: 显示的是测试场景(@allure .feature );

区域4、显示失败用例的信息;

10. 2. 2、 Categories 菜单

1、显示断言失败的信息

Pytest测试框架(三)---测试报告生成

10. 2. 3、Suites菜单

1、以测试集合树的形式查看用例执行结果:

Pytest测试框架(三)---测试报告生成

10. 2. 4、graphs菜单

1、显示用例执行状态的环状图、用例级别的柱状图、用例执行时间的柱状图;

Pytest测试框架(三)---测试报告生成

10. 2. 5、Timeline菜单

1、显示执行时间

10.2.6、Behaviors\Packages 这两个菜单和Suites类似 ;

Original: https://blog.csdn.net/weixin_44701654/article/details/128045234
Author: 我是小趴菜A
Title: Pytest测试框架(三)—测试报告生成

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/776789/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 深度学习炼丹-超参数设定和模型训练

    前言 网络层内在参数 使用 3×3 卷积 使用 cbr 组合 尝试不同的权重初始化方法 图片尺寸与数据增强 batch size 设定 背景知识 batch size 定…

    Python 2023年10月12日
    069
  • 8000字概括精髓,pandas必知必会50例

    本篇我们继续前面 pandas系列教程的探讨,今天小编会介绍 pandas库当中一些非常基础的方法与函数,希望大家看了之后会有所收获,另外呢,大家要是希望小编…

    Python 2023年8月7日
    050
  • pytest–编写以及管理测试用例

    测试文件目录 测试案例要和源码分开,单独放在一个tests文件夹里tests文件夹位于项目根目录一般测试用例的目录这样conftest包含hook函数和fixturepytest….

    Python 2023年9月10日
    046
  • python及pygame雷霆战机游戏项目实战08 声音和音乐

    在这个系列中,将制作一个雷霆战机游戏。 ; 声音的力量 对于游戏,需要一个”射击”声音和一个”爆炸”声音。创建一个”sn…

    Python 2023年9月25日
    039
  • 【人工智能】Mindspore框架中保存加载模型

    前言 MindSpore着重提升易用性并降低AI开发者的开发门槛,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,使开发态变得…

    Python 2023年10月27日
    037
  • python flask智能租房项目——详情页

    基本信息展示 1. 后端接⼝设计 接⼝描述 接⼝参数请求⻚⾯ 详情⻚请求⽅式 GET请求地址 /house/int:hid返回数据 房源对象,包括:id、address、rooms…

    Python 2023年8月15日
    048
  • Python关于去除字符串中空格的方法

    需要将字符串中的空格去掉的情况,可以使用下面几种解决方法: s=’ This is a demo ‘ print(s.strip()) 结果:”This is a de…

    Python 2023年10月27日
    051
  • Python_numpy

    文章目录 * – 初次使用导入numpy库 – 使用Numpy创建一个一维数组 – 用numpy创建一个二维数组 – 使用numpy…

    Python 2023年8月25日
    042
  • Windows11+wsl2+cuda+conda+pytorch安装记录之处处都是坑

    由于代码在windows上运行总是抛奇奇怪怪的错误,一怒之下换linux环境运行,win11自带的wsl很方便,在各种博客找了n多教程,历时两天,终于安装好了环境,配置这个环境的目…

    Python 2023年9月9日
    0108
  • 深度解析KubeEdge EdgeMesh 高可用架构

    摘要:通过高可用特性应用场景、高可用特性使用手册、课题总结、未来展望等四个部分的内容来向大家介绍新版本EdgeMesh的高可用架构。 EdgeMesh项目解决了边缘计算场景下复杂网…

    Python 2023年10月14日
    049
  • Python开始

    Python从入门到实践 未来一段时间将更新Python学习的一些片段,分享个人的理解和技巧,总结一些常规的要点。 其实之前有一点基础,但很长一段时间以来,基础已经被打平了,不妨趁…

    Python 2023年5月24日
    072
  • 14天学习训练营导师课程-Pygame学习笔记-Part1(环境准备)

    14天学习训练营导师课程:李宁《Python Pygame游戏开发入门与实战》李宁《计算机视觉OpenCV Python项目实战》1李宁《计算机视觉OpenCV Python项目实…

    Python 2023年9月22日
    059
  • 默默无名的西大研究生学习的第七天–pandas入门3

    pandas对象装配了一个常用数学、统计学方法的集合。其中大部分属于归纳或汇总统计的类别,这些方法从DataFrame的行或列中抽取一个Series或一系列值的单个值(如总和或平均…

    Python 2023年8月22日
    041
  • Python pytest框架(一)

    ** 简介 :与python自带的unittest测试框架类似,但是pytest更简洁、高效,且兼容unittest。支持简单的单元测试和功能测试,结合rquests实现接口测试,…

    Python 2023年9月13日
    031
  • pygame4 练习课

    代码如下: import pygame pygame.init() screen = pygame.display.set_mode([640, 480]) screen.fill…

    Python 2023年9月20日
    037
  • Python中range函数的使用方法

    Python中range函数的使用方法 更新时间:2022年05月30日 11:38:15 作者:Python编程学习圈 这篇文章主要介绍了Python中range函数的使用方法,…

    Python 2023年8月23日
    041
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球