AppiumDriver 的各种 findElement 方法的尝试,尝试的目标应用是 SDK 自带的 Notepad 应用。

findElementByName

findElementByAndroidUIAutomator

UIAutomator 获取控件的方式多种多样,都是通过 UiSelector 对象来去查找,比如使用 view 的 text 文本去当前窗口查找控件,这里不做累述,往后会另起一篇文章来描述 UIAUtomator 获取控件的方式,到时直接套用进来就可以了。

findElementByClassName

findElementById

如果目标设备的 API Level 低于 18 则 UIAutomatorViewer 不能获得对应的 Resource ID,只有等于大于 18 的时候才能使用。

findElementByAccessibilityId

可以通过 UIAutomatorViewer 或者 Appium Inspector 获得。

findElementByCssSelector

findElementByLinkText

findElementByPartialLinkText

findElementByTagName

这个方法 Appium1.0 以后已经过时并被以上的 findElementByClassName 取代了,请查看https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.md

findEelementByXPath

据说不是很稳定:https://github.com/appium/appium/issues/3371
sometimes uiautomator fails to create the dump.xml. A client side retry may help. I don't think there's much we can do about the problem until Google fixes uiautomator.

终极方法:AppiumDriver getPageSource

作者:天地会珠海分舵
http://techgogogo.com
http://blog.csdn.net/zhubaitian


↙↙↙阅读原文可查看相关链接,并与作者交流