如何为你的Airtest报告自定义名称

简介: 如何为你的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:\test\test01\0d86098ed0cd4a54c8c611578a3d71b7\cloud_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:\test\song.air',log_root=r'D:\test\song.air\log')
r.report(output_file=r'D:\test\test01\0d86098ed0cd4a54c8c611578a3d71b7\cloud_music01.html')
复制代码


网络异常,图片无法展示
|


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


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


网络异常,图片无法展示
|


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


airtest report D:\test\song.air --log_root D:\test\song.air\log --lang zh --outfile D:\test\test01\0d86098ed0cd4a54c8c611578a3d71b7\cloud_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
复制代码


网络异常,图片无法展示
|

相关文章
|
存储 物联网 测试技术
改变LoRA的初始化方式,北大新方法PiSSA显著提升微调效果
【4月更文挑战第23天】北京大学团队提出的新方法PiSSA,基于SVD进行参数高效微调,降低计算成本。PiSSA通过聚焦低秩矩阵训练,实现与全参数微调相当甚至更好的性能,快于LoRA收敛且在五个基准测试中胜出。PiSSA继承LoRA的参数效率,初始化仅需几秒,适合快速适应不同下游任务。尽管有潜力,但其在更大模型和任务上的效果,以及与LoRA结合的可能优化,仍是未来研究课题。[链接](https://arxiv.org/pdf/2404.02948.pdf)
396 7
|
前端开发 JavaScript UED
Svelte:下一代前端框架的革命性选择
Svelte:下一代前端框架的革命性选择
278 0
Svelte:下一代前端框架的革命性选择
|
存储 移动开发 算法
Python怎么将图片转换成base64编码
Python怎么将图片转换成base64编码
444 0
|
12月前
|
存储 关系型数据库 MySQL
|
机器学习/深度学习 自然语言处理
深度剖析Transformer核心思想 "Attention Is All You Need"
深度剖析Transformer核心思想 "Attention Is All You Need"
|
12月前
|
前端开发 JavaScript UED
现代Web开发中的渐进式增强(Progressive Enhancement)
【10月更文挑战第9天】现代Web开发中的渐进式增强(Progressive Enhancement)
214 1
|
机器学习/深度学习 数据可视化 数据挖掘
Python数据分析工具有哪些
【7月更文挑战第3天】Python数据分析工具有哪些
463 58
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
843 6
|
安全 网络安全 数据安全/隐私保护
窃听攻击(Eavesdropping Attack)
【8月更文挑战第10天】
729 2
|
缓存 算法 JavaScript
JIT引擎是如何实现即时编译的
【9月更文挑战第1天】JIT引擎是如何实现即时编译的
288 0