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

Android自动化测试Uiautomator--UiDevice接口简介的更多相关文章

  1. 【转】Android自动化测试(UiAutomator)——UiObject

    本文主要讲解使用UiAutomator的一些技巧,希望对于初学者有一定的帮助 UiObject 1.首先要声明对象 UiObject XXX = new UiObject(new Selector) ...

  2. Android自动化测试-UiAutomator2环境搭建

    Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176) 一.环境准备 1. 安装android sdk,并配置环境变量 2. 安装android studio,国内 ...

  3. Android自动化测试框架UIAutomator原理浅析

    UIAutomator是一个Android自动化测试框架,是谷歌在Android4.1版本发布时推出的一款用Java编写的UI测试框架,它只能用于UI即黑盒方面的测试.所以UIAutomator只能运 ...

  4. 【转】Android自动化测试(UiAutomator)简要介绍

    一.一个BUG引发的问题   如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”.这个问题我们如何验证呢?我想,最好的方式应该是自动化测试.    那么,自动化测试可以完成哪些任务呢?  ...

  5. Android自动化测试(UiAutomator)

    一.一个BUG引发的问题   如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”.这个问题我们如何验证呢?我想,最好的方式应该是自动化测试.    那么,自动化测试可以完成哪些任务呢?  ...

  6. Android自动化测试-Robotium(一)简介

    一.Robotium原理 Robotium是一款Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API ...

  7. 几种常见的Android自动化测试框架及其应用

    随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...

  8. 解放双手——Android自动化测试

    解放程序猿宝贵的右手(或者是左手) http://blog.csdn.net/eclipsexys/article/details/45622813 --Android自动化测试技巧 Google大神 ...

  9. Android自动化测试学习路线

    最近在整理Android自动化测试的相关资料,大体上把一些知识点梳理了,这里做一个简单的分享! Android里面测试相关的工具和框架太多了.你应该从以下几个方面入手. 编程语言的选择 如果你要学习的 ...

  10. Android自动化测试探索

    Android自动化测试探索 前言 通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线.但是,随着时间的堆叠,一款产品的功能也越来越多.这时,我们为了保证产品 ...

随机推荐

  1. requests发送HTTPS请求(处理SSL证书验证)

    1.SSL是什么,为什么发送HTTPS请求时需要证书验证? 1.1 SSL:安全套接字层.是为了解决HTTP协议是明文,避免传输的数据被窃取,篡改,劫持等. 1.2 TSL:Transport Lay ...

  2. c#学习系列之Application.StartupPath的用法(美女时钟的做法)

    Application.StartupPath是一个只读属性,是不可以设置的. Application.StarupPath获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称.既是Appli ...

  3. Rasheda And The Zeriba Gym - 100283A  计算几何

    http://codeforces.com/gym/100283/problem/A 考虑到多边形是不稳定的,是可以变来变去的. 那么总是可以把每个点放到圆上. 所以只需要判断圆心角是不是小于等于36 ...

  4. [转][android][利用JNI技术在Android中调用、调试C++代码]

    在Android中调用C++其实就是在Java中调用C++代码,只是在windows下编译生成DLL,在Android中会生成Linux系统下的.so文件(好吧,其实我基本没用过Linux). 没写过 ...

  5. chrome浏览器之网络面板

    这篇指导向你展示怎样检测网络张状况或者在chrome开发工具的网络面板中尽可能的优化网页. 排列的或受阻的请求 症状:同时发出六个请求.之后有一系列的请求排队或受阻.一旦最先的六个请求中有一个响应结束 ...

  6. JS字符串处理方法

    1.字符方法charAt()和charCodeAt();这两个方法都接收一个参数例:<script>var stringValue = "hello world"; s ...

  7. 安装AAA服务器遇到的问题

    安装升级AAA服务器的操作思路: 第一种:在原始服务器下更新升级安装包,实现升级: 第二种:重新安装最新版本的IOS,实现版本更新: 第一种方案更新AAS服务器ios 步骤1:copy软件更新包到li ...

  8. web前端性能优化 (share)

    本文转自:http://www.cnblogs.com/50614090/archive/2011/08/19/2145620.html 一. WEB前台的优化规则 一.尽量减少 HTTP 请求 有几 ...

  9. 浅谈table和DIV网页布局

    DIV+CSS是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DI ...

  10. leetcode_1095. Find in Mountain Array_[Binary Search]

    https://leetcode.com/problems/find-in-mountain-array/ 题意:给定一个MountainArray(定义见题目),找到其中最早出现的target值的下 ...