Appium调试genymotion模拟器踩坑记录

最近在学Appium,选择了在genymotion模拟器上调试,在这个过程中遇到了不少问题,记录在此,希望能帮到遇到和我一样报错的伙伴。

1.报错:Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

报这个错,大概率是忘记打开Appium了。打开Appium再运行代码即可。

2.报错:An unknown server-side error occurred while processing the command.

我在切换模拟器安卓版本和安装APP时都报了这个错。

首先,如果模拟器的版本低于12.0时,报这个错,解决方法如下:

(1)在启动参数中将skipServerInstallation的属性值改为False,重新执行一次后,再改回True。

网上的好多博客都推荐此方法,但我试完之后并没有什么卵用!

(2)在启动参数中添加 automationName=UiAutomator1,然后重新运行就成功了!

import time

from appium import webdriver
#创建一个字典,包装相应的启动参数
desired_caps = dict()
#需要连接的手机的平台
desired_caps['platformName'] = 'Android'
#需要连接的手机的版本号
desired_caps['platformVersion'] = '8.0'
desired_caps['automationName']='UiAutomator1'
#需要连接的手机设备号,安卓平台下,可以随便写,但不能不屑
desired_caps['deviceName'] = '192.168.89.101:5555'
#需要启动的程序的包名
desired_caps['appPackage'] = 'com.android.settings'
#需要启动的程序的界面名
desired_caps['appActivity'] = '.Settings'
#连接appium服务器
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

在安装APP时报该错误,用driver.install_app()无法安装APP,于是我尝试用adb命令安装。打开cmd面板,输入adb install,然后将要安装的app拖入面板,路径就自动输入了,回车。我的报错显示Failure [INSTALL_FAILED_NO_MATCHING_ABIS:Failed to etract native libraries,res-113.

网上说这是因为当前的app使用了native libraries与模拟器的CPU架构不一致所导致的,而genymotion模拟器默认创建的只支持x86架构而不支持arm架构。我们需要导入转换包使其能够支持arm。网上的博客提到的转换报都是GenyMotion-ARM-Translation_v1.1.zip,将其拖入模拟器中即可。但事实是,该包只适用于安卓版本4.1-4.31,其他版本模拟器拖入该包会显示如下提示:

 这只是将该包作为文件复制到了模拟器中,并不算成功。

正确的做法:根据模拟的安卓版本下载对应的转换包,然后拖入模拟器,成功的界面应该如下所示:

参考博客:https://blog.csdn.net/GHY2016/article/details/83422620 (按照对应版本下载对应转换包)

导入转换包后,即可正常安装app!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值