首页 > 其他分享 >pytest+allure 之测试报告

pytest+allure 之测试报告

时间:2022-09-18 15:44:07浏览次数:79  
标签:allure 测试报告 报告 -- dynamic pytest data

 'allure' 不是内部或外部命令,也不是可运行的程序 或批处理文件。如果运行生成allure报告时,报此错误,大多是没有配置allure环境变量;具体如何配置,见下面文章详情;

 

 

if __name__=='__main__':
    # -s 参数不加的时候,日志会自动捕捉到Allure报告里去
    # pytest.main(['-sv','./case/test_excel_V2.py'])
    # 生成allure报告的数据源文件,json格式;--clean是每次清空
    pytest.main(['-v','--alluredir','./result','--clean-alluredir','./case/test_excel_V31.py'])
    # 生成allure报告,此处的--clean是能保证可以重复生成allure报告;此处的-o 是输出报告,./report
    # 是输出报告的名称;
    os.system('allure generate ./result -o ./report --clean')

 

一、pytest测试报告

1、从github上下在allure,进行解压;https://github.com/allure-framework/allure2/releases

2、将解压后的allure的bin目录,配置到环境变量中(path)

3、安装插件:allure-pytest (生成报告的插件)

pip install allure-pytest

4、执行用例的时候,加上 --alluredir=报告数据存放的路径,

pytest.main(['--alluredir=report'])

5、在命令行中启动allure服务 (用来查看报告),需要进入到对应目录

allure serve + 报告数据的路径

 

二、用例失败重运行

1、安装插件 pytest-rerunfailures  

pip install pytest-rerunfailures

2、通过 --reruns 指定失败后重运行的次数,--reruns-delay 指定失败后重运行的时间间隔

如 pytest --reruns 3 --reruns-delay 5

 三、allure的装饰器

1、使用allure装饰器,抓取请求参数;@allure.step()

@allure.step();这个allure装饰器,可以自动捕捉请求参数到报告中去

 

@allure.step('发送post请求')
    def post(self,url,headers=None,data=None,json=None,**kwargs):
        return requests.post(url,headers=headers,data=data,json=json,**kwargs)

 2、使用allure装饰器,动态生成用例标题,模块名,备注信息,用例级别

  allure.dynamic.xxxx xxx代表对应的要动态生成的信息

   
动态生成标题

 
allure.dynamic.title(data[10])
 
动态获取story模块名
 
allure.dynamic.story(data[11])
 
动态获取feature模块名
 
allure.dynamic.feature(data[12])
 
动态获取备注信息
 
allure.dynamic.description(data[13])
 
 动态获取级别信息(blocker,critical,normal,minor,trival)
 
allure.dynamic.severity(data[14])

 

 

https://blog.csdn.net/weixin_45135767/article/details/108695300

 

https://www.cnblogs.com/jjliu2018/p/16067876.html

https://blog.csdn.net/ccb1991/article/details/91902446

标签:allure,测试报告,报告,--,dynamic,pytest,data
From: https://www.cnblogs.com/yxm-yxwz/p/16530501.html

相关文章