超详细从入门到精通,pytest自动化测试框架实战教程-allure测试报告

Posted 百度测试开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超详细从入门到精通,pytest自动化测试框架实战教程-allure测试报告相关的知识,希望对你有一定的参考价值。

目录:导读


前言

前面介绍了pytest的用例编写、前后置方式、用例标记等方法。还有一个pytest如何集成测试报告。

Pytest自动化测试框架:https://www.bilibili.com/video/BV18K411m7FH/

pytest本身是没有生成测试报告的功能,但是pytest中有很多插件,我们可以通过插件来生成测试报告。下面会给大家介绍两个生成报告的方式。一个是生成html报告,一个是集成allure报告平台来展示测试报告。

生成HTML报告

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

1、安装插件

pip install pytest-testreport

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

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'])

生成的报告样式如下
样式一:

样式二:

集成Allure报告

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

1、allure环境配置
下载allure:
地址:https://github.com/allure-framework/allure2/releases
下载之后并解压

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

安装allure的pytest插件:

pip install allure-pytest 

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

运行参数:

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

命令行运行

pytest --alluredir=reports

代码中使用pytest.main执行

import pytest

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

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

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

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

4、allure内置常用的方法
添加错误截图:

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)

添加报告中的用例名称:

import allure

class TestLogin:

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

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

# 用例数据
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('登录功能')
class TestLogin:

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

添加报告中套件名称:

@allure.suite('登录测试套件')
class TestLogin:
    @allure.title('登录用例')
    def test_login(self):
        pass
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

二、接口自动化项目实战

三、Web自动化项目实战

四、App自动化项目实战

五、一线大厂简历

六、测试开发DevOps体系

七、常用自动化测试工具

八、JMeter性能测试

九、总结(尾部小惊喜)

不要停下脚步,无论前方有多少坎坷和困难,保持勇气和信念,不断追求卓越和进步。成功属于那些永不放弃的人!

生命不息,奋斗不止。只有不断前行,才能拥有更美好的未来。成功就在前方等待着你,加油!

人生路漫漫,奋斗不止。成功需要勇气和毅力,我们要坚定信心,努力拼搏,一步一个脚印向着目标前进!

单元测试界的高富帅,Pytest框架,手把手教学,从入门到精通

参考技术A

pytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写pytest详细的使用文档的,由于时间关系一直搁置,直到今天才开始写。本文是第一篇,主要介绍pytest的入门使用,后续会分篇针对pytest中的各个功能出详细的使用教程。


pytest 是 python 中的第三方库,使用之前需要先安装,在命令行中运行以下安装命令 :



检查安装是否成功以及安装的版本,命令行命令如下:



执行上述命令,能够输出版本信息,那就说明安装成功啦。



当我们通过 pytest 执行用例时,pytest 会自动递归遍历执行路径下所有的目录,根据 pytest 中默认用例的识别的规则,自动收集测试用例。所有在使用 pytest 编写测试用例之前,我们首先需要了解一下 pytest 收集用例时默认的用例识别规则。

通过了解上述 pytest 中用例识别的规则,可以知道 pytest 中用例编写,能使用函数的形式,也能使用类的形式,那么接下来就分别给大家介绍一下这两种方式编写用例。











在上面我们使用的是 pytest 这个命令去执行测试用例。关于 pytest 执行测试,有两种方式,一种是命令行通过 pytest 这个命令执行,另外在代码中可以通过 pytest.main() 这个方法来执行测试。接下来就和大家分别详细的介绍一下 pytest 执行测试的方式和常用的参数

测试用例





pytest.main 方法执行测试参数传递方式:




3、指定执行的测试目录



pytest 会执行指定目录路径下所有的测试用例




pytest 会执行指定测试文件中下所有的测试用例




pytest 会执行指定测试类里面所有的测试用例




pytest 会执行指定的测试方法

基本的入门就给大家介绍到这里,从下一篇开始给大家详细介绍 pytest 的相关特性

以上是关于超详细从入门到精通,pytest自动化测试框架实战教程-allure测试报告的主要内容,如果未能解决你的问题,请参考以下文章

单元测试界的高富帅,Pytest框架,手把手教学,从入门到精通

pytest接口自动化零基础入门到精通(01)入门基础篇

pytest框架从入门到精通

全网最详细,Fiddler抓包实战 - 网页浏览器https请求(超详细)

网络安全自学就业(超详细)从入门到精通学习路线&规划,学完即可就业

网络安全自学就业(超详细)从入门到精通学习路线&规划,学完即可就业