超详细从入门到精通,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框架,手把手教学,从入门到精通
参考技术Apytest到目前为止还没有翻译的比较好全面的使用文档,很多英文不太好的小伙伴,在学习时看英文文档还是很吃力。本来去年就计划写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框架,手把手教学,从入门到精通
全网最详细,Fiddler抓包实战 - 网页浏览器https请求(超详细)