Appium新版本不再支持ByName定位了怎么办

appium版本在1.5以后就不再支持ByName的定位,本文章仅介绍在appium1.6.3/1.6.4/1.6.5版本下如何支持ByName定位,适用于 安卓

在使用appium1.5之后的版本时,你一定见过这个错误

org.openqa.selenium.InvalidSelectorException: Locator Strategy 'name' is not supported for this session

是否很心痛,曾经的定位神器居然ByName居然不再支持了,那我以前的脚本可怎么办,此时你去各种技术论坛或者群求助,会得到两种答案

1. 换其他定位方式,比如用xpath代替

2. 使用ByAByAccessibilityId代替,但实践证明这个方法并没有取代ByName

其中第一种是可取的,换其他定位方式,本文将交给大家一个不用换定位方式不用换之前脚本的方法来完成无缝升级appium版本的定位方式

一招修改源码解决问题根源,修改方法如下:

找到你的appium\node_modules\appium-android-driver\build\lib\driver.js 文件,只需要修改其中一行即可

this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name'];//注意原本是没有最后的name的,name就是咱们修改加上的

修改完成之后,保存,再次重启appium服务,就可以继续使用ByName定位啦,完美

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值