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