欢迎来到天天文库
浏览记录
ID:39988836
大小:622.50 KB
页数:12页
时间:2019-07-16
《uiautomator零基础入门》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、UIAutomator零基础入门------by楚耳爱UIAutomator的概念:1.Google官方提供的android4.1以上版本自带的一个UI测试框架。用来做UI测试,它可以获取到界面上所有的view元素和控件,也可以用来做功能性测试,去点击界面上的控件元素,也就是相当于我们的手工测试。2.测试人员不需要知道APP的源代码的情况下就可以用UIAutomator对程序进行UI测试。3.权限最大的,可以对整个系统做UI测试不仅仅是局限于单个APP环境配置及准备:1.android4.1以上的AndroidSDK1>.在命令行输入an
2、droidlist就会把所有的sdk都打印到控制台,选择API大于16以上的那个androidtarget。记住这个target前面的ID号。2.安装ANT配置ant环境。3.安装Eclipse分析UI组件:1.使用uiautomatorviewer这个工具对UI组件进行分析。1>.在命令行输入uiautomatorviewer就会启动这个工具2>.点击上面的DeviceScreenshot就会获取到当前界面的UI组件。我们主要分析的就是右边这块新建UIAutomator工程:1.注意它是个java工程,所以新建工程时跟新建java工程是
3、一样的。2.这个工程我们要导入两个androidsdk的jar包。选择androidtarget大于16以上的在sdk/platform/android-17/下面。导入android.jar和uiautomator.jar3.导入一个junit3的库。4.工程建好了,就在scr下面新建class文件了,superclass里我们选择UiAutomatorTestCase.工程建好了接下来就是写代码了。UIAutomator的API:1.UiDevice:在测试中可以通过UiDevice对象去对设备的控制,如点亮屏幕、锁屏、旋转方向、截图
4、等,点击home键、back键、menu键等。可以通过getUiDevice()来获取UiDevice对象。UiDevice=getUiDevice()如:getUiDevice.pressHome();点击home键UiDevice点击、拖拽、层级获取信息、清除文本锁屏和唤醒旋转等待、监听器按键事件截图、滑动通知栏、快速设置2.UiObject:整个UI里面的某个元素或控件。可以通过UiObject对象来对控件模拟用户的操作。UiObject的构造函数里是传入一个UiSelector对象。所以我们要通过UiSelector来查找我们需要
5、的元素或控件如:UiObjectappsButton=newUiObject(newUiSelector().description("apps"));拿到UiObject对象后可以做如下的操作:如图3.UiSelector:可以通过UiSelector对象去定位UI元素。如果发现多个满足条件的控件则会返回第一个控件,在使用UiSelector的时候可以组合使用多个属性来定位具体的控件,还可以使用childSelector()函数来嵌套UiSelector对象。UiSelector描述description(String)等文本text(
6、String)……resourceId(string)特有属性clicked(boolean)父控件、子控件类名、包名、索引4.UiScrollable:可滚动的控件,如果操作的控件需要滚动就可以使用UiScrollable如:UiScrollableappsList=newUiScrollable(newUiSelector().className("android.view.View"));appsList.setAsHorizontalList();快速滚动向前或向后滚动获取列表子元素UiScrollable滑动坐标是的偏移量设置水
7、平或垂直滚动方向获取或设置滚动次数滚动到某个对象UiCollection:代表所有控件的集合,可以用来获取所用控件的个数,获取子元素对象1.获取子类元素:1>.publicUiObjectgetChildByDescription(UiSelectorchildPattern,Stringtext)从UiSelector里选择符合指定条件的text的子元素2>.publicUiObjectgetChildByInstance(UiSelectorchildPattern,intinstance)从UiSelector里选择符合条件的ins
8、tance的子元素3>.publicUiObjectgetChildByText(UiSelectorchildPattern,Stringtext)从UiSelector里选择符合指定条件的
此文档下载收益归作者所有