Android自动化测试Uiautomator--UiDevice接口简介

Uiautomator设备操作详解
本文详细介绍了Uiautomator的主要类及其方法,包括如何使用UiDevice进行设备状态检查和用户操作,如点击、拖拽、截图、等待等基本功能,以及锁屏唤醒、通知栏和快速设置操作。此外,还提供了Uiautomator中用于注册和管理监听器、模拟按键和滑动的详细说明。

Uiautomator主要分为UiDevice, UiObject, UiScrollable, UiSelector, UiCollection几个类。 

getUiDevice()方法可以得到一个UiDevice的对象,通过这个对象可以获得设备的状态信息,也可以完成用户在设备上的一些操作,常用的操作有以下几个:

  点击、拖拽方面的方法:

  1.public boolean click(int x, int y)

    x,y为像素点,可以用sdk/tools/hierarchyviewer.bat获取坐标,此方法用的是绝对坐标。

  2.public boolean drag(int startX, int startY, int endX, int endY, int steps)

    分(int steps)步, 从start坐标(int startX, int startY)滑动到end坐标(int endX, int endY). steps值越小,滑动幅度越大。

  

  获取信息方面的方法:

  3.public String getCurrentPackageName()

    得到当前界面的包名。

  4.public String getProductName()

    检索得到设备的名字

 

  锁屏与唤醒方面的方法:

  5.public boolean isScreenOn()

    检查屏幕是否唤醒。如果是,返回true,否则返回false。

  6.public void sleep()

    模拟按电源键,如果屏幕已经是关闭的,则没有任何作用。

  7.public void wakeUp()

    模拟按电源键,如果屏幕是唤醒的,则没有任何作用。

 

  等待方面的方法:

  8.public boolean waitForWindowUpdate(String packageName, long timeout)

    等待窗口内容更新事件的发生。

 

  监听器方面的方法:

  9.public void registerWatcher(String name, UiWatcher watcher)

    注册一个监听器,当前运行指定步骤被打断时,处理中断异常。

  10.public void removeWatcher(String name)

    移除之前注册的监听器。

  11.public void resetWatcherTriggers()

    重置一个监听器。

  12.public runWatchers()

    强制运行所有的监听器。

 

  截图方面的方法:

  13.public boolean takeScreenshot(File storePath)

    把当前窗口截图并将其存储为png图片,默认1.0f的规模和90%质量,参数为file类的文件路径。

  14.public boolean takeScreenshot(File storePath, float scale, int quality)

    把当前窗口截图为且必须为png格式图片,可以自定义缩放比例(1.0为原图)与图片质量(范围是0-100)。

 

  模拟按键方面的方法:

  15.public boolean pressBack() 模拟短按返回键

  16.public boolean pressDelete() 模拟短按删除键

  17.public boolean pressEnter() 模拟短按回车键

  18.public boolean pressHome() 模拟短按HOME键

  19.public boolean pressKeyCode(int keyCode, int metaState) 模拟短按键盘代码

  20.public boolean pressKeyCode(int keyCode) 模拟短按键盘代码

  21.public boolean pressMenu() 模拟短按MENU键

  22.public boolean pressRecentApps() 模拟短按最近应用程序按键

  23.public boolean pressSearch() 模拟短按搜索键

 

  滑动方面的方法:

  24.public boolean swipe(int startX, int stratY, int endX, int endY, int steps)

    分(int steps)步, 从(int startX, int stratY)滑动到(int endX, int endY)。

 

  通知栏和快速设置方面的方法:

  25.public boolean openNotification()

    打开通知栏

  26.public boolean openQuickSettings()

    打开快速设置

 

本博客参考以下文档:

http://wenku.baidu.com/link?url=2xQepRU2TTbUSfw2TRhDu3fR081-G_EeyAkxVSXgLEjjT-GFYhD6ifS4eyNLU2uZBmj3e3FVwliAGoGepqbigS14KHrfB0tIAyTU-RqC3ga

转载于:https://www.cnblogs.com/yajing-zh/p/4453421.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值