1.安装allure
下载allure的zip安装包
将allure.zip解压到python的lib目录中
将allure的bin路径添加到环境变量path中(注意:配置环境变量后,一定要重启电脑。因为环境变量没生效,我搞了半天在pycharm不能生成报告,在cmd中可以生成报告)
安装allure-pytest,命令为: pip install allure-pytest
2.验证是否安装成功
方法二:在pycharm中输入 allure(输入环境变量没有生效,这里是不会有信息的)
3.踩坑一:在pycharm中,pytest程序运行成功,没有生成allure报告,运行结果如下图
出现这个原因是环境变量没有生效,重启电脑后可以生成报告。
打开项目所在路径,在命令行输入命令可以生成allure报告
命令1(运行程序,生成报告):pytest test_food.py --alluredir ../report/tmp
pytest py文件名 --alluredir 生成报告文件的临时目录
命令2(启动服务,查看报告临时文件):allure serve ../report/tmp
踩坑二:pycharm运行,生成的allure报告没有数据
原因:生成报告的源文件目录写错了
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('测试打印')的脚本,执行后发现并没有打印该信息。
经过一番百度后,发现:
(1)使用pytest测试框架运行时,不需要main()函数,系统可以自动识别测试用例并执行。
(2)即使包含main()函数,点击它去执行,也不会去执行main()函数。
(3)具体是使用哪个测试框架执行,如下图:
(4)将运行模式改为Unittests后就可以执行main()函数生成测试报告了。