当前位置: 首页 > 面试题库 >

模拟量角器中的慢速键入

郑帅
2023-03-14
问题内容

sendKeys()方法将 一次发送所有密钥 (实际上 一次发送一次 ,但是很快):

var elm = element(by.id("myinput"));
elm.sendKeys("test");

有没有一种方法可以减慢键入速度,以便量角器一次发送 一个字符, 每个字符之间的延迟很小?

我们可以完全放慢Protractor的速度,但这不会改变sendKeys()工作方式,并且在我们只需要“发送键”部分且仅在特定情况下,它也会减慢一切。


问题答案:

这个想法是使用browser.actions()和构造一系列“发送键”命令-
每个字符串中的每个字符。在每个“发送键”命令之后,我们通过引入自定义sleep操作来增加延迟。最后,这是我们提供的可重用函数:

function slowType(elm, keys, delay) {
    var action = browser.actions().mouseMove(elm).click();

    for (var i = 0; i < keys.length; i++) {
        action = action.sendKeys(keys[i]).sleep(delay);
    }

    return action.perform();
}

用法:

slowType(elm, "some text", 100);


 类似资料:
  • 我的iOS应用程序随机崩溃。当internet连接速度慢时,就会发生这种情况。我办公室网速太快了。 为了在模拟器上进行测试,我安装了这里提到的网络链接调理器:安装苹果的网络链接调理器工具 现在的问题是,我选择了一个较慢的连接配置文件,但我仍然拥有模拟器中正常(快速)的互联网速度。 我还创建了自己的配置文件,并将下载带宽设置为5Kbps,但仍然没用。 我有:Mackbook retina,OSX 1

  • 我知道这是一个常见的问题,但我觉得我已经试过了所有的解决方案,所以我不知道该怎么做了。 已安装Intel x86 HAXM 尝试在SDK管理器中重新安装仿真程序 尝试使用不同API级别的各种AVD 我不明白是怎么回事,在过去的两天里,我对这种情况感到非常沮丧,任何帮助或提示都将不胜感激!

  • 问题内容: 我有一个双滑块,我想测试一下它是否可操作并返回正确的数据。滑块具有最小和最大处理程序,还具有一些“我可以挂钩的断点”。 我要模拟的是 “ .handler-max”元素的touchStart 将拇指移到类为“ .step-3”的元素上 “ .handler-max”元素的touchEnd 同时我发现了如何触发touchStart和touchEnd事件。我对如何模拟拇指的移动一无所知 P

  • 我已经更新了Android Studio的最新版本(今天是2017年4月22日)并安装了Haxm,但Android模拟器完全没有用。它非常慢。 我不知道为什么,几天前它运行得又快又平稳。然后我重新启动了我的电脑,它变得非常慢。这一定是有原因的。 请不要回答安装Genymotion。Genymotion不允许我在免费版本中模拟手机。 正如我所说,安装了intel haxm。 “流程系统未响应”消息一

  • 不知道为什么,模拟器无论切换界面还是动画都变得很慢,但是输入,很正常,没有慢。 尝试-1 我重新启动Xcode和模拟器,但没有任何效果。

  • 问题内容: 有没有一种方法可以缓慢地运行使用量角器编写的Angular E2E测试,以便我可以观察发生了什么? 问题答案: 下面是我的解决方案。因此,基本上,我为当前的控制流功能创建了一个装饰器,该装饰器现在另外在每个已排队的操作之前排队100ms的延迟。 这需要在调用任何测试之前运行(外部块)