本人之前曾经撰文描述Appium和UIAutomator框架是如何定位Android界面上的控件的。
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的凉城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
- UIAutomator定位Android控件的方法实践和建议
- Appium基于安卓的各种FindElement的控件定位方法实践和建议
今天我们换一个渊源更留长,当今更盛行的框架Robotium,实践下看它又是如何对控件进行定位的。
1. 背景
为保持这个系列的一致性,我们继续用SDK自带的NotePad实例应用作为我们的试验目标应用,但是这次不仅仅是像以前一样主要围绕Menu Option里面的那个"Add note”控件进行定位,而是会设计到NotePad上的多个不同的控件定位。但主要围绕的还是Notepad的NotesList这个Launchable activity了,下面先看下UIAutomatorViewer下面捕获的我们会涉及到的不同界面吧。
- NotesList Activity的第一个页面列表中会包含note3到note9的笔记
6.2.2 解析
注意这里的类名viewClass和UIAutomator(New UiSelector().className(String className))以及Appium(AppiumDriver.findElementByClassName(String className))的通过className查找时填写的类的格式和类型是不一样的,就以TextView为例:
- Robotium :Class类型 || 不需要FQCN(也就是不需要写成andoid.widget.Textview,这在UIAutomator和Appium中是必须的)
- UIAutomator: String类型 || FQCN
- Appium :String类型 || FQCN
7 无需定位的控件
我们常用到的两个系统控件是不需要定位的,一个是系统的Menu键,一个是系统的goBack。但是注意Menu下面的Menu Entry还是需要定位的,比如我们例子中的”Add note“这个Menu Entry。
8 还有吗?
以上列出了Robotium中对本人当前最重要的获取控件的方法,当然Solo里面还有一些其他的方法,但不是容易理解就是现在用不上,所以就不一一陈述了
- 通过坐标点操作控件:容易理解,就是获得坐标点然后点击屏幕坐标。
- 获取和操作WebView控件:现在用不上,到时有用到了再去深究
- 还有其他吗?
|
作者 | 自主博客 | 微信 | CSDN |
天地会珠海分舵 | http://techgogogo.com
| 服务号:TechGoGoGo 扫描码: | http://njwzjz.com/article/piieji.html
|