十、Configurator API 详细介绍

本文介绍了Configurator类的功能及其API使用方法,包括设置不同操作的默认延时,如动作执行、键盘输入、滚动等,并提供了实际代码示例进行演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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、付费专栏及课程。

余额充值