答疑 | 使用Airtest最常问的8大问题

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 答疑 | 使用Airtest最常问的8大问题

在我们的开发者交流Q群(1017250147)里面,大家每天都会提出各种各样的问题,但其中存在一部分问题,大家提出的概率非常高。


所以我们决定推出几期“问题答疑”,专门针对高频问题进行解答。当然,如果大家有别的希望我们答疑的问题,也欢迎直接在我们公众号留言,我们会筛选一些问题加入到这几期的答疑推文中。


下文是本期精选的8大问题,希望能帮助大家在自动化测试的研究中少走一些弯路:


1. 在IDE中如何引入第三方库?



AirtestIDE内置了一个精简的python环境,缺少很多第三方库;如果需要在IDE中引入各种第三方库,可以先在本地的python环境中装好,再设置IDE使用本地的python环境,具体步骤如下:


① 请自行在你的电脑上安装属于你自己的Python(python<=3.7,3.8暂不支持),然后再安装对应的依赖库。你可以通过一些环境管理方案来管理你的python环境,例如virtualenv


② 在刚才安装好的本地Python环境中,安装airtest相关的依赖库,详细内容请参考文档:airtest.doc.io.netease.com/IDEdocs/run…


③ 在本地安装完属于你自己的python环境后,再在IDE的设置里面设置好你本地的python.exe的路径,详细内容请参考文档:airtest.doc.io.netease.com/IDEdocs/set…



2. RuntimeError:minitouch setup timeout



出现这个报错,最常见的是以下俩种情况:


① 手机系统是MIUI11,此时我们需要在点击“connect”按钮之前,把 “use Javacap + use orientation” 这两个选项勾选上,再点击“connect”按钮即可正常使用


② 手机的安卓版本是Android10,此时仅需要把IDE更新到最新版本即可;如果IDE使用的是本地的python环境,那还需要把本地python环境的Airtest更新到最新版本。



3. Yosemite等apk在哪里可以下载



有些设备可能因为某些权限问题,不能自动安装Yosemite、RotationWatcher等apk,同学们首先需要检查下手机设置里是否没有开启“允许通过USB安装应用”这样的设置。


如果确定手机设置都开启了,但还是不能自动安装的话,再考虑手动进行安装。同学们可以在官网上下载一个最新版版本的IDE,然后在如下目录中找到这些apk,然后自行在设备上安装即可:



4. ADB版本冲突



在Windows环境中运行Airtest脚本时,假如运行环境本地已经存在有 adb.exe (例如装了android_sdk, 或者是别的工具带有adb.exe),并且ADB版本与Airtest中使用的不同,运行脚本时就可能会出现各种报错。


常见情况下,我们会看到log中包含这样的语句:


adb server version (40) doesn't match this client (39); killing...
  * daemon started successfully *
复制代码


如log所示,我们可以看到环境里面使用了40和39版本,版本冲突导致报错。解决办法是将本地所有的adb.exe统一成同样的版本就行。


另外,adb版本冲突,还会容易导致设备断开,出现如下报错:



解决办法依旧是将本地所有的adb.exe统一成同样的版本。


5. 连接模拟器出现黑屏



① 先尝试在连接模拟器之前下拉勾选Use javacap选项,之后再点击“connect”按钮连接模拟器


② 如果仍然黑屏,断开模拟器,下拉勾选Use javacap和Use ADB orientation这俩个选项,再次连接即可


③ 如上述方式都不见效,可以上GitHub提一个issue,贴上使用的IDE和模拟器版本详情(GitHub地址:github.com/AirtestProj…


6. 复制IDE中log窗口生成的报告命令在命令行执行报错



常见的情况可能有如下几种:


① 复制的命令路径中含有空格,导致程序报错:找不到文件或者路径;只需要将命令中的路径用英文模式下的双引号括起来即可。


② 命令行中包含了&这样的符号,可能会导致命令行被中断,常见于一些勾选了 “use javacap” 这样的选项后连接的设备。但是&这个字符需要转义才能够生效:Windows下改写成^&,MAC下改写成/&


7. Airtest的报告步骤显示能否自定义



当Airtest版本≥1.2.2,或者IDE版本≥1.2.2,支持在报告上自定义断言信息,其余操作在报告上的显示暂不支持自定义。



8. 如何在报告中显示报错信息



可以使用如下代码:


import traceback
try:
    xxxx
except:
     log("出错啦", traceback. format_exc())
复制代码


相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
6月前
|
XML 前端开发 Java
《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
【4月更文挑战第6天】按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath。xpath 的定位方法, 非常强大。使用这种方法几乎可以定位到页面上的任意元素。xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素。XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点。基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的节点。
98 0
|
6月前
|
JavaScript 前端开发 Java
《手把手教你》系列技巧篇(四十九)-java+ selenium自动化测试-隐藏元素定位与操作(详解教程)
【5月更文挑战第13天】本文主要讨论了在Selenium自动化测试中如何处理前端隐藏元素的问题。隐藏元素通常是通过`type="hidden"`或`style="display: none;"`属性实现的,它们在页面上不可见,但仍然存在于HTML代码中。Selenium可以定位到这些隐藏元素,但无法直接进行点击、输入等操作,会报错“ElementNotInteractableException”。
109 3
|
6月前
|
机器学习/深度学习 数据挖掘 PyTorch
10个非常有用的Python库,你知道几个?
这些库覆盖了数据科学、机器学习、Web开发和其他领域,使Python成为一个多用途的编程语言。它们在各种项目和领域中都非常有用。
86 2
|
6月前
|
Java 测试技术 Python
《手把手教你》系列技巧篇(二十二)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换上卷(详细教程)
【4月更文挑战第14天】本文介绍了在Web自动化测试中如何使用Selenium进行浏览器窗口的切换。首先,获取浏览器窗口句柄有两种方式:获取所有窗口句柄的集合和获取当前窗口句柄。然后,通过`switchTo().window()`方法切换到目标窗口。在项目实战部分,展示了如何在京东网站上实现页面间的切换,包括点击手机链接打开新窗口,然后切换到新窗口并点击小米链接。文章还提供了两种不同的代码实现方式,并给出了运行代码后的控制台输出和浏览器动作演示。最后,作者建议将窗口切换的逻辑封装成方法以提高代码复用性。
118 0
|
6月前
|
数据采集 自然语言处理 监控
分享53个杂七杂八的Python源代码总有一个是你想要的
分享53个杂七杂八的Python源代码总有一个是你想要的
79 1
|
6月前
基于Airtest陀螺世界辅助源代码
基于Airtest陀螺世界辅助源代码
42 0
基于Airtest陀螺世界辅助源代码
|
6月前
|
测试技术
Playwright 系列(15):如何写下载的用例
Playwright 系列(15):如何写下载的用例
166 0
|
6月前
|
数据采集 机器学习/深度学习 数据可视化
分享261个Python源码源代码总有一个是你想要的
分享261个Python源码源代码总有一个是你想要的
400 0
|
6月前
|
数据采集 监控 数据可视化
分享78个Python源代码总有一个是你想要的
分享78个Python源代码总有一个是你想要的
65 0
|
6月前
|
数据采集 数据可视化 数据挖掘
分享40个Python源代码总有一个是你想要的
分享40个Python源代码总有一个是你想要的
277 0