ale*_*cxe 5 javascript testing selenium angularjs protractor
sendKeys()方法会立即发送所有密钥(实际上,一次一个但很快):
var elm = element(by.id("myinput"));
elm.sendKeys("test");
Run Code Online (Sandbox Code Playgroud)
有没有办法减慢打字速度,以便量角器一次发送一个字符,每个字符之间有一个小延迟?
我们可以完全放慢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();
}
Run Code Online (Sandbox Code Playgroud)
用法:
slowType(elm, "some text", 100);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2311 次 |
| 最近记录: |