如何把自定义的函数,记录到你的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报告里“上榜”。


相关文章
|
算法 IDE 开发工具
Airtest脚本的点击位置与点击偏移
Airtest脚本的点击位置与点击偏移
574 0
|
Web App开发 JavaScript 前端开发
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
1504 0
Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示
|
8月前
|
存储 消息中间件 Apache
ZooKeeper 实战指南:从入门到场景解析
Apache ZooKeeper是分布式系统的协调核心,本文带你快速搭建环境,掌握Znode操作与Watcher机制,深入理解其在分布式锁、配置管理、服务发现等场景的应用,并解析美团Leaf中的实践案例。
1394 208
|
10月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
JavaScript 应用服务中间件 nginx
Vue项目部署:如何打包并上传至服务器进行部署?
以上就是Vue项目打包及部署的方法,希望对你有所帮助。描述中可能会有一些小疏漏,但基本流程应该没有问题。记住要根据你的实际情况调整对应的目录路径和服务器IP地址等信息。此外,实际操作时可能会遇到各种问题,解决问题的能力是每一位开发者必备的技能。祝你部署顺利!
2863 17
|
机器学习/深度学习 Web App开发 测试技术
『软件测试3』八大典型的黑盒测试方法已来袭,快快接住!
该文章介绍了八种常用的黑盒测试方法,包括等价类划分、边界值分析、错误推测法、因果图法、决策表测试、状态转换法、场景法以及随机测试,并提供了相应的案例说明。
|
人工智能 JSON 文字识别
开源VLM新标杆 InternVL 2.0 怎么用?部署、微调尽在魔搭社区!
7月4日下午,世界人工智能大会科学前沿论坛,上海人工智能实验室OpenGVLab发布了InternVL 2.0 版本,中文名书生·万象。
|
XML 测试技术 Linux
性能测试之Locust(完整版)
性能测试之Locust(完整版)
4602 2
|
编解码 开发者 Python
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
【Python】已解决:SyntaxError: (unicode error) ‘unicodeescape’ codec can’t decode bytes in position 2-3: t
5202 0

热门文章

最新文章