截图与等待空闲

一、截图和等待空闲相关知识:

1)图片缩放比例:例如图片从100像素缩小到50像素

2)图片质量:是指图片大小,质量越高图片越大,质量越低图片越小

3)File类:指的是一个文件或者一个文件夹

4)图片格式:图片截图都采用的PNG格式

5)空闲状态:窗口没有更新就是没有动作,界面处于不动状态

6)窗口更新事件:窗口打开的过程就是一个更新事件,打开后不动了就是空闲状态

二、截图相关API:

返回值 方法名 描述
boolean takeScreenShot(File storePath) 把当前窗口截图并将其保存为PNG默认1.0f的规格(原尺寸)和90%质量,参数为File类的文件路径
boolen takeScreenShot(File storePath, float scale, int quality) 把当前窗口截图为PNG格式图片,可以自定义缩放比例和质量

参数说明:

storePath:存储路径,必须为png格式

scale:缩放比例,1.0为原图

quality:图片压缩质量,范围为0-100

三、截图API应用举例:

package com.uiautomatortest;

import java.io.File;

import android.graphics.Point;
import android.os.Bundle;
import android.os.RemoteException;
import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testScreen(){ UiDevice.getInstance().pressHome();
sleep(1000);
UiDevice.getInstance().pressMenu();
sleep(2000);
UiDevice.getInstance().takeScreenshot(new File("/sdcard/screen.png"));
} }

Test.java

四、等待空闲相关API:

返回值 方法名 描述
void waitForIdle(long timeout) 自定义超时等待当前应用处于空闲状态
void waitForIdle() 等待当前应用处于空闲状态,默认等待10s
boolean waitForWindowUpdate(String packageName, long timeout) 等待窗口内容更新事件的发生

五、等待空闲API

package com.uiautomatortest;

import java.io.File;

import android.graphics.Point;
import android.os.Bundle;
import android.os.RemoteException;
import android.view.KeyEvent; import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class Test extends UiAutomatorTestCase { public void testWait(){ //[256,577][320,640]
int x, y;
x=(320-256)/2+256;
y=(640-577)/2+577;
UiDevice.getInstance().pressHome();
UiDevice.getInstance().waitForIdle(3000);
UiDevice.getInstance().click(x, y);
String packageName="com.android.browser";
UiDevice.getInstance().waitForWindowUpdate(packageName, 20000); } }

Test.java

Android无线测试之—UiAutomator UiDevice API介绍七的更多相关文章

  1. Android无线测试之—UiAutomator UiDevice API介绍一

    UiDevice 类介绍 1.UiDevice 代表设备状态 2.UiDevice 为单例模式 获取UiDevice实例的方式: 1) UiDevice.getInstance() 2) getUiD ...

  2. Android无线测试之—UiAutomator UiDevice API介绍八

    获取包名.开启通知栏.快速设置.获取布局文件的方法 一.包名.通知栏.快速设置.布局文件等相关知识: 1)包名:标示应用的符号,每个应用的名字 2)通知栏:从主界面的顶端向下拉,就可以打开通知栏 3) ...

  3. Android无线测试之—UiAutomator UiDevice API介绍四

    拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...

  4. Android无线测试之—UiAutomator UiScrollable API介绍七

    滑动到某个对象 一.滑动到某个对象相关API 返回值 API 描述 boolean scrollIntoView(UiSelector selector) 滑动到条件元素所在位置,并且尽量让其居于屏幕 ...

  5. Android无线测试之—UiAutomator UiObject API介绍七

    判断对象是否存在 1.判断对象是否存在相关API 返回值 API 描述 boolean waitForExists(long timeout) 等待对象出现 boolean waitUntilGone ...

  6. Android无线测试之—UiAutomator UiDevice API介绍六

    一.灭屏和唤醒屏幕相关知识: 1)灭屏:按电源键将屏幕熄灭 2)唤醒屏幕:在灭屏状态下按电源键唤醒屏幕 二.灭屏与唤屏相关的API: 返回值 方法名 描述 void wakeUp() 模拟按电源键,如 ...

  7. Android无线测试之—UiAutomator UiDevice API介绍五

    屏幕旋转 一.屏幕旋转相关知识: 1)旋转方向:0度,90度(向左转),180度,270度(向右转) 2)重力感应器:重力感应器是旋转所依靠的 3)固定位置:指将屏幕方向固定在0度,90度或者180度 ...

  8. Android无线测试之—UiAutomator UiDevice API介绍三

    获取坐标与坐标点击 一.坐标相关的知识: 1)手机屏幕坐标:左上角开始到右下角结束 2)DP:设备独立像素,例如320像素显示到640像素上要拉伸一倍 3)Point:代表一个点(x,y),左上角的坐 ...

  9. Android无线测试之—UiAutomator UiDevice API介绍二

    按键与KEYCODE使用 一.手机常见按键: 1)HOME 主屏幕键 2) MENU 菜单键 3) BACK 返回键 4) VOLUME_UP 音量加键 5) VOLUME_DOWN 音量减键 6) ...

随机推荐

  1. Selenium用法示例

    收录待用,修改转载已取得腾讯云授权 前言 在上一节我们学习了PhantomJS 的基本用法,归根结底它是一个没有界面的浏览器,而且运行的是 JavaScript 脚本,然而这就能写爬虫了吗?这又和Py ...

  2. 转:使用gradle 构建编译程序

    https://rinvay.github.io/android/2015/04/09/Build-Android-with-Gradle/

  3. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-报错0X4655,18005错误怎么办

    首先确认驱动器没有报错(如果驱动器报错,请先解决绝对值编码器的清除多圈数据问题) 报错一般上使能就会报错,没法测试运转,而且不管是用贝福自带的NC功能还是自己写的都会一样的效果   请删除在贝福的Et ...

  4. 使用tornado实现用户认证

    关于用户的登录状态,一部分的应用程序是采用session实现的. HTTP是一个无状态协议,用户的每次请求都是相互独立的,HTTP本身意识不到用户是否登录. 很多web框架选择将session存放在c ...

  5. libevent2源码分析之五:关键的调用链

    用一个调用链来表示函数调用的流程,看起来更直观.根据上面的分析,总结了一些重要的调用链. 初始化 event_base_new event_base_new_with_config min_heap_ ...

  6. 控制应用程序重启,外部程序C# 实例

    第一步:新建一个控制台项目,作为关闭当前应用程序的调用程序. using System; using System.Configuration; using System.Diagnostics; n ...

  7. Atitit.虚拟机与指令系统的设计

    Atitit.虚拟机与指令系统的设计 1. 两种计算模型  ,堆栈机和状态机(基于寄存器的虚拟机1 1.1.1. 堆栈机1 1.1.2. 状态机2 2. 为什么状态机比堆栈机快呢?3 2.1. Sta ...

  8. Android-注解处理器

    Android-Java注解处理器 基本概念 注解处理器(Annotation Processor)是javac的一个工具.它用来在编译时扫描和处理注解(Annotation).你能够对自己定义注解, ...

  9. SQL——使用游标进行遍历

    前两天一个同事大叔问了这样一个问题,他要对表做个类似foreach的效果,问我怎么搞.我想了想,就拿游标回答他,当时事实上也没用过数据库中的游标,可是曾经用过ADO里面的,感觉应该几乎相同. 今天闲下 ...

  10. android studio - 隐藏编辑器上面的导航条

    菜单栏-“View”-"Navigation Bar"