Allure测试报告的查看

文章讨论了在查看Allure测试报告时遇到的问题,即报告中显示的测试用例数量不准确。作者发现原因是temp目录未清理历史文件。通过添加代码逻辑,包括删除temp目录并确保每次执行测试用例时都是新的报告,解决了这个问题。
摘要由CSDN通过智能技术生成

  在之前的文章里面我们提到了allure测试报告的查看有两种方式:

  一种是将allure报告的json文件存在temp目录下,直接通过打开temp目录下allure报告的json文件,来查看allure报告

  另一种是将allure报告的json文件存在temp目录下,然后将temp目录下allure报告的json文件生成allure报告的html文件,再通过打开allure报告的html文件来查看报告

  具体的实现方式可以参看之前的文章:http://t.csdnimg.cn/Ghz8L

  在最近生成查看测试报告时,我发现不管用哪种方式,都会存在一个问题,那就是测试报告执行用例的数量显示的有问题,例如我第一次执行时执行了两条测试用例,查看测试报告的时候就会显示数量为2,但是当我只执行一条测试用例的时候,我去查看测试报告,还是会显示数量为2。

  思考之后我发现:我们在第一种方式查看测试报告的时候,并没有将temp目录的历史文件删除,而在第二种方式查看测试报告的时候,虽然删除了report目录之前的测试报告,但是temp目录下的历史文件仍然没有删除,也就是说无论那种方式,temp目录始终保存着之前报告的历史文件,这样就会导致无论我们使用哪种方式查看测试报告,测试报告都会还有历史文件的数据,这就会导致测试报告的数据显示不正确。

  对于这种情况我在生成测试报告时增加了以下的一些代码逻辑:

import os
import pytest
import shutil


# 创建temp目录,如果存在则不创建
os.makedirs('./temp', exist_ok=True)


# 删除temp目录
# 执行pytest,输出运行配置及调试信息,将allure报告json文件存放在temp目录下,temp目录不存在则创建
shutil.rmtree('./temp')
pytest.main(['cs.py', '-sv', '--alluredir', './temp'])


# 将temp目录下的json文件输出报告到report目录,report目录不存在则创建
# --clean命令清除report目录下上一次生成的报告
os.system('allure generate ./temp -o ./report --clean')


# 打开report目录下的测试报告
os.system('allure open ./report')

   我们可以使用 shutil.rmtree('./temp') 来删除temp目录,这样在执行用例时会自动再生成temp目录这样就可以保证temp目录下每次都是当前测试报告的json文件

  另外当我们再第一次执行测试用例时,由于此时还没有temp目录还没有创建,执行 shutil.rmtree('./temp') 时会报错,我们可以手动创建一个temp目录,当然也可以选择使用 os.makedirs('./temp', exist_ok=True) 来创建temp目录,该方法可以判断temp目录是否存在,存在则忽略,不存在则创建temp目录

  到此,我们便可以实现查看allure测试报告时每次都是最新一次测试用例执行的结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值