appium和airtest_Appium,AirTest切换使用时,appium罢工之坑(1)

在项目中,由于部分元素无法通过Appium定位,转而使用Airtest。但在执行过程中发现,从Appium切换到Airtest后,Appium驱动的操作停止响应。原因是Appium依赖于环境变量ANDROID_HOME指定的SDK路径下的ADB,而Airtest自带不同版本的ADB。为解决此问题,可以下载与Airtest相同版本的ADB替换SDK路径下的ADB,或者创建软链接使两者共用Airtest的ADB。
摘要由CSDN通过智能技术生成

由于一些元素不能定位,所以最近项目引用了Airtest

问题场景:

case的开始使用appium,case执行过程中,切换到airtest操作元素,待执行完airtest相关步骤之后,后续使用appium driver的步骤不在正常干活了……

问题原因:

因appium使用的是环境变量ANDROID_HOME指定路径sdk(/Users/XXX/Library/Android/sdk/platform-tools/adb)路径下的adb

而airtest api在安装的时候自带一个adb(/Users/XXX/Documents/GitHub/ProjectA/venv/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb)

所以他门处于各自使用一个adb的状态,而这个两个adb的的version不一样,所以就会失败。

解决方法:

方法1.

由于我的local, sdk路径下的adb的版本低于airtest自带的版本

1. download adb from https://dl.google.com/android/repository/platform-tools-latest-darwin.zip  (记得download版本跟airtest相同版本的adb)

2. unzip the download file as package “platform-tools”

3. put the package “platform-tools” into “/Users/XXX/Library/Android/sdk/”

方法2(推荐).

让appium和airtest使用同一个adb

我是让app

AirtestAppium是两个常用的移动端自动化测试框架,它们各自有一些优点和缺点。 Airtest的优点: 1. 跨平台支持:Airtest可以同支持Android和iOS平台的自动化测试,开发者可以使用同一套代码来实现跨平台的自动化测试。 2. 易于上手:Airtest提供了简洁易懂的API和可视化操作界面,使得初学者可以快速上手和编写测试脚本。 3. 强大的图像识别功能:Airtest内置了强大的图像识别功能,可以用于处理一些无法通过控件定位的情况,提高了测试脚本的灵活性和稳定性。 Airtest的缺点: 1. 对于复杂的应用可能存在兼容性问题:由于Airtest使用了图像识别技术进行控件定位,对于一些复杂的应用界面可能无法准确识别,导致测试失败。 2. 缺乏社区支持:相比AppiumAirtest的社区用户相对较少,因此在遇到问题可能难以找到及有效的解决方案。 Appium的优点: 1. 广泛支持多种编程语言:Appium支持多种编程语言,如Java、Python、Ruby等,开发者可以根据自己的喜好和熟悉程度选择合适的语言进行自动化测试。 2. 大型社区支持:Appium拥有庞大的社区用户群体,开发者可以很容易地找到解决方案、文档和教程,减少学习和使用的难度。 3. 支持多种定位方式:Appium支持多种定位方式,包括基于控件属性、XPath、CSS选择器等,可以灵活地定位和操作应用界面上的控件。 Appium的缺点: 1. 对于跨平台支持相对较弱:Appium在跨平台支持上相对较弱,需要针对Android和iOS平台分别进行配置和使用。 2. 配置和环境搭建较为复杂:相比AirtestAppium的配置和环境搭建较为复杂,需要安装和配置多个依赖组件,对于初学者来说可能会有一定的难度。 综上所述,Airtest适合对于简单应用的自动化测试,特别是对图像识别有较高需求的场景;而Appium适合对跨平台支持和社区支持有要求的场景,尤其是需要使用不同编程语言进行测试的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值