- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
UIAutomator零基础入门 ------by 楚耳爱 UIAutomator的概念: 1.Google官方提供的android4.1以上版本自带的一个UI测试框架。用来做UI测试,它可以获取到界面上所有的view元素和控件,也可以用来做功能性测试,去点击界面上的控件元素,也就是相当于我们的手工测试。 2.测试人员不需要知道APP的源代码的情况下就可以用UIAutomator对程序进行UI测试。 3.权限最大的,可以对整个系统做UI测试不仅仅是局限于单个APP 环境配置及准备: 1.android4.1以上的Android SDK 1.在命令行输入android list 就会把所有的sdk都打印到控制台,选择API大于16以上的那个android target 。记住这个target前面的ID号。 2.安装ANT 配置ant环境。 3.安装Eclipse 分析UI组件: 1.使用uiautomatorviewer这个工具对UI组件进行分析。 1.在命令行输入 uiautomatorviewer就会启动这个工具 新建UIAutomator工程: 1.注意它是个java工程,所以新建工程时跟新建java工程是一样的。 2.这个工程我们要导入两个android sdk 的jar包。选择android target大于16以上的在sdk/platform/android-17/下面。导入android.jar和uiautomator.jar 3.导入一个junit 3的库。 4.工程建好了,就在scr下面新建class文件了,superclass里我们选择UiAutomatorTestCase.工程建好了接下来就是写代码了。 UIAutomator的API: 1.UiDevice :在测试中可以通过UiDevice对象去对设备的控制,如点亮屏幕、锁屏、旋转方向、截图等,点击home键、back键、menu键等。可以通过getUiDevice()来获取UiDevice对象。UiDevice=getUiDevice() 如:getUiDevice.pressHome();点击home键 运行测试工程: 保存好编写的工程,进入我们写好的工程目录下执行: 1.android create uitest-project -n XXX -t android-sdk-id -p 工程的路径 -n后面接的是之后生成的jar包名,-t后面是接API大于16的sdk的id -p是这个case工程的目录。 2.执行完上面的命令会生成一个build.xml文件。然后执行ant build 3.执行上面的命令会生成个test.jar 包,这个jar包会生成在工程的bin目录下面,然后执行 adb push xxx.jar /data/local/tmp 把jar包文件push进手机 4.最后执行 adb shell uiautomator runtest xxx.jar -c 包名.类名。 * * 2.点击上面的Device Screenshot就会获取到当前界面的UI组件。我们主要分析的就是右边这块 UiDevice 点击、拖拽、层级 获取信息、清除文本 锁屏和唤醒 旋转 等待、监听器 按键事件 截图、滑动 通知栏、快速设置 2.UiObject :整个UI里面的某个元素或控件。可以通过UiObject对象来对控件模拟用户的操作。UiObject的构造函数里是传入一个UiSelector对象。所以我们要通过UiSelector来查找我们需要的元素或控件 如:UiObject appsButton=new UiObject(new UiSelector().description(apps)); 拿到UiObject对象后可以做如下的操作:如图 3.UiSelector :可以通过UiSelector对象去定位UI元素。如果发现多个满足 条件的控件则会返回第一个控件,在使用UiSelector的时候可以组合使用多 个属性来定位具体的控件,还可以使用childSelector()函数来嵌套 UiSelector 对象。 UiSelector 描述 description(String)等 文本 text(String)…… resourceId(string) 特有属性 clicked(boolean) 父控件、子控件 类名、包名、索引 4.UiScrollable:可滚动的控件,如果操作的控件需要滚动就可以使用UiScrollable 如:UiScrollable appsLi
文档评论(0)