Airtest 新版来袭!揭秘 Airtest1.1.6 和 AirtestIDE1.2.6 的详细更新内容

简介: Airtest 新版来袭!揭秘 Airtest1.1.6 和 AirtestIDE1.2.6 的详细更新内容

前言



顶着同学们日常催更的压力,我们的AirtestProject终于又更新啦!这次不仅仅 更新了Airtest和poco这两个测试框架,AirtestIDE也有不少的优化  ,详细的更新内容同学们可以阅读下文。


Airtest1.1.5-1.1.6



Airtest更新了2个版本,包含多个接口的优化和众多bug修复。


1.功能新增/优化


① 新增对 Android11 的支持


② 修改了用于在脚本中记录log的 log() 接口,支持4个参数:


  • args, 可以是字符串或是 traceback 对象,现在还支持传入非字符串,并且对py2做了一下兼容。假如传入的是 traceback 对象,将会自动在报告中标记为报错步骤,否则就是显示正常的 log 内容。
  • timestamp, 参数可以自定义当前这条 log 的时间戳,默认为当前时间(在记录一些长时间的回调中获取到的 log 时,原本默认使用写入本条 log 的时间,但是可能需要修改为 log 产生的时间,比如几分钟前)
  • desc , 自定义一个 log 标题,在报告中有更好的展示效果
  • snapshot, 是否需要截取一张当前的屏幕图像并显示到报告中,方便查看。(同时,因为这个参数的加入,现在airtest脚本如果因为执行Poco语句失败报错而终止时,能够额外截取一张当前画面,方便大家排查问题。)


示例:


data = {"test": 123, "time": 123456}
# 第一条log,步骤名显示title,截取一张屏幕截图
log(data, timestamp=time.time(), desc="title", snapshot=True)
# 第二条log,标记为报错步骤并截取一张屏幕截图
try:
    1/0
except Exception as e:
    log(e, snapshot=True)
# 第三条log,显示传入的字符串
log("中文")
复制代码


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


③ 新增一个用于指定截图最大尺寸的设置:ST.IMAGE_MAXSIZE 。假如设置为1200,则最后保存的截图长宽都都不会超过1200,有利于进一步缩小截图的图片尺寸。

同时,支持自定义单张截图精度和全局截图精度:


  • snapshot 接口支持传入 quality 参数,单独指定本次截图的图像精度
  • 目前可以使用 ST.SNAPSHOT_QUALITY = xx  设置全局截图精度,在运行脚本时,报告的步骤截图也会采用这个数值进行压缩


示例:


# 设置截图质量为30
ST.SNAPSHOT_QUALITY = 30
# 设置截图尺寸不超过600*600,如果不设置,默认为原图尺寸
ST.IMAGE_MAXSIZE = 600
# touch语句保存的截图质量为30, 尺寸不超过600*600
touch(xx) 
# 本条语句截图质量为90
snapshot(filename="test.png", msg="test01", quality=90)  
# 截图质量为90,尺寸不超过1200*1200
snapshot(filename="test2.png", msg="test02", quality=90, max_size=1200) 
# 不设置的情况下,默认采用ST中的全局变量的数值
snapshot(msg="test12")  
复制代码


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


playground/android_motionevents.py 里面提供了一些 Android自定义手势 的示例代码,现在直接调用 dev.touch_proxy.perform 接口就可以传入写好的 MoveEvent 列表来进行自定义的滑动了(以前是调用 dev.minitouch.perform ,如果是安卓10就会不兼容)。


示例:


from airtest.core.android.touch_methods.base_touch import *
# tap with two fingers
multitouch_event = [
    DownEvent((100, 100), 0),
    DownEvent((200, 200), 1),  # second finger
    SleepEvent(1),
    UpEvent(0), UpEvent(1)]
device().touch_proxy.perform(multitouch_event)
复制代码


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


2.bug修复


① iOS修复了上个版本 stop_app() 失效的问题


② 回退了屏幕录制代码到1.0.27之前的版本,取消使用 yosemite.apk 来录屏,避免每次重装过 yosemite.apk 后必须要手工赋予录屏权限才能录屏的问题


③ 在一些无法使用 minicap 的手机上,虽然指定了 Javacap 模式也能截屏,但是在调用 get_display_info 的时候依然调用到 minicap.get_display_info ,如果没有指定 ori_methodadbori ,会导致脚本无法运行成功。 因此修改为假如获取屏幕信息失败,自动调整 为使用 adbori 模式来获取当前屏幕信息。


④ 在脚本中一旦对同一台手机运行了不止一次 connect_device 接口,并指定了不同的设备连接参数时,G.DEVICE 不会更新到最新参数创建出来的设备对象,导致部分手机可能连接失败。现在改为每次更新设备对象时,也会自动更新一下 G.DEVICE


⑤ 修复了在高版本Android手机上,get_ip_address() 接口不能正确获取到手机IP的问题


⑥ 去掉了 assert_exists() 接口使用特殊的 ST.THRESHOLD_STRICT 值作为找图阈值的设定。假如之前设置了 ST.THRESHOLD_STRICT 将会继续沿用该数值,但是如果没有设置的话,默认与其他图片一样都使用指定的 threshold 参数,或是全局的 ST.THRESHOLD ,这样能够方便统一设置和管理,也不容易造成误解。


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


AirtestIDE1.2.6



AirtestIDE更新到1.2.6版本,主要优化了设备连接窗口部分的内容。


1.功能优化/修复


① 全面修改了设备连接模块的逻辑,同时 优化了windows下窗口连接的体验 ,如果在连接手机、windows窗口时遇到BUG,请向我们反馈~


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


2.更新


① 如使用IDE自带的python环境,则只需将旧版AirtestIDE更新到最新的1.2.6即可。(特别注意:覆盖更新之前请检查脚本是否保存在IDE的安装路径内,如是的话,请将脚本转移到其它非IDE安装路径保存,避免覆盖更新之后,造成IDE安装路径内的脚本丢失!!!)


② 如使用的是本地的Python环境,请使用 pip install -U airtestpip install -U pocoui 命令,将这两个库到最新版本。

相关文章
|
6月前
|
测试技术 Python
如何正确使用Airtest报告插件?报告小tips上线
如何正确使用Airtest报告插件?报告小tips上线
156 0
|
6月前
|
Android开发 iOS开发 Windows
Airtest:各平台的剪切板功能汇总
Airtest:各平台的剪切板功能汇总
|
6月前
|
Android开发 iOS开发 计算机视觉
Airtest新增iOS、Windows录屏功能,真香!
Airtest新增iOS、Windows录屏功能,真香!
178 0
|
6月前
|
人工智能 JavaScript Python
基于Airtest抖音养号源代码
基于Airtest抖音养号源代码
105 0
|
存储 iOS开发
超好用iOS管软件iMazing 2.16.6官网下载及2023新增功能
iMazing 2.16.6这是一款非常方便的 iPhone 管理工具,尤其是在升级、降级、越狱之前,做好备份是必不可少的一步,千万别偷懒。有一款用着顺手的iOS管理工具在手边,让数字生活更安心!
257 0
超好用iOS管软件iMazing 2.16.6官网下载及2023新增功能
|
Java Android开发 iOS开发
Airtest视频录制--续篇
Airtest视频录制--续篇
|
存储 Android开发 iOS开发
三分钟了解Studio One6最新版二十项功能介绍及下载
Studio One是一款音乐编曲软件,是音乐工作者必不可少的创作工具,用于创建、录制、混合和掌握音乐和其他音频。无论你是第一次接触数字音乐工作站(DAW),还是第一次尝试制作属于自己的音乐,Studio One 6都能给你非凡的体验!Studio One 6新功能包括智能模板、乐谱支持歌词,全局视频轨,还有全新的声码器插件。万众期待的2022新版 Studio One 终于来了!在广受好评的5系列基础上,Studio One 6 又将给喜欢创作音乐的爱好者,带来哪些惊喜功能呢?请跟随 Studio One 中文来一探究竟!抢先体验20项全新功能吧!
1641 0
|
iOS开发
Camtasia 2023注册机下载及最新版功能详情
Camtasia studio是一款专门捕捉屏幕影音的工具软件,它能够轻松记录屏幕动作,还有即时播放和编辑压缩的功能。camtasia studio能够录制高质量的视频,加入了全新的视频功能,包括可定制的前奏,外拍等,是你视频录制和编辑的好帮手。
4308 0
|
数据可视化 测试技术 API
|
存储 编解码 前端开发
Camtasia Studio2022官方更新下载及发布详细功能介绍
Camtasia Studio 是一款专门录制屏幕动作的工具,它能在任何颜色模式下轻松地记录 屏幕动作,包括影像、音效、鼠标移动轨迹、解说声音等等,另外,它还具有即时播放和编 辑压缩的功能,可对视频片段进行剪接、添加转场效果。
457 0