自动化测试报告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')

 

一、Allure配置

前提:需要JDK1.8以上

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

2、解压

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

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

pip install allure-pytest

5、验证 allure --version; 验证allure-pytest: pip show allure-pytest

6、一般配置好allure后,如果allure没有生效,需要重启pycharm

 

二、使用

 

1、生成allure报告的json数据源;--alluredir,后面加上路径,即是json数据源的路径

pytest.main(['--alluredir=result'])  或
pytest.main(['--alluredir','./result']

1.2 生成可展示的web版报告
os.system('allure generate ./result -o ./report')
1.3 注意:调试时,需要把pycharm的testing工具选择为Unitest,而不是pytest(因为是pytest时,生成不了报告)

2、在命令行中启动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报告,会带上请求参数;

 

@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)

 如下面红框里的,就是带@allure.step()装饰器生成的请求参数信息;

 

 

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

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

   
动态获取feature模块名(大模块)
 
allure.dynamic.feature(data[12])

 
动态获取story模块名 (小模块)
 
allure.dynamic.story(data[11])
 
动态生成标题 (用例标题)
 
allure.dynamic.title(data[10])
 
动态获取备注信息
 
allure.dynamic.description(data[13])
 
 动态获取用例级别(blocker,critical,normal,minor,trival)
 
allure.dynamic.severity(data[14])

比如

feature,可以定义为xx商城;story可以是该商城下的不同模块,如登录,注册;也可以根据需要实际来展示和定义;

 

3、关于allure的用例级别:

  • blocker:阻塞缺陷(功能未实现,无法下一步)
  • critical:严重缺陷(功能点缺失)
  • normal:一般缺陷(边界情况,格式错误)(如果不写,默认是该级别)
  • minor:次要缺陷(界面错误与ui需求不符)
  • trivial:轻微缺陷(必须项无提示,或者提示不规范

 

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

 

 

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

posted @ 2022-09-18 15:40  袁小文子  阅读(1245)  评论(0)    收藏  举报