zoukankan      html  css  js  c++  java
  • pytest+allure(pytest-allure-adaptor基于这个插件)设计定制化报告

    一:环境准备

     

    • 1.python3.6
    • 2.windows环境
    • 3.pycharm
    • 4.pytest-allure-adaptor
    • 5.allure2.8.0
    • 6.java1.8

     

    pytest-allure-adaptor快速安装

    在cmd中输入 pip install pytest-allure-adaptor,回车

    二:报告生成

    第1步:下载allure.zip,下载地址:allure-github: https://github.com/allure-framework/allure2 ,找到对应版本,并下载

    第2步:解压allure.zip,将路径添加环境变量,path中,记得需要重启电脑

    第3步:验证allure,在cmd中输入allure,然后回车,如果可以看到一下,说明配置完成

     

    第4步:运行测试用例 pytest.main(["-m","login","-s","-q","--alluredir","./report"])

    "-m": 标记用例

    "login": 被标记需要执行用例

    "-s":允许终端在测试运行时输出某些结果,例如你想输入print的内容,可以加上-s

    "-q"简化输出结果

    "--alluredir": 生成allure指定语法

    "./report":生成报告的路径

    "--clean-alluredir" :因为这个插件库allure-pytest生成的报告文件,你第二次运行时候不会清理掉里面的东西,所以你需要删除这个report文件夹,然后运行重新新建reoprt文件夹

    说明:运行后,会在report文件夹里面生成文件

    三.allure定制化报告

    第1步:一些词语解释

    一、feature: 标注主要功能模块。
    二、story: 标注Features功能模块下的分支功能。
    三、severity: 标注测试用例的重要级别。

    1)blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
    2)critical级别:临界缺陷(功能点缺失)
    3)normal级别:正常    默认为这个级别
    4)minor级别:次要缺陷(界面错误与UI需求不符)
    5)trivial级别:轻微缺陷(必输项无提示,或者提示不规范) 

    四、step: 标注测试用例的重要步骤。

    五、attach:用于向测试报告中输入一些附加的信息,通常是一些测试数据信息。

    1)name就是附件名称,contents就是附件,type就是传类型

    2)附件支持的类型(TEXT,HTML,XML,PNG,JPG,JSON,OTHER)

    六、issue:这里传的是一个连接,记录的是你的问题。

    七、testcase:这里传的是一个连接,记录的是你的用例。

    八、environment:标记用例运行的环境。

    九、description:描述用例信息

     注意:因为是使用这个插件pytest-allure-adaptor,所以需要@allure.MASTER_HELPER.方法(其中MASTER_HELPER是AllureHelper()的实例化对象,需要@allure.MASTER_HELPER再调用里面的方法)

    第2步:代码展+报表展示

    feature方法的演示

    代码:

    报表展示:

     

    story方法的演示

    代码:

     

    报表展示:

    severity方法的演示:

    代码:

    报表展示:

     

    setp方法的演示:

    1.总的步骤备注

    代码:

     

    报告展示:

    2.分步骤备注

    代码:

    报表展示:

    attach方法的演示:

    代码:

     

    报表展示:

     图片附件形式:

    代码:

     

    报表展示:

    issue和testcase方法的演示:

    代码:

    报表展示:

     

     environment 方法的演示:

    代码:(里面传的参数可以自己定义)

    报告演示:

     description方法的演示:

    代码:(这两种备注方式不能同时是存在,如果同时存在他会先使用description的,而不取3引号的)

    报告演示:

    第3步:运行可能存在的问题

    添加@allure.MASTER_HELPER.story()等标记后运行报错:MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.

    解决方法:

    第一种:可以修改源码 from allure import utils 找到这个方法下面的label_os方法,修改下面的代码为红色圈住的地方。

    2.第二种:可以直接在运行时候,添加"-p","no:warnings",这样就不会出现错误。pytest.main(["-p","no:warnings","--alluredir=./report","-v"]) 或者终端运行 pytest  -p no:warnings -s --alluredir=./report

     

    四.报告显示

    报告显示方法一:

    第1步:以上运行之后,可以在CMD中运行命令

    allure generate report -o html

    report是alluredir生成的xml目录,html是最终生成html的目录

    第2步:运行命令后,可以在html路径下看到生成的数据,其中index.html就是我们要的allure报告,你可以在pycharm里面打开,报告展示如下

     

    报告显示方法二(这种相当于是调试):

    第1步:以上运行之后,可以在CMD中运行命令

    allure serve report   (report是alluredir生成的xml目录)

    运行后,浏览器会自动跳转到allure report界面

    四.pytest+allure+jenkins集成

    参考我另外的一个博客文章:https://www.cnblogs.com/hao2018/p/11135180.html

    注意:在本地运行的时候需要手动把代码拷贝到jenkins目录下面的workspace文件夹里面;如果在git或svn上运行,jekins会直接把代码拷贝到workspace目录 ,如果jenkins是指定工作目录就不用管了

  • 相关阅读:
    快速排序和归并排序
    docker 配置redis主从配置 集群 正式部署
    物联网平台定位
    如何让我的设备连接上云?参考如下路径
    MQTT协议中文版
    org.eclipse.paho.client.mqttv3 源码解析(二) 接收
    org.eclipse.paho.client.mqttv3 源码解析(一) 发送
    基于mqtt的消息推送(三)客户端实现
    基于mqtt的消息推送(二)服务端实现
    基于mqtt的消息推送(一)技术选型
  • 原文地址:https://www.cnblogs.com/hao2018/p/9915044.html
Copyright © 2011-2022 走看看