zoukankan      html  css  js  c++  java
  • 如何为你的Airtest报告自定义名称

    1. 前言

    在AirtestIDE运行脚本之后,点击 查看报告 按钮,生成的报告默认都命名为 log.html

    每次重新运行脚本后,再点击 查看报告 ,都会把旧的Airtest报告内容覆盖掉。但有些同学需要保存历史版本的Airtest报告,并不想每次都覆盖掉,这该如何实现呢?

    2. 如何自定义Airtest报告名称

    为了解决上述问题,我们先来了解下如何自定义Airtest报告的名称:

    1)使用 simple_report 如何自定义报告名称

    simple_report 接口支持我们传入以下4个参数:

    • filepath:指定脚本的路径
    • logpath:指定log内容的路径
    • logfile:指定log.txt文件的路径
    • output:指定HTML报告的生成路径,必须以 .html 结尾

    其中,output 参数就是我们可以用来自定义HTML报告名称的参数,我们可以用它来指定生成报告的完整路径(包含报告名称):

    # -*- encoding=utf8 -*-
    __author__ = "AirtestProject"
    
    from airtest.core.api import *
    from airtest.report.report import simple_report
    
    auto_setup(__file__,logdir=True)
    
    touch(Template(r"tpl1634279221295.png", record_pos=(-0.403, 0.238), resolution=(900, 1600)))
    
    simple_report(__file__,logpath=True,output=r"D:	est	est01d86098ed0cd4a54c8c611578a3d71b7cloud_music.html")
    

    2)使用 LogToHtml 如何自定义报告名称

    如果使用 LogToHtml 类来生成报告,细心的同学可能会发现,在实例化类的时候,并没有参数可以让我们自定义生成报告的名称。

    但是当我们实例化了1个 LogToHtml 对象之后,调用类里面的 report() 函数来生成测试报告时,可以看到该函数的 output_file 参数可以让我们自定义Airtest报告的名称:

    # -*- encoding=utf8 -*-
    __author__ = "AirtestProject"
    
    from airtest.core.api import *
    from airtest.report.report import simple_report,LogToHtml
    
    auto_setup(__file__,logdir=True)
    
    touch(Template(r"tpl1634279221295.png", record_pos=(-0.403, 0.238), resolution=(900, 1600)))
    
    r = LogToHtml(script_root=r'D:	estsong.air',log_root=r'D:	estsong.airlog')
    
    r.report(output_file=r'D:	est	est01d86098ed0cd4a54c8c611578a3d71b7cloud_music01.html')
    

    3)命令行生成报告如何自定义报告名称

    我们知道生成报告的命令是 airtest report + 脚本路径 ,那这个命令有哪个参数可以让我们自定义报告名称呢?我们可以在终端使用 airtest report -h 来查看该条命令的参数详情:

    其中 outfile 参数可以帮我们实现这个需求:

    airtest report D:	estsong.air --log_root D:	estsong.airlog --lang zh --outfile D:	est	est01d86098ed0cd4a54c8c611578a3d71b7cloud_music02.html
    

    3. 拓展:重复运行脚本时生成报告如何不覆盖历史报告

    那了解了如何自定义报告名称之后,再来看 不覆盖历史报告 这个需求,就简单一些了。

    我们可以自定义html报告的名称,为一种 不重复的命名规则 即可,比如每次都用当前时间来命名html报告;又或者更简单的是,直接在html的命名规则里添加递增的数字:

    # -*- encoding=utf8 -*-
    __author__ = "AirtestProject"
    
    from airtest.core.api import *
    from airtest.report.report import simple_report,LogToHtml
    
    auto_setup(__file__,logdir=True)
    
    a = 1
    while a < 4:
        print("这里假装执行了一些脚本")
        
        # 生成报告
        from airtest.report.report import simple_report
        simple_report(__file__,logpath=True,output="log"+str(a)+".html")
        a = a + 1
    


    Airtest官网https://airtest.netease.com/
    Airtest教程官网https://airtest.doc.io.netease.com/
    搭建企业私有云服务https://airlab.163.com/b2b

    官方答疑 Q 群:654700783

    呀,这么认真都看到这里啦,帮忙点个推荐支持一下呗,灰常感谢~

  • 相关阅读:
    【剑指offer】19 顺时针打印矩阵
    【剑指offer】18 二叉树的镜像
    【剑指offer】17 树的子结构
    【剑指offer】16 合并两个排序的链表
    【剑指offer】15 反转链表
    【剑指offer】14 链表中倒数第k个结点
    【剑指offer】13 调整数组顺序使奇数位于偶数前面
    【剑指offer】12 数值的整数次方
    【剑指offer】11 二进制中1的个数
    数据库-第九节:ORM模型迁移
  • 原文地址:https://www.cnblogs.com/AirtestProject/p/15432489.html
Copyright © 2011-2022 走看看