Appium java+appium+testng 元素定位问题

Doshrik · June 29, 2018 · Last by 笑哼 replied at July 02, 2018 · 1456 hits
  1. 之前写好的代码,元素定位无误,可正常执行结果。
  2. 结果隔了 2 天没动代码,突然所有元素都定位不到。
  3. 目前使用 uiautomatorview、appium desktop 定位元素,出现的结果不太一样,不知道那个更好一些。
  4. 有没有更好的元素定位工具或者方法? xpath 和 id 那个列好一些??
  5. 这个需要自己开发代码来解决吗?

求助各位大大,能帮忙解决心中的疑问!!非常感谢!!

jdk 1.8.0_161
appium 5.0.4

共收到 9 条回复 时间 点赞

之前的元素是用什么定位?xpath 还是 ID,是否被测系统更新了?对比下现在的元素与之前的有没有不一样?
元素定位有 id 首选 ID,没有 id 就 xpath 咯。元素定位工具,目前有个新兴的 macaca app-inspector 工具,可以查下怎么用

Doshrik #2 · June 29, 2018 Author
Look毛青 回复

xpath 我之前
用 uiautomatorview 定位的:
@AndroidFindBy(xpath = "//android.widget.Image[@resource-id='img_one']")
用 appium desktop 定位的:
@AndroidFindBy(xpath = "//android.webkit.WebView[@content-desc=\"Title\"]/android.view.View/android.view.View[1]")
不太明白为什么之前这个失效了,从新定位的倒是可用的。。。

Doshrik 回复

别急,好好描述~~我有点弄不清到底哪个是可用哪个不可用😹
反正,你把前后不可以定位的跟可以定位的两个 xpath 拿出来比对一下就知道了;可能是被测系统更新了,改了 xpath 节点什么的

Doshrik #4 · June 29, 2018 Author
Look毛青 回复

用 uiautomator 定位的失效了。重新用 uiautormator 定位,跟以前是一样的,用代码定位就是说找不到元素。

Doshrik #5 · June 29, 2018 Author
Look毛青 回复

换 appium desktop 定位
@AndroidFindBy(xpath = "//android.webkit.WebView[@content-desc=\"Title\"]/android.view.View/android.view.View[1]")
就好了。。真有意思。。。。

很简单,你再点击或者查找元素之前打印 page_source 看看

Doshrik #7 · June 29, 2018 Author
笑哼 回复

获取 size??输出?表示抓到了?
还是??

是不是不是同一包呢

Doshrik 回复

在 page_source 里查看你需要定位的元素存不存在啊?你不是说都定位不到么

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up