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文件可以看到生成的报告,如果显示的是英文可以在右下角将英文调整为中文,如下图所示。

相关推荐
<花开花落>2 天前
将Python第三方库转换为真正的 pytest 插件
pytest
春风又。5 天前
接口自动化——初识pytest
python·测试工具·自动化·pytest
南部余额5 天前
playwright解决重复登录问题,通过pytest夹具自动读取storage_state用户状态信息
前端·爬虫·python·ui·pytest·pylawright
小码哥说测试8 天前
接口自动化进阶 —— Pytest全局配置pytest.ini文件详解!
自动化测试·软件测试·测试工具·自动化·pytest·测试工程师
天才测试猿8 天前
Python常用自动化测试框架—Pytest
自动化测试·软件测试·python·功能测试·测试工具·测试用例·pytest
Rhys..9 天前
2、pytest核心功能(进阶用法)
开发语言·python·pytest
一只天蝎的晋升之路10 天前
Python中常用的测试框架-pytest和unittest
开发语言·python·pytest
明月与玄武10 天前
pytest-xdist 进行高效并行自动化测试
pytest·pytest-xdist·进行高效并行自动化测试
测试笔记(自看)10 天前
Python+Requests+Pytest+YAML+Allure接口自动化框架
python·自动化·pytest·allure
活跃家族11 天前
Jsonpath使用
python·pytest