如何把自定义的函数,记录到你的Airtest报告里

简介: 如何把自定义的函数,记录到你的Airtest报告里

此文章来源于项目官方公众号:“AirtestProject”

版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途

1. 前言

熟悉Airtest的同学都知道,像touchswipe这类核心API,运行之后,都会在Airtest报告里记录一个步骤:

image.png

但有很多情况下,我们可能会使用自定义的函数,这种自定义的函数,就不会被记录到我们的Airtest报告里面。

那如果我们想要自定义的函数,也能显示在Airtest报告里面,该怎么处理呢?接下来我们就一起来了解下Airtest的装饰器 @logwrap

2. @logwrap 的介绍与示例

Airtest提供了一个装饰器 @logwrap ,这个装饰器可以帮助我们把函数显示到Airtest报告中。

1)在自定义函数中使用@logwrap的例子

我们可以从一个非常简单的例子,来体验下这个装饰器的作用。假设我们有一个自定义的函数,这个函数的作用是唤醒设备屏幕、启动计算机应用,我们姑且把这个自定义的函数叫做open_calculator

# -*- encoding=utf8 -*-
__author__ = "AirtestProject"
from airtest.core.api import *
auto_setup(__file__)
@logwrap
def open_calculator():
    wake()
    start_app("com.sonymobile.exactcalculator")
open_calculator()

运行完这个简单的.air脚本之后,我们就可以生成Airtest报告:

image.png

可以看到,这时候,自定义的函数,也被显示到了我们的Airtest报告里面,是不是非常简单!

2)附加1张当前设备截图的操作

如果我们希望在报告显示自定义函数内容的同时,还附带一张当前设备的截图的话,可以增加 snapshot=True 参数在自定义函数的定义中:

@logwrap
def open_calculator(snapshot=True):
    wake()
    start_app("com.sonymobile.exactcalculator")

这时候报告不仅能显示自定义的函数,还能带上一张设备截图:

image.png

但是,需要注意的是,增加 snapshot=True 参数这块的内容,是在1.2.7版本的Airtest才新增的,所以需要使用的同学,至少保证自己当前环境的Airtest版本大于等于1.2.7。

3. 小结

关于Airtest的装饰器@logwrap就介绍到这里,感兴趣的同学可以赶紧实操一下,让你自定义的函数,也能在Airtest报告里“上榜”。


相关文章
Airtest的多图查找与两图对比
Airtest的多图查找与两图对比
383 0
|
机器学习/深度学习 人工智能 测试技术
自动化测试的未来:AI与机器学习的融合
【6月更文挑战第20天】本文探讨了自动化软件测试领域中人工智能(AI)和机器学习(ML)技术的应用趋势。文章首先概述了自动化测试的基本概念,随后深入分析了AI和ML在测试用例生成、缺陷预测、测试执行和结果分析等方面的应用。最后,文章讨论了这些技术带来的挑战和机遇,并展望了未来的发展。
|
人工智能 架构师 容灾
函数计算 FC:首发 GPU 极速模式,更弹性、更降本
2024 云栖大会上,函数计算 FC 为 AI 加码,首发 GPU 极速模式,让 GPU 可以更弹性、更便宜。
604 14
|
Ubuntu 虚拟化
Ubuntu安装VMtools实现与主机之间复制粘贴
一、安装 VMware Tools 右键点击你创建的系统,然后出现菜单下滑找到安装 VMware Tools(T) 这个点击安装; 右键点击你创建的系统,然后出现菜单下滑找到设置; 然后弹出虚拟机设置-->点击选项-->客户机隔离-->启用复制粘贴; 二、Ubuntu命令 这些命令假设你的Ubuntu系统已连接到互联网并且已配置为使用apt软件包管理器; 如果你的网络环境有限,你可能需要提前配置好网络或更换软件源; Ubuntu上安装和配置VMtools以实现与主机之间的文本复制粘贴功能; 1、打开终端(Terminal)。 2、运行以下命令以卸载旧版本的open-vm-tools: su
4086 1
基于Dijkstra算法的最优行驶路线搜索matlab仿真,以实际城市复杂路线为例进行测试
使用MATLAB2022a实现的Dijkstra算法在城市地图上搜索最优行驶路线的仿真。用户通过鼠标点击设定起点和终点,算法规划路径并显示长度。测试显示,尽管在某些复杂情况下计算路径可能与实际有偏差,但多数场景下Dijkstra算法能找到接近最短路径。核心代码包括图的显示、用户交互及Dijkstra算法实现。算法基于图论,不断更新未访问节点的最短路径。测试结果证明其在简单路线及多数复杂城市路况下表现良好,但在交通拥堵等特殊情况下需结合其他数据提升准确性。
|
人工智能 JSON 文字识别
开源VLM新标杆 InternVL 2.0 怎么用?部署、微调尽在魔搭社区!
7月4日下午,世界人工智能大会科学前沿论坛,上海人工智能实验室OpenGVLab发布了InternVL 2.0 版本,中文名书生·万象。
|
IDE Shell Android开发
【更新公告】Airtest更新至1.2.7版本
【更新公告】Airtest更新至1.2.7版本
247 0
|
存储 数据采集 Prometheus
APM - Prometheus监控系统初探
APM - Prometheus监控系统初探
523 1
|
小程序 API 开发工具
如何在Android手机上使用poco框架进行测试
如何在Android手机上使用poco框架进行测试
859 0