uiautomator中的UiDevice学习笔记(1)

4.1版本


这几天一直在用uiautomator写case,总结一下uiautomator UiDevice中的方法。


waitForWindowUpdate(final String packageNamelong timeout)


等待符合packageName的应用触发 .时间,在timeout时间内不触发,报timeoutException错误。


sleep()


如果当前屏幕不处于睡眠状态,那么就按power键让设备睡眠返回true。如果处于睡眠,无操作,返回false。


isScreenOn()


获得屏幕的状态,如果处于睡眠返回false.否则返回true.


wakeUp()


唤醒屏幕,0.5秒内不接受任何操作


setOrientationNatural()


设置设备向右旋转,并且在该方向上冻结传感器。


setOrientationRight()


将设备安置在右边,然后冻结


setOrientationLeft()


将设备安置在左边,然后冻结


freezeRotation()


unFreezeRotation()


冻结与解冻


isNaturalOrientation()


判断屏幕是否处于水平



以上几个方法跟游戏操控有关系。平常做系统app测试,运用不到。


setWatcherTriggered(String watcherName)


设置Watcher触发器


hasAnyWatcherTriggered()


是否存在watcher触发器


hasWatcherTriggered(String watcherName)


是否存在某一watcher触发器


resetWatcherTriggered()


重置watcher触发器


runWatchers()


启动所有watcher


removeWatcher(String watcherName)


移除某一watcher


registerWatcher(String watcherName)


注册watcher


getCurrentPackageName()


得到当前应用包名


getCurrentActivityName()


得到当前界面的activity名


waitForIdle()/waitForIdle(long timeout)


等待界面空闲0.5秒,timeout为时间限制,默认为10秒。


swipe(point[] segments,int segmentSteps)


从point数组中的第一个点到第二个点,第二个点到第三个点,依次拖拽到各点,形成一条条折线,每条直线所有步伐为segmentSteps.这和android手势密码解锁很有用


swipe(int startX,intStartY,int endX,int EndY,int steps)


从起始点滑动到结束点,所用步伐为steps


pressRecentApp()


长按home键调出当前运行的所有apps


pressKeyCode(int keycode)


KeyEvent   手机键盘上的值,ABCDEFG,1234567等都可以按


pressEnter()


小键盘Enter键按下


pressDelete()


按下删除键,删除一格


pressDPadRight()/pressDPadLeft()/pressDPadDown()/pressDPadUp()/pressDPadCenter()


方向键的上下左右中


pressSearch()/pressHome()/pressBack()/pressMenu()


键盘上的搜索键,home键,返回键,菜单键


getLastTraversedText()/clearLastTraversedText()


得到/清除最后一次遍历得到的文本


getProductName()


设备名


getDisplaySizeDp()


得到设备的实际宽度

android系统如何自适应屏幕大小

Android 获取屏幕实际显示尺寸的方法


getInstance()


单例模式


isInWatcherContext()


watcher是否正在运行


getAutomatorBridge()


得到链接设备的桥类


Click(int x,int y)


点击指定坐标


新增


setCompressedLayoutHeirarchy(boolean)


设置是否启用布局压缩

启用或禁用布局层次压缩。如果启用了压缩,来源于Acessibility框架布局层次将只包含对uiautomator测试很重要的节点。任何使得浏览和搜索层次结构效率低下的不必要的周围布置节点都会被删除。(api18)

你可能感兴趣的:(测试工程师成长之路)