- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UiAutomatr说明文档
Uiautomator测试框架使用说明:
1.环境搭建:
(1)配置好基础的JDK环境,下载好androidSDK
(2)在环境变量中新建加入“%ANDROIDHOME%”的系统变量,内容为androidSDK的所在目录地址
(3)在名字为“Path”的内容中加入“%ANDROIDHOME%\bin”和“%ANDROIDHOME%\tool”
(4)找到eclipse目录下的ant所在目录,也把他加入“Path”的环境变量中,如图所示:
此处的命名为“ANT_HOME”,“Path”中加入的就是“%ANT_HOME%\bin”,保存后退出。
2.项目创建:
(1)在eclipse中创建javaproject,在当前目录下创建一个“libs”的文件夹
(2)导入这两个jar包,这两个包就在如图所示为文件夹目录下
(3)新建测试类,如图所示,“FirstDemo”为测试类,该类继承于UiAutomatorTestCase,而UiAutomatorHelper为辅助类,该类封装了一些批处理的操作,具体使用后面会有介绍。
(4)测试类的大致结构如图所示:
根据每一个测试的功能点编写相应的testcase,上图显示的是两个case,case的编写需要遵循以“test”为开头的标准,否则无法进行识别编译.
3.项目运行:
(1)在运行的时候如图所示:
利用UiAutomatorHelper的对象进行执行相应的测试case,而输入的参数可以查看UiAutomatorHelper的构造方法,大致说明下,
(1)jarName可以自己定义,随意取名;
(2)testClass的名字为当前类的全名,就是报名加类名。
(3)testName为你要单独测试的某个testcase的名字,如果此处不写,那么会按照你的testcase命名顺序,即,字母的顺序进行执行。
(4)而最后一个androidId需要注意,Uiautomator支持的必须为API16以上,如果不清楚你的androidId改填写多少可以打开命令行工具,输入 android list
如图所示:根据你下载的SDK来进行相应的id写入。
(PS:截图功能会用到android API17以上的功能,所以如果填写的androidID过低可能会影响编译结果。)
接下来介绍一下整个Uiautomator的常用Api.
以下为UiDevice的常用接口:
UiObject的api详解:
下面展示一个例子:
这个测试类有两个test的case,从代码中可以看出,第一个testDrag()就是对桌面上的图标进行移动。而另外一个testSreen()就是一个测试打开一个名字为“音乐”的桌面快捷方式,然后等待界面跳转,当界面处于空闲状态时进行截图,并保持命名为“music.png”然后点击返回进行退出到主页面。
Ps:最主要的5大类,其中selector就是进行控件的查询和锁定。相应的api可以在调用方法的时候进行查看。
至于UiScrollable是进行滚动的api主要运用在listview和scrollview等等。
简单介绍下UiScroller的APi:
6.29.补充:
在实际测试使用中会遇到一些突发情况,比如测试进行了一半,有电话拨打进来了,又或者短信收到了,又或者你下载的应用下载完毕了会突然弹出安装的界面让你来安装,那么你的测试case就很可能因为这些突然发生的事件被打断,从而影响接下来的测试case。那么怎么办呢?此处我们可以采用一个名叫UiWatcher的监听器来进行监听并重写其中的方法。
如图所示就是在某个testcase中注册监听,重写了一个叫做checkForCondition的方法,当测试case运行中发生突发事件导致UiSelector无法找到控件,那么就会进入这个方法进行判断是否有事件处理,换言之,就是在这个方法里面进行事件的处理。不过这里要注意几个要点:
1.在case运行过程中,如果是在一个循环体里面,例如while,for这样的循环体中出现意外事件,那么就算做了事件处理,处理完后也不能再次返回执行循环体;
2.如果在运行时在执行返回,home的时候发生突发事件,就算做了事件处理也不会再继续执行这些操作。
综上所述,在测试的时候UiWatcher只能尽量做到辅助测试的功能,使用时要注意。
补充一下它的APi:
Configuration
这个类是可以控制测试时的一些默认时间配置的,例如滚动事件的间隔时间,查找控件的时间等等,都可以通过这个类来进行控制已达到控制测试脚本的运行速度的目的。接下来介绍一下api
您可能关注的文档
- SYD-2122C油产品微量水分试验器和水分测定仪价格.docx
- SYD-260A石产品水分测试仪和SYD-260A石油水分试验器价格.docx
- SYD-260A石产品水分测试仪和双联式水分试验器价格.docx
- SYD-260A石产品水分测试仪和WSY-04A石油产品水分试验器价格.docx
- SYD-260A石水分试验器和YD-0324润滑脂钢网分油试验器价格.docx
- SYD-260A石水分试验器和水分测定仪价格.docx
- SYD-260A石水分试验器和石油产品微量水分试验器价格.docx
- SYD-260A石产品水分测试仪和石油产品微量水分试验器SYD-2122价格.docx
- SYD-260双向控石油产品水分试验器和YD-0324润滑脂钢网分油试验器价格.docx
- SYD-260石油品水分试验器和石油产品水分试验器价格.docx
文档评论(0)