python:pytest + allure生成测试报告

关键词介绍:

接口自动化测试:PyCharm,Pytest,allure生成测试报告

Allure安装:

打开pycharm,打开自己的 python项目,找到下方终端,命令行输入:
pip install allure-pytest
安装成功了,就可以使用了.
可以使用命令验证:allure --version

allure 生成测试报告方法主要有两种:

  • 一种是代码运行直接生成;(方法1-4一样)
  • 另一种是命令行生成报告.

pytest脚本代码生成测试报告,运行代码即可:

allure 生成测试报告各种实现方式:

方法一:

import pytest,os,allure

def test_allure():
    assert 1 == 1, "结果正确"

if __name__ == '__main__':
    pytest.main(['--alluredir', 'report/result', 'Test_demo_pytest_allure.py'])  # 生成json类型的测试报告
    split = 'allure generate ./report/result -o ./report/html --clean'  # 将测试报告转为html格式
    os.system(split)  # system函数可以将字符串转化成命令在服务器上运行

方法二:

import pytest,os,allure
# pytest -----allure生成测试报告
if __name__ == "__main__":
    report_path = os.path.abspath(os.path.dirname('.')) + '/Test_demo_allure.py'
    print(report_path)
    pytest.main([report_path,'-s','-q','--alluredir','./demo_result'])
    os.system('allure generate ./demo_result -o ./demo_report --clean')

方法三:

import pytest,os,allure
if __name__ == '__main__':
    '''
    -q: 安静模式, 不输出环境信息
    -v: 丰富信息模式, 输出更详细的用例执行信息
    -s: 显示程序中的print/logging输出
    '''
    pytest.main(['-s', '-q','Test_demo_allure.py','--clean-alluredir','--alluredir=allure-results'])
    os.system(r"allure generate ./allure-results -o ./allure-report -clean")

方法四:

import pytest,os,allure
# 
if __name__ == "__main__":
    pytest.main(['-s','-v','--capture=sys','Test_demo_allure.py','--clean-alluredir','--alluredir=allure-results'])#
    # 生成报告路径名字
    os.system(r"allure generate allure-results -o 测试报告")

方法五:终端命令行:


import pytest,os,allure

if __name__ == "__main__":
    pytest.main(["-vs","--capture=sys"])#pytest的启动命令

操作步骤:

1.先运行测试脚本Test_demo_allure.py
2.然后打开项目下方的终端,进入测试脚本Test_demo_allure.py所在的文件夹下demo 文件夹:cd demo
如果终端显示的当前目录正好是 该文件下,可忽略。
3.命令行输入:两条命令即可

终端命令:

命令一:运行目标脚本文件,比如文件dataRun.py。生成报告的相对路径是./../report/目录下。
命令如下:
pytest dataRun.py --alluredir=./../report/allure-results --clean-alluredir
命令二:生成带 html 的报告,生成后用浏览器打开 html即可查看。
命令如下:
allure generate ./../report/allure-results -o ./../report/allure_reports --clean

在该allure_reports目录下生成报告并启动默认浏览器打开 html 的报告结果

解决问题:代码直接生成报告无法成功

解决办法参考这个:点这里可查看

代码运行成功了,命令行也可以生成正确的测试报告,但代码直接生成就是不生效!

命令行可以成功,但加上 def test_ ():函数的代码不可以生成测试报告。

  • 可以 command+,打开pycharm偏好设置设置
  • 找到该页面左侧的 Tools目录下的 Python Integrated Tools选项。
  • 点开Python Integrated Tools,看右侧
  • 找到 Testing下的 Default test runner:选项改为 Unittests即可
  • 点击下方 ok,重新运行一遍代码,等待几秒,报告自动生成。

查看 html 报告:生成的静态测试报告 html 浏览器打开查看

点击index.html打开浏览器查看即可。
如果点不开或打开页面显示异常可以用下面方式打开。

方法(以mac 版的 pycharm为例):

  • (使用的pycharm)可以选中刚生成的测试报告index.html(在.o 后面的的文件里)
  • 右键选择找到Open in -> Browser,选择自己的浏览器查看即可。

allure生成测试报告方法也可以参考这篇文章

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容