pytest配置文件配置并通过allure生成报告

之前已经学习了使用pytest+requests实现各种方式的调用和一些脚本的执行,今天来学习下如何使用pytest.ini配置文件来管理用例的执行以及如何使用allure生成测试报告。

1.pytest.ini文件配置

在项目目录下新建pytest.ini文件,然后进行配置,pytest.ini的文件配置信息如下所示。

**[pytest]:**表示这是一个pytest配置文件的开始;

**; -n 3 --dist=loadfile:**表示注释不启用,原配置信息为会启用pytest-xdist插件,使用3个进程,并且按照文件分布测试;

addopts = -sv:addopts 指定了传递给 pytest 的额外命令行选项;

-s 选项表示在终端显示测试运行时的标准输出和标准错误输出;

-v 选项表示启用详细模式,显示每个测试的运行结果;

**testpaths = test*:**指定了 pytest 应该在哪些目录或文件中寻找测试文件。这里 test* 表示在所有以 test 开头的文件或目录中寻找测试文件。

**python_files = run.py:**指定文件启动入口为run.py文件,也可以不维护,run.py文件执行的时候会默认寻找pytest.ini中的配置信息;

**python_classes = Test*:**指定 pytest 应该识别哪些类作为测试类。这里指定类名以 Test 开头的类将被识别为测试类;

**python_functions = test_*:**指定 pytest 应该识别哪些函数作为测试函数。这里指定函数名以 test_ 开头的函数将被识别为测试函数;

2.allure的安装

通过链接下载:https://pan.baidu.com/s/1c_5CpKtmGq9Wl3uqMkX4rg,提取码:yzgm。然后解压,将文件路径(一直到bin目录)配置到环境变量中,如下图所示。

在环境变量中配置好allure的路径之后,可以在cmd控制台中输入:allure --version,如果能够正常输出版本信息,则表示allure安装成功,安装成功后如果需要在pycharm中使用,在pycharm已打开的情况下还需要重启pycharm重新打开项目。

3.执行和生成报告

3.1.执行收集数据

在pytest.ini配置文件中修改配置,表示指定通过allure收集执行信息并且将信息存放在report/data目录下,每次执行的时候都会清除之前的数据信息。

复制代码
addopts = -sv --alluredir report/data --clean-alluredir

执行run.py文件系统报错如下所示。原因:未安装:allure-pytest

ERROR: usage: run.py [options] [file_or_dir] [file_or_dir] [...]

run.py: error: unrecognized arguments: --alluredir

**解决方法:**执行命令安装allure-pytest

复制代码
pip install allure-pytest

allure-pytest安装成功后,再次执行run.py文件,各个脚本可以正常被收集然后执行,执行成功后会在report/data目录下生成测试结果数据,每一条case都会生成1条记录,如下图所示。

3.2.生成报告

在测试数据收集好了之后,我们通过可以allure来生成报告,命令如下,指定了数据的来源和生成报告的路径并且每次执行命令都要通过clean清除之前的报告数据。

复制代码
allure generate report/data -o report/html --clean

打开生成的html文件可以看到生成的报告,如果显示的是英文可以在右下角将英文调整为中文,如下图所示。

相关推荐
FINE!(正在努力!)2 天前
PyTest框架学习
学习·pytest
程序员杰哥2 天前
接口自动化测试之pytest 运行方式及前置后置封装
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
测试老哥3 天前
Pytest+Selenium UI自动化测试实战实例
自动化测试·软件测试·python·selenium·测试工具·ui·pytest
水银嘻嘻3 天前
07 APP 自动化- appium+pytest+allure框架封装
python·appium·自动化·pytest
天才测试猿3 天前
接口自动化测试之pytest接口关联框架封装
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
not coder4 天前
Pytest Fixture 详解
数据库·pytest
not coder5 天前
pytest 常见问题解答 (FAQ)
开发语言·python·pytest
程序员的世界你不懂5 天前
(1)pytest简介和环境准备
pytest
not coder5 天前
Pytest Fixture 是什么?
数据库·oracle·pytest
Tester_孙大壮5 天前
pytest中的元类思想与实战应用
pytest