APPIUM+JAVA实现对安卓APK的自动化测试----第十一篇【定位元素】
2016-03-10 11:25
716 查看
我们已经可以启动APPIUM的驱动了,然后首要解决的的问题自然是如何定位元素,这一篇的内容和之前的第七篇较为相似,我相信等大家自动化玩多了也一定会发现其中的奥妙,也会有万剑归宗的味道。
好了不废话了,直接上代码:
1. driver.findElementByAccessibilityId(""); //常用,对应【CONTENT-DESC】属性
2. driver.findElementByAndroidUIAutomator("");//不常用,用UIAutomator对象来查找元素
3. driver.findElementByClassName(""); //不常用,对应【CLASS】属性,这个属性不常用的原因为:用类名来定位一般是一个列表,会定位出很多元素
4. driver.findElementByCssSelector(""); //常用,用CSS来定位,是一种定位方式
5. driver.findElementById("");// 常用,对应【resource-id】属性
6. driver.findElementByLinkText("");//APP不常用,但是WEB常用,对应web中的超链接的文本信息(精确的)
7. driver.findElementByName("");// 常用,对应【text】属性
8. driver.findElementByPartialLinkText("");//APP不常用,但是WEB常用,对应web中的超链接的文本信息(模糊的)
9. driver.findElementByTagName(""); //不常用,对应的是HTML里的标签名,这个属性不常用的原因为:用类名来定位一般是一个列表,会定位出很多元素
10.driver.findElementByXPath("");//常用,用X-PATH来定位元素
好了,以上就是常见的几款定位元素的方法,这里在唠叨两句的就是classname和tagname属性,如果是选择一个列表中的固定第几项时,这个属性非常好用,应为一般情况下它会返回一个list, 就很容易控制了。
这一篇内容不多,就这么点,大家慢慢玩,最后忘记说了,捕捉元素属性还是用SDK里的uiautomatorviewer.bat,这个工具还是蛮实用的。下一篇作者告诉大家如何模拟动作行为。
好了不废话了,直接上代码:
1. driver.findElementByAccessibilityId(""); //常用,对应【CONTENT-DESC】属性
2. driver.findElementByAndroidUIAutomator("");//不常用,用UIAutomator对象来查找元素
3. driver.findElementByClassName(""); //不常用,对应【CLASS】属性,这个属性不常用的原因为:用类名来定位一般是一个列表,会定位出很多元素
4. driver.findElementByCssSelector(""); //常用,用CSS来定位,是一种定位方式
5. driver.findElementById("");// 常用,对应【resource-id】属性
6. driver.findElementByLinkText("");//APP不常用,但是WEB常用,对应web中的超链接的文本信息(精确的)
7. driver.findElementByName("");// 常用,对应【text】属性
8. driver.findElementByPartialLinkText("");//APP不常用,但是WEB常用,对应web中的超链接的文本信息(模糊的)
9. driver.findElementByTagName(""); //不常用,对应的是HTML里的标签名,这个属性不常用的原因为:用类名来定位一般是一个列表,会定位出很多元素
10.driver.findElementByXPath("");//常用,用X-PATH来定位元素
好了,以上就是常见的几款定位元素的方法,这里在唠叨两句的就是classname和tagname属性,如果是选择一个列表中的固定第几项时,这个属性非常好用,应为一般情况下它会返回一个list, 就很容易控制了。
这一篇内容不多,就这么点,大家慢慢玩,最后忘记说了,捕捉元素属性还是用SDK里的uiautomatorviewer.bat,这个工具还是蛮实用的。下一篇作者告诉大家如何模拟动作行为。
相关文章推荐
- rtc关机闹钟7 jni层 com_android_server_AlarmManagerService
- Android2.3实现Android4.0风格EditText的方法
- Android之数据传输利器和低耦合器EventBus解析
- android中Notification状态栏的简单实用
- iOS开发:保持程序在后台长时间运行
- Android下的WebView的使用
- Java——JSON——JSONObject、JSONArray
- 自定义曲线图
- iOS 国际化
- iOS 使用EZAudio库生成wav出错的情况
- iOS开发中的strong、weak、copy
- 25条提高iOS App性能的建议和技巧
- android-RecyclerView浅谈
- Android屏幕旋转不重新加载布局
- android签名
- String Date Calendar之间的转换
- Android token使用
- Apple Pay
- Android ComponentName
- IE浏览器apply使用时堆栈溢出