截图与等待空闲

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

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. password技术应用设计实践-安全信息传输系统(SITS)(用Java实现DES、RSA、MD5算法)

    本系统包含五个模块,注冊模块.登录模块.RSA算法模块.DES算法模块.MD5算法模块. 这五个模块每个实现不同的功能. 注冊模块实现将username和password写入文件里,登录模块则负责将其 ...

  2. fetch的用法

    fetch api是被设计用来替换XmlHttpRequest的,详细用法如下: http://javascript.ruanyifeng.com/bom/ajax.html#toc27

  3. iOS学习笔记-地图MapKit入门

    代码地址如下:http://www.demodashi.com/demo/11682.html 这篇文章还是翻译自raywenderlich,用Objective-C改写了代码.没有逐字翻译,如有错漏 ...

  4. MapReduce源代码分析之JobSubmitter(一)

    JobSubmitter.顾名思义,它是MapReduce中作业提交者,而实际上JobSubmitter除了构造方法外.对外提供的唯一一个非private成员变量或方法就是submitJobInter ...

  5. HTTP协议--cookie、session、缓存与代理

    1 Cookie和 Session Cookie和 Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决 HTTP无状态的问题而所做的努力. Session可以用 Cook ...

  6. springboot学习(八) 使用jpa访问数据库

    1.添加maven依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connecto ...

  7. atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性

    atitit.atiOrmStoreService 框架的原理与设计 part1  概述与新特性 1. 新特性如下 支持生成sql在无数据库连接的情况下 2. Orm设计 主要的俩个以来service ...

  8. Ionic学习笔记4_ionic路由(页面切换)

    1.1.  ionic路由机制: 状态 1.2.  ion-nav-view <body ng-controller="firstCtrl"> <a class= ...

  9. Strategy模式

    Strategy模式 Strategy模式要解决的问题和Template模式类似.都是为了把算法的声明和算法的实现解耦.Template模式是通过继承来实现的,而Strategy模式是通过组合来实现的 ...

  10. Netbeans取消CTRL+\才能代码提示的方法

    更好的方法: ------------------------------------------------------------ 边打字边按CTRL+\进行代码提示的方法我TM也是醉了 简而言之 ...