7.Configurator API 详细介绍
一、Configurator类介绍与API解释
1.Configurator类介绍
1)用于设置脚本动过的默认延时
2)功能
a.可调节两个模拟动作间的默认时间间隔
b.可调节输入文本的输入时间间隔
c.可调节每次滚动的时间间隔
2.相关API
|
延时项 |
默认延时 |
功能描述 |
API |
| 动作 | 3s | 设置延时 | setActionAckonwledgmentTimeout(long timeout) |
| 获取默认延时 | getActionAckonwledgmentTimeout() | ||
| 键盘输入 | 0s | 设置延时 | setKeyInjectionDelay(long delay) |
| 获取默认延时 | getKeyInjectionDelay() | ||
| 滚动 | 200ms | 设置延时 | setScrollAcknowledgmentTimeout(long timeout) |
| 获取默认延时 | getScrollAcknowledgmentTimeout() | ||
| 空闲 | 10s | 设置延时 | setWaitForIdleTimeout(long timeout) |
| 获取默认延时 | getWaitForIdleTimeout() | ||
| 查找组件 | 10s | 设置延时 | setWaitForSelectorTimeout(long timeout) |
| 获取默认延时 | getWaitForSelectorTimeout() |
例如:
public void testDemo1() throws UiObjectNotFoundException{
//1.ActionAckonwledgmentTimeout()
long action=Configurator.getInstance().getActionAcknowledgmentTimeout();
//输出默认延时
System.out.println("动作默认延时为: "+action);
//获取屏幕高度和宽度
int y=UiDevice.getInstance().getDisplayHeight();
int x=UiDevice.getInstance().getDisplayWidth();
//默认延时下动作间隔时间感受
UiDevice.getInstance().swipe(x-10, y/2, x-200, y/2, 10);
UiDevice.getInstance().swipe(x-10, y/2, x-200, y/2, 10);
sleep(2000);
//设置延时
Configurator.getInstance().setActionAcknowledgmentTimeout(100000);
//使用设置延时下动作间隔时间感受
UiDevice.getInstance().swipe(x-10, y/2, x-200, y/2, 10);
UiDevice.getInstance().swipe(x-10, y/2, x-200, y/2, 10);
//使用完毕后调回默认延时,切记!!!
Configurator.getInstance().setActionAcknowledgmentTimeout(action);
//2.KeyInjectionDelay()'
long print=Configurator.getInstance().getKeyInjectionDelay();
//输出键盘输入默认延时
System.out.println("键盘输入默认延时为: "+print);
//获取输入框
UiObject set=new UiObject(new UiSelector().resourceId("com.android.mms:id/embedded_text_editor"));
//感受默认延时下输入间隔
set.setText("aabbccd");
sleep(2000);
set.clearTextField();
//修改默认延时为1秒
Configurator.getInstance().setKeyInjectionDelay(1000);
//感受修改延时后输入间隔
set.setText("aabbccd");
sleep(2000);
set.clearTextField();
//切记改回原始时间
Configurator.getInstance().setKeyInjectionDelay(print);
//3.ScrollAcknowledgmentTimeout()
long scroll=Configurator.getInstance().getScrollAcknowledgmentTimeout();
//输出默认延时
System.out.println("滚动默认延时: "+scroll);
//获取列表集合
UiScrollable scroll1=new UiScrollable(new UiSelector().className("android.widget.ListView"));
//感受默认滚动延时间隔
scroll1.flingToEnd(5);
//设置默认滚动时间间隔为2S
Configurator.getInstance().setScrollAcknowledgmentTimeout(2000);
//感受设置后的滚动时间间隔
scroll1.flingToEnd(5);
//切记使用完毕改回为默认时间间隔
Configurator.getInstance().setScrollAcknowledgmentTimeout(scroll);
//4.WaitForIdleTimeout()
long wait=Configurator.getInstance().getWaitForIdleTimeout();
System.out.println("空闲默认延时为: "+wait);
//5.WaitForSelectorTimeout()
long selector=Configurator.getInstance().getWaitForSelectorTimeout();
//输出默认时间间隔
System.out.println("查找组件默认延时为 :"+selector);
//随意查找一个对象
UiScrollable scroll2=new UiScrollable(new UiSelector().className("11321"));
scroll2.click();
//修改默认时间间隔
Configurator.getInstance().setWaitForSelectorTimeout(1000);
//感受修改后的时间间隔
UiScrollable scroll3=new UiScrollable(new UiSelector().className("11321"));
scroll3.click();
}
3.实例演示
1)模拟双击与快速多单击动作
//声明方法
public void quicklyClick(int num,int x,int y){
//获取动作间隔时间
long actionTime=Configurator.getInstance().getActionAcknowledgmentTimeout();
//设置动作间隔时间
Configurator.getInstance().setActionAcknowledgmentTimeout(0);
//设置操作步骤
for(int i=0;i<=num;i++){
UiDevice.getInstance().click(x, y);
}
//最后别忘了恢复默认时间间隔,避免影响后面其他的用例
Configurator.getInstance().setActionAcknowledgmentTimeout(actionTime);
}
//调用方法
public void testDemo2(){
//获取屏幕高和宽
int y=UiDevice.getInstance().getDisplayHeight();
int x=UiDevice.getInstance().getDisplayWidth();
//调用上面声明的方法体
quicklyClick(4, x/2,y/2);
}
2)使用keyCode快速输入
//设置方法
public void quicklyKeyCode(String input){
//获取动作间隔时间
long action=Configurator.getInstance().getActionAcknowledgmentTimeout();
//设置动作间隔时间
Configurator.getInstance().setActionAcknowledgmentTimeout(1);
//方法中用到的数字来自androidKeyCode表
for (int i=0;i<input.length();i++){
char c=input.charAt(i);
//判断输出
if (c>48&&c<=57){
UiDevice.getInstance().pressKeyCode(c-41);
}else if(c>=97&&c<=122){
UiDevice.getInstance().pressKeyCode(c-68);
}else if (c>=65&&c<=90){
UiDevice.getInstance().pressKeyCode(c-36,1);
}
}
//千万别忘记恢复默认
Configurator.getInstance().setActionAcknowledgmentTimeout(action);
}
//调用方法
public void testDemo3(){
quicklyKeyCode("Jian110");
}
7.Configurator API 详细介绍的更多相关文章
- 腾讯微博java(android)sdk新增微博api详细介绍
本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码 注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见 ...
- 6.UiWatcher API 详细介绍
Tip: 1.监听器不是完能的,所以若用例需要设置监听器防止用例被打断,最好把延迟时间调高一点 2.UiDevice是不会触发监听功能的 3.监听器在方法体或者循环体中是程序还是会被打断的 4.监听器 ...
- 5.UiScrollable API 详细介绍
Tip: 1.扫动过程中如果界面停留在滚动条的中间部分会先回到起点再进行滚动 2.扫动过程中设置的步长长短决定划过内容的多少,步长越长滑过的内容就越少:步长越短划过的内容就越长 一.UiScrolla ...
- 4.UiCollection API 详细介绍
一.UiCollection类介绍 UiCollection类两大功能:从集合中查找对象:获取某种搜索条件组件的数量 1.UiCollection类说明 1)UiCollection是UiObject ...
- 2.UiSelector API 详细介绍
一.UiSelector类介绍 //通过各种属性与节点关系定位组件 简单实例: public void testDemo2() throws UiObjectNotFoundException{ Ui ...
- 1.UiDevice API 详细介绍
1.UiDevice按键与keycode使用 返回值 方法名 说明 boolean pressBack() 模拟短按返回back键 boolean pressDPadCenter() 模拟按轨迹球中点 ...
- 3.UiObejct API 详细介绍
一.点击与长按 1.组件区域位置关系: Rect 对象代表一个矩形区域:[left,Top][ARight,Bottom](即左上角图标到右下角图标) 2.点击与长按相关API: 返回值 API 说明 ...
- 百度地图API详细介绍
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- HTML5全屏(Fullscreen)API详细介绍
// 整个页面 onclick= launchFullScreen(document.documentElement); // 某个元素 launchFullScreen(document.get ...
随机推荐
- pyqt5实现SMTP邮件发送
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'SMTP.ui' # # Created b ...
- Scrum立会报告+燃尽图 01
此作业要求:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2190] 一.小组介绍 组长:王一可 组员:范靖旋,王硕,赵佳璐,范洪达,祁 ...
- 第六次作业psp
psp 进度条 代码累积折线图 博文累积折线图 psp饼状图
- 欢迎来怼--第三十次Scrum会议
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 小组照片 二.开会信息 时间:2017/11/18 17:20~17:53,总计33min. 地 ...
- 团队Alpha冲刺(五)
目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...
- Alpha事后诸葛会议
[设想和目标] Q1:我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? "小葵日记"是为了解决18-30岁年轻用户在记录生活时希望得到一美体验友好 ...
- A9
今日内容: 解决队友提出的问题 明日计划: 商讨界面还有哪些不足的地方 困难: 每天大部分时间被电工实习占走了
- web压力测试_(收集)
作者:ZeldaZzz链接:http://www.zhihu.com/question/19867883/answer/89775858来源:知乎著作权归作者所有,转载请联系作者获得授权. 一个完整的 ...
- [并查集] More is Better
题目描述 Mr Wang wants some boys to help him with a project. Because the project is rather complex, the ...
- 第二章 script元素
<script>元素 async:可选.表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效. charset:可选.表示通过 ...