Pytest模式执行python脚本不生成allure测试报告

1.安装allure

下载allure的zip安装包
将allure.zip解压到python的lib目录中
将allure的bin路径添加到环境变量path中(注意:配置环境变量后,一定要重启电脑。因为环境变量没生效,我搞了半天在pycharm不能生成报告,在cmd中可以生成报告)
安装allure-pytest,命令为:  pip install allure-pytest
2.验证是否安装成功

  方法一:在cmd中输入 allure -v
Pytest模式执行python脚本不生成allure测试报告_第1张图片

 方法二:在pycharm中输入 allure(输入环境变量没有生效,这里是不会有信息的)

Pytest模式执行python脚本不生成allure测试报告_第2张图片

  3.踩坑一:在pycharm中,pytest程序运行成功,没有生成allure报告,运行结果如下图

Pytest模式执行python脚本不生成allure测试报告_第3张图片

出现这个原因是环境变量没有生效,重启电脑后可以生成报告。

打开项目所在路径,在命令行输入命令可以生成allure报告

命令1(运行程序,生成报告):pytest test_food.py --alluredir ../report/tmp

pytest py文件名  --alluredir 生成报告文件的临时目录

命令2(启动服务,查看报告临时文件):allure serve ../report/tmp

allure serve  生成报告文件的临时目录
Pytest模式执行python脚本不生成allure测试报告_第4张图片

 Pytest模式执行python脚本不生成allure测试报告_第5张图片

 踩坑二:pycharm运行,生成的allure报告没有数据

Pytest模式执行python脚本不生成allure测试报告_第6张图片

 原因:生成报告的源文件目录写错了

pytest.main(['test_food.py','-s','--alluredir','../report/tmp'])

os.system('allure generate ../report/tmp -o ../report/html --clean')#../report/tmp 为存放报告的源文件目录
 

4.allure生成报告的几种命令

1、生成测试报告数据
pytest test_food.py --alluredir ../report/tmp

2、测试报告在线预览

allure serve  ../report/tmp
3、测试报告本地静态数据生成

allure generate ../report/tmp -o ../report/html --clean
问题描述:在pychram中执行python脚本时,脚本执行成功,但是没有生成allure测试报告(报告的文件和内容都没有)。

但是通过cmd命令行的形式执行生成报告的命令,可以生成测试报告。后来在main函数下增加一句print('测试打印')的脚本,执行后发现并没有打印该信息。
Pytest模式执行python脚本不生成allure测试报告_第7张图片

经过一番百度后,发现:

(1)使用pytest测试框架运行时,不需要main()函数,系统可以自动识别测试用例并执行。
(2)即使包含main()函数,点击它去执行,也不会去执行main()函数。
(3)具体是使用哪个测试框架执行,如下图:

Pytest模式执行python脚本不生成allure测试报告_第8张图片

 (4)将运行模式改为Unittests后就可以执行main()函数生成测试报告了。

你可能感兴趣的:(软件测试,自动化测试,python,pytest,开发语言,测试工具,单元测试)