关键词介绍:
接口自动化测试:
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生成测试报告方法也可以参考这篇文章