答疑第三期 | 使用Airtest最常见的 8 大问题

简介: 答疑第三期 | 使用Airtest最常见的 8 大问题

1.ImportError: DLL load failed: 找不到指定模块



常见的DLL报错会出现在以下2种情况中:


① 在 cv2 模块报 ImportError: DLL load failed: 找不到指定模块 的错:



根本原因应该是DLL文件的缺失,你可以直接下载一个最新版本的AirtestIDE,在解压后的目录中找到 api-ms-win-downlevel-shlwapi-l1-1-0.dllIEShims.dll 两个DLL文件(或者自行在网上搜索这俩个DLL文件也是可以的),然后将它们复制到 C:\Windows\System32 目录,重新运行代码即可解决。



② 若在 win.pyimport win32api 时报 DLL load failed


<Module>
    import win32api
ImportError: DLL load failed: 找不到指定的程序。
复制代码


建议您运行下列指令,更新为223版本的 pywin32


pip uninstall pywin32
pip install pywin32==223
复制代码


2. 各种常用的pip命令



① 安装Airtest库: pip install airtest

② 安装poco库: pip install pocoui

③ 更新Airtest: pip install -U airtest

④ 更新Poco: pip install -U pocoui

⑤ 卸载Airtest库: pip uninstall airtest


特别注意:Poco依赖库是 pocoui 而不是 poco,如果你发现你的环境里面同时存在 pocopocoui ,请务必把 poco 卸载了,留下 pocoui即可。


另外,如果你的电脑同时安装了 python3 和 python2 ,在不同python环境里面使用pip命令时可以使用如下方法:


# Python2
pip2 install XXX
python2 -m pip install XXX
# Python3
pip3 install XXX
python3 -m pip install XXX
复制代码


3.查询Airtest版本号的方法



查询本地环境中的Airtest版本可以使用如下俩种方法:


① 使用 pip list 命令,找到 Airtest 那一行查看。



② 使用 airtest version 命令,但注意该命令只对1.1.2以上的 Airtest 版本生效。



4.自定义截图压缩精度



当Airtest版本≥1.1.2时,我们可以自定义截图精度:


① 在本地运行脚本时自定义:


# quality取值[1,99],airtest默认取10,希望获得更高精度可以取值75
airtest run xxx --compress quality
复制代码



② 在脚本中自定义(优先级高于在命令行自定义):


自定义全局的截图压缩精度:


import airtest.core.api import *
ST.SNAPSHOT_QUALITY = xxx  
复制代码


自定义单张截图的压缩精度:


snapshot(quality=my_quality)
复制代码


5.Airtest支持多设备运行吗



Airtest支持 Android 和 iOS 的多设备运行,但是这些目前仅用在我们的收费的小型机柜方案私有云中,外放的开源版本可以自己实现。


另外,Airtest还支持Android设备的 多机协作功能 ,实操案例可以参考往期推文:“多机协作”--微信互加好友案例分析


6.怎样输入随机数字



首先我们要利用python的 random 函数创建出符合要求的随机数;比如想要随机输入20-100的1个整数型随机数:


import random
r = random.randint(20,100)
复制代码


然后使用 text 接口完成随机数的输入,但要注意的是,text 接口传入的是一个字符串类型,所以把随机数传入 text 接口之前,要把刚才创建的随机数转化为字符串类型:


text(str(random.randint(20,100)))
复制代码


这样我们就可以完成输入随机数字的需求啦。


7.如何获取节点的text属性并打印



Poco提供了 get_text()get_name() 等方法让我们去读取UI的属性值,例如我们可以这样获取并打印下面这个节点的 text 属性和 name 属性:


a = poco(text="联系人")
print(a.get_text()) # 打印出:联系人
print(a.get_name()) # 打印出:android.widget.TextView
复制代码



8.模拟器勾选上连接参数之后还是连不上



之前跟大家强调过,连接模拟器的时候,我们需要勾选上一些备选的连接参数才能连接上模拟器,或者不让模拟器黑屏。


比如连接雷电时需要勾选上 Use javacap,而连接夜神的时候需要勾选上 Use javacapUse ADB orientation 这俩个选项。


但是在一些版本的模拟器中,即使勾选上了连接参数,仍然可能连接不上模拟器,并出现如下的报错:



这是因为在连接这些版本的模拟器时,不能自动安装上 Yosemite.apk ,我们可以通过手动安装这个 apk ,再重新连接模拟器即可。


Airtest官网:airtest.netease.com/

Airtest教程官网:airtest.doc.io.netease.com/

搭建企业私有云服务:airlab.163.com/b2b


相关文章
|
7月前
|
C语言 Python
专为编程小白设计的Python零基础入门教程,GitHub星标破W
市面上大多数技术类的书籍都着重于一步步的构建系统的知识体系,并不是说这样就是不对的,但这样按部就班的学习注定了需要花费大量的时间用来掌握“基础知识”,或死记硬背,或慢慢理解。 然而世界不会迁就你,而是在步步紧逼的告诉你要赶紧学完,赶紧找工作,赶紧挣钱,这才是你生活的基础。 今天给小伙伴们带来了一份《编程小白的第一步Python书》,这本书是专为零基础小白设计的,不会告诉“先学C语言,会更好理解Python”这种狗屁道理。而是先带你掌握搭建项目所用到的最少得知识,再真实的项目搭建中实践自己的所学,逐渐的完善知识体系。
|
7月前
|
存储 Web App开发 前端开发
Airtest-Selenium实操小课③:下载可爱猫猫图片
Airtest-Selenium实操小课③:下载可爱猫猫图片
|
7月前
|
Web App开发 JavaScript
Airtest-Selenium实操小课②:刷B站视频
Airtest-Selenium实操小课②:刷B站视频
|
存储 人工智能 算法
Tkinter模块GUI界面化编程实战(七)——人机对战五子棋(含超详解及完整源码、完整程序免费下载链接)
Tkinter模块GUI界面化编程实战(七)——人机对战五子棋(含超详解及完整源码、完整程序免费下载链接)
216 0
Tkinter模块GUI界面化编程实战(七)——人机对战五子棋(含超详解及完整源码、完整程序免费下载链接)
|
编解码 Python
Python黑科技04-练手小项目-美轮美奂的电脑屏保
很多时候我们总是低估了自己,对自己不够狠,从而错过了遇到一个更加优秀的自己。逼自己一把,很多事并不需要多高的智商,仅仅需要你的一份坚持,一个认真的态度,一颗迎难而上的决心。 不去做,就永远不会有收获;不相信,就永远不会有成功;不可能,就永远停留现在。未来是靠把握机会和努力奋斗的,相信永远比怀疑多一次成功的机会!
Python黑科技04-练手小项目-美轮美奂的电脑屏保
|
安全 IDE 开发工具
答疑第四期 | 使用Airtest最常见的8大问题
答疑第四期 | 使用Airtest最常见的8大问题
564 0
|
IDE 开发工具 Android开发
答疑第二期 | 使用Airtest最常见问题8大问题
答疑第二期 | 使用Airtest最常见问题8大问题
509 0
|
编解码 移动开发 IDE
Airtest 快问快答,你们想问的这里都有!(第 1 期)
Airtest 快问快答,你们想问的这里都有!(第 1 期)
705 0
|
编解码 IDE 小程序
Airtest快问快答,你们想问的这里都有!(第2期)
Airtest快问快答,你们想问的这里都有!(第2期)
545 0
Airtest快问快答,你们想问的这里都有!(第2期)

热门文章

最新文章