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定位啦,完美

---------------------
作者:wuyepiaoxue789
来源:CSDN
原文:https://blog.csdn.net/wuyepiaoxue789/article/details/78411170
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. git config 配置
  2. 关于处理addGiftmoneyAction接口报错问题的总结
  3. Hadoop源码之HDFS(1)--------通信方式
  4. [原创]CI持续集成系统环境---部署gerrit环境完整记录
  5. 【转】java反射详解
  6. 【转】17种常用的JS正则表达式 非负浮点数 非负正数.
  7. pgAdminIII使用图解
  8. 乐在其中设计模式(C#) - 外观模式(Facade Pattern)
  9. TRIGGER的使用(修改SP自动触发)
  10. Servlet实现的三种方式
  11. 算法:javascript截取字符串
  12. R语言︱缺失值处理
  13. python的Virtualenv
  14. Impala系列: Impala常用的功能函数
  15. IDEA-使用技巧
  16. caoni大业 spring boot 跳坑记
  17. HTMl学习笔记02-编辑器
  18. BZOJ 1002 - 轮状病毒 - [基尔霍夫矩阵(待补)+高精度]
  19. ELK日志分析系统
  20. Mac巧用AirDrop实现大文件传输

热门文章

  1. [Android] Android最简单ScrollView和ListView滚动冲突解决方案
  2. css的几个小技巧
  3. Spring MVC整合Mybatis 入门
  4. spring注解第04课 @Import
  5. PHP中的会话控制—session和cookie(实现数据传值功能)
  6. [C++]Linux之多进程运行代码框架
  7. python前后端加密方式
  8. Min_25筛学习笔记
  9. 高性能缓存Caffeine
  10. js-ES6学习笔记-Set和Map数据结构