十、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");
}
复制代码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Advanced WarCraft 3 Configurator (AWC) 是一款功能强大的,操作简便的工具,你可以按自己喜好来配置WAR3。它还可以帮你改变一些原来游戏本身不允许修改的地方。不用说,它根本不会使你的电脑受损,只会使你的WAR3经历更有趣!<br><br>  如果你的电脑性能不是很好,不能支持一般配置的话,那你肯定是需要AWC的了,因为它可以使你的游戏性能提高很多---通过隐藏一些游戏主题并不太需要的图象性能。如果你已经重装系统了,又要从Battle.net下载新的补丁,那你现在可以不用为这些而烦恼了,因为它可以在游戏第一次运行后在注册表重建所有项值。AWC也可以和WAR3中的.w3g文件相关联,所以当你想要看WAR3 的REPLAYS时就只要双击它就可以了。它也能在许多著名的REPLAY 播放器(如W3gMaster, Replay ToolKit)的主界面中加入了View Replay这个功能。<br><br><br>  这只是要介绍的一方面,你可以登陆这个工具的官方站点(由俄罗斯制作)来查看具体功能。下面是部分功能介绍:<br><br>  界面功能:<br>---友好的用户界面;<br>---5种语言界面:英语,俄语,德语,西班牙语,法语;<br><br>  WAR3操作功能:<br>---详细的地图编辑;<br>---WAR3修改工具;<br>---OpenGL模式(在一些电脑上增加别的模式);<br>---图象比例调整;<br>---皮肤颜色的选择;<br>---多种语言选择;<br>---提示优化技巧和帮助;<br>---包含PING探测功能的网关编辑器<br>---支持xp风格<br>---热键编辑;<br>---缓冲大小设置;<br>---能从任何windows窗口(i.e. Explorer)如双击replay文件;<br>---可将配置存储为*.reg文件,当然也可以导入;<br>---CD-Key生成器(ROC/TFT兼容);<br>---还有很多;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值