sendKeys()方法将 一次发送所有密钥 (实际上 一次发送一次 ,但是很快):
sendKeys()
var elm = element(by.id("myinput")); elm.sendKeys("test");
有没有一种方法可以减慢键入速度,以便量角器一次发送 一个字符, 每个字符之间的延迟很小?
我们可以完全放慢Protractor的速度,但这不会改变sendKeys()工作方式,并且在我们只需要“发送键”部分且仅在特定情况下,它也会减慢一切。
这个想法是使用browser.actions()和构造一系列“发送键”命令- 每个字符串中的每个字符。在每个“发送键”命令之后,我们通过引入自定义sleep操作来增加延迟。最后,这是我们提供的可重用函数:
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);