UIautomator中的UiDevice相关的方法知识点

UiDevice


1.UiDevice :在测试中可以通过UiDevice对象去对设备的控制,如点亮屏幕、锁屏、旋转方向、截图等,点击home键、back键、menu键等。可以通过getUiDevice()来获取UiDevice对象。UiDevice=getUiDevice()  
如:getUiDevice.pressHome();点击home键
总结:UIDevice就是获取android真是的设备。可以执行和其他因素无关的操作,就是可以执行设备硬件本来就具有的操作。
void clearLastTraversedText()   从上一个用户界面遍历事件中清除文本
boolean click(int x, int y)  按用户指定的任意座标执行点击事件
boolean drag(int startX, int startY, int endX, int endY, int steps) 从一个位置拖拽到另外一个位置
steps为拖拽的步数
void dumpWindowHierarchy(File dest)  存储当前的window界面层次信息到一个文件中。
void dumpWindowHierarchy(String fileName) 方法已经过时,使用 dumpWindowHierarchy(File) or dumpWindowHierarchy(OutputStream) 来替代。
void dumpWindowHierarchy(OutputStream out) 同样是输出一个当前的window的层次信息
UiObject2 findObject(BySelector selector) 返回第一个符合标准的第一个对象。(第一个对象)
UiObject findObject(UiSelector selector)返回一个对象代表的是一个界面,匹配指定的标准。(界面对象)
List<UiObject2> findObjects(BySelector selector) 返回所有符合标准的对象(所有的对象)
void freezeRotation() 禁用该传感器和冻结设备的旋转在当前的旋转的方向的状态下。
String getCurrentActivityName()  当前activity的名字,方法过时,结果不可靠
String getCurrentPackageName() 获取当前包的名字
int getDisplayHeight() 获取显示器的高度,以像素为单位,根据显示器的当前的方向调整大小。
int getDisplayRotation() 获取显示器的方向
Point getDisplaySizeDp()  返回在DP显示尺寸(设备独立像素)返回的显示大小调整每个屏幕旋转。这也将返回屏幕的实际大小,而不是调整每个系统的装饰(如状态栏)。
int getDisplayWidth() 返回显示器的宽度
static UiDevice getInstance(Instrumentation instrumentation)
检索一个UIDevice的单例实例。
String getLastTraversedText() 检索文本从最后UI界面的遍历中获得。
String getLauncherPackageName() 获取默认的启动包的名字
String getProductName() 获取设别产品的名字的名字
boolean hasAnyWatcherTriggered() 检查是否有任何注册uiwatcher引发。
(应该是ui对监听者的注册)
boolean hasObject(BySelector selector) 返回是否有相应的对象进行匹配。
boolean hasWatcherTriggered(String watcherName) 返回是否有相应的uI观察着已经触发
boolean isNaturalOrientation() 返回设备的自然的方向
boolean isScreenOn()  检查电源管理器是否在屏幕上。
boolean openNotification() 打开通知。
boolean openQuickSettings()  打开快速设置阴影。(即为从上面拉下来的界面?)
<R> R performActionAndWait(Runnable action, EventCondition<R> condition, long timeout)执行所提供的操作,并等待要满足的条件。
boolean pressBack() 返回键
boolean pressDPadCenter() 回车键
boolean pressDPadDown()  模拟一个短按下按钮。
boolean pressDPadLeft() 模拟左键短按。
boolean pressDPadRight() 模拟右键短按。
boolean pressDPadUp() 模拟上键短按。
boolean pressDelete()  模拟一个简短的按上按钮。
boolean pressEnter() 模拟输入键的短按。
boolean pressHome() home键短按
boolean pressKeyCode(int keyCode, int metaState) 
boolean pressKeyCode(int keyCode)  使用一个密钥代码模拟短按下。
boolean pressMenu()  模拟菜单按钮的短按下。
boolean pressRecentApps() 模拟最近的apps按钮的短按下
boolean pressSearch()  模拟搜索按钮的短按下(段按下就是就是点击)
void registerWatcher(String name, UiWatcher watcher) 注册一个uiwatcher自动运行,测试框架1是无法使用uiselector找到匹配。
void removeWatcher(String name) 移除一个已经和注册的 UiWatcher
void resetWatcherTriggers() 从新设置已经触发的Uiwatcher
void runWatchers() 强迫所有的已经注册的watcher运行。
void setCompressedLayoutHeirarchy(boolean compressed) 启用或禁用布局层次压缩。
void setOrientationLeft() 模拟设备定向想做和同时冻结方向通过是传感器不可使用。
void setOrientationNatural()  设置屏幕的方向为自然的方向
void setOrientationRight() 设置屏幕的方向向右边
void sleep() 这种方法只需按power按钮,如果屏幕是开的,变成了关的,然后其他事情都是不可以做的。
boolean swipe(Point[] segments, int segmentSteps)执行点在点数组中
boolean swipe(int startX, int startY, int endX, int endY, int steps)
执行从一个座标到另一个使用的步骤,以确定平滑度和速度的一个座标。
boolean takeScreenshot(File storePath)
采取截图当前窗口并将其存储为1.0f png默认尺度(原始尺寸)和90%质量是使用截图调整每个屏幕旋转
boolean takeScreenshot(File storePath, float scale, int quality)
采取截图当前串口并且将它保存成为png格式的图片,截图适配灭一个方向的屏幕。
void unfreezeRotation()
重新使传感器和联合国冻结装置旋转使其内容与设备的物理旋转。
<R> R wait(SearchCondition<R> condition, long timeout)
等待得到满足的条件。
void waitForIdle(long timeout)
void waitForIdle() 等待当前引用程序的关闭
boolean waitForWindowUpdate(String packageName, long timeout)
等待窗口内容的更新时间发生
void wakeUp() 按下power按钮,如果屏幕是关闭的,就会打开。



总结:UiDevice就是对物理手机设备的操作。





发布了144 篇原创文章 · 获赞 11 · 访问量 24万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章