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

相关推荐
qq_433716951 天前
测试分层:减少对全链路回归依赖的探索!
自动化测试·软件测试·功能测试·测试工具·回归·pytest·postman
开心呆哥2 天前
【Android Wi-Fi 操作命令指南】
android·python·pytest
小码哥说测试4 天前
测试分层:减少对全链路回归依赖的探索!
自动化测试·软件测试·人工智能·测试工具·appium·pytest·postman
帅得不敢出门5 天前
Python+Appium+Pytest+Allure自动化测试框架-安装篇
python·appium·自动化·pytest·测试·allure
blues_C5 天前
Pytest-Bdd-Playwright 系列教程(5):仅执行测试用例的收集阶段
自动化测试·测试用例·pytest·bdd
帅得不敢出门7 天前
Python+Appium+Pytest+Allure自动化测试框架-代码篇
python·appium·自动化·pytest·测试·allure
qq_433716958 天前
接口测试 —— Postman 变量了解一下!
自动化测试·软件测试·jmeter·单元测试·pytest·接口测试·压力测试
彳亍2618 天前
【Python单元测试】pytest框架单元测试 配置 命令行操作 测试报告 覆盖率
python·单元测试·pytest
鹿鸣悠悠8 天前
pytest脚本常用的执行命令
pytest