百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

单元测试界的高富帅,Pytest框架 (完) 测试报告篇

myzbx 2025-01-05 19:02 10 浏览

前面三个章节给大家介绍了pytest的用例编写、前后置方式、用例标记等方法。这个章节主要给大家介绍pytest如何集成测试报告。pytest本身是没有生成测试报告的功能,但是pytest中有很多插件,我们可以通过插件来生成测试报告。下面会给大家介绍两个生成报告的方式。一个是生成html报告,一个是集成allure报告平台来展示测试报告。

一、生成HTML报告

pytest生成html的插件有很多,比如pytest-html,pytest-testreport等等,下面就给大家介绍如何使用pytest-testreport这个插件来生成HTML测试报告。

1.1、安装插件

pip install pytest-testreport

注意点:如果安装了pytest-html这个插件请先卸载,不然有可能会有冲突

1.2、插件的使用介绍

在使用pytest运行测试时,如果要使用pytest-testreport生成测试报告, 运行测试时加上参数--report 指定报告文件名,即可实现。

其他运行参数:

--title :指定报告标题

--tester :指定报告中的测试者

--desc :指定报告中的项目描述

--template :指定报告模板样式(1 or 2)

  • 命令行执行:
pytest --report=musen.html --title=测试报告 --tester=木森 --desc=项目描述  --template=2
  • 代码中使用pytest.main执行
import pytest

pytest.main(['--report=musen.html',
             '--title=柠檬班上课报告',
             '--tester=测试员',
             '--desc=报告描述信息',
             '--template=2'])

生成的报告样式如下

样式一

样式二


关于HTML格式的报告生成就给大家介绍到这里,接下来和大家讲讲怎么集成allure报告

二、集成Allure报告

如果要在pytest中集成allure报告,首先得下载allure,并配置好环境

2.1、allure环境配置

一、下载allure: 地址:https://github.com/allure-framework/allure2/releases

下载之后并解压

二、环境变量配置

将allure解压之后的allure路径的bin目录路径放到环境变量当中


三、安装allure的pytest插件

pip install allure-pytest 

2.2、生成allure报告

安装配置好allure环境之后,在使用pytest执行用例时,就可以通过allure插件的参数来指定生成allure来报告了。

运行参数:

--alluredir :指定allure报告保存的路径

  • 命令行运行
pytest --alluredir=reports
  • 代码中使用pytest.main执行
import pytest

pytest.main(['--alluredir=reports'])

2.3、启动allure服务

在命令终端输入如下命令,启动allure服务

# 命令:allure serve  生成的报告路径
allure serve reports

执行上述命令,allure服务启动之后会自动在打开浏览器,显示allure的服务页面


2.4、allure内置常用的方法

添加错误截图

  • allure.title
 def error_save_screenshot(driver,file_path, desc):
        # 对当前页web页面进行截图
        driver.save_screenshot(file_path)
        # 将截图保存到allure报告中
        with open(file_path, "rb") as f:
            file = f.read()
            allure.attach(file, "失败截图", allure.attachment_type.PNG)

添加报告中的用例名称

  • allure.title import allure class TestLogin: @allure.title('登录用例') def test_login(self): pass

参数化的用例中动态设置用例名称

  • allure.dynamic.title # 用例数据 casedatas = [ {'title': '反向用例1','data':"xxx"}, {'title': '反向用例2','data':"xxx"}, {'title': '反向用例3','data':"xxx"} ] class TestLogin: @pytest.mark.parametrize('item',casedatas ) def test_demo(self, item): # 动态设置报告中的用例名称 allure.dynamic.title(item['title'])

添加报告中的功能描述

  • allure.story
@allure.story('登录功能')
class TestLogin:

    @allure.title('登录用例')
    def test_login(self):
        pass

添加报告中套件名称

  • allure.suite
@allure.suite('登录测试套件')
class TestLogin:
    @allure.title('登录用例')
    def test_login(self):
        pass

关于pytest生成测试报告的功能就给大家扩展到这里了!

下面是我当时学习时用过的部分资料,有需要的朋友可以评论区留言

相关推荐

攀升战境S5电竞主机评测:NVIDIA RTX 3060实力助阵,光追游戏走起

此次笔者将为玩家们推荐一款游戏主机——攀升战境S5。该主机是攀升电脑今年力推的游戏装备,主机采用一线品牌配件,特别是在显卡选用上严苛把关,精选GeForceRTX30系列显卡,玩家们大可以放心选购...

慎买-神牛闪光灯兼容性问题:神牛V350&松下S5M2

神牛V350和松下S5M2的兼容性问题。大家好,我是向往闪光灯人像的Fish。国庆期间,我购买了神牛V350闪光灯和神牛X2T引闪器,但这成为了我的噩梦。我原以为客服和松友们说这款闪光灯在松下S5M2...

Acer蜂鸟持续办公一整天(acer 蜂鸟s5)

移动办公在工作节奏日益加快的今天越来越普遍,目前大部分工作无法在手持设备上完成,笔记本依然是移动办公最明智的选择。为了实现移动办公,很多笔记本越做越轻薄,性能也越来越强,而续航却一直没有很大提升。笔者...

职业车手明年会骑什么?2021赛季各大世巡赛车队使用器材一览

新年的钟声即将敲响,意味着充满魔幻色彩的2020年即将过去。受新冠肺炎的影响,2020年的赛季非常不同寻常。因这一原因不得不延迟举行的各种比赛导致许多车队的赞助商无法得到足够曝光,这也间接导致了许多车...

三星部分手机系统升级路线图流出(三星系统在哪升级)

三星包括Note3和S5在内的手机在升级到4.4.2系统之后一直没有什么系统升级的消息,而最近流出的一张三星的系统升级路线图中出现了一共13台手机升级KTU84P(也就是Android4.4.4)...

索尼Xperia Z3配置大曝光:升级并不大

IT之家(www.ithome.com):索尼XperiaZ3配置大曝光:升级并不大索尼明天就会在IFA2014大会上发布其下代旗舰XperiaZ3智能手机,目前网上曝光了其原型机,并且机身背后...

不进反退 三星Exynos 5433只能运行32位模式?

三星GalaxyNote4将带有两个版本,除了国行使用的骁龙805以外,还有三星自家的Exynos5433版本。而这颗SoC的详细信息三星并没有公布,据外媒Anandtech称,他们从源码中确认...

尼康Z6III测评:对比EOS R6 II、A7M4、S5IIX

摄影器材测评网站DPReview刚刚发布了尼康Z6III的完整图文测评,该机获得金奖评级,得分达到91%。以下是该文章的摘录——尼康Z6III核心规格:2400万像素“部分堆栈式”传感器RAW连拍:机...

赛默飞Ion S5首批数据公布,玩爆前任PGMTM系列

北美时间9月1日,赛默飞发布了两款最新的NGS系统IonS5和IonS5XL,旨在提供更加简捷的靶向测序流程。10月29日IonS5测序仪的首批实验数据产生于阜外医院。阜外医院研究人员选用了主...

Excel技巧:快速制作批量文件夹,省时省力,加强工作效率

大家好,如果公司领导要求按人员姓名制作文件夹,以一人一档的形式呈现人员档案,办公人员一个一个制作费时费力,而且效力低下,今天为大家介绍快捷制作批量文件夹的方法下面我们用图片来进行演示操作打开表格,选...

国行、港版、美版Apple watch各版本售价一览

今天凌晨,苹果牌手表正式发布,苹果开始正式进入可穿戴设备领域,除了功能和外观,我相信大家更关心的是价格问题了,小编就将国行、港版、美版的Applewatch售价做一总结,以供参考。国行:美版:港版:...

松下全画幅微单S5和S1到底哪里不一样?

Hello,我是ET,欢迎大家来到我的“相机笔记”。————9月2日晚,松下正式发布了第4款全画幅微单LUMIXS5。这一篇,我们主要来说松下LUMIXS5和LUMIXS1到底有哪些区别...

融会贯通之典范 神舟S7-2021S5评测

便携、性能、续航,这简简单单的六个字道出了这么些年来笔记本电脑的设计方向,可是由于底层技术、模具设计等等原因,这三点并不能很好的融合在一起。虽说闻道有先后,术业有专攻,但能够有一台融会贯通的产品,不是...

三国志战略版:S5赛季装X指南,开荒不是一成不变,需要因地制宜

大家好我是零氪玩家花席,S5赛季已经开始,因为S5赛季的野地阵容和S4赛季没有区别,所以S5赛季开荒相对不难。你在S4有经验,并且多了很多武将和战法,还能用150赛季功勋兑换7500战法点。S5赛季新...

聊聊松下S5M2和S5M2X的区别(松下s5k和s5c有什么区别)

先简单说下哪里不同:12bitRAWHDMI外录支持直接将视频录制到USB-SSD上多了All-Intra和ProRes编码支持有线/无线IP推流,USB网络连接黑化的机身不过要特别强调一下,S5...