【发布时间】:2021-10-27 19:19:29
【问题描述】:
我正在努力使用异步 WebdriverIO v7 做一些在同步模式下非常容易的事情。
上下文:我正在使用一个带有错误的 React 屏蔽输入组件(我无法修复该错误,也无法更改该组件),如果我输入得太快,则键未注册并且光标移到末尾,所以我需要以相对较慢的速度打字。当我使用await input.setValue('test') 时,打字太快了,它只输入了第一个字母而无法输入其余的字母,所以我需要分别输入每个字符并在两次击键之间稍等片刻。
基本上我想在异步模式下这样做:
[...textValue].forEach(char => {
browser.keys(char);
browser.pause(100);
});
我尝试使用waitUntil(),但因为这是一个屏蔽输入,如果我输入123456,输入中的值将是123.456.___-_,所以我不能直接比较两个字符串并等到它们相等.此外,对于如此简单的事情来说,这似乎需要做很多工作,所以我想知道是否有更好的方法。
谢谢!
编辑:
我尝试将到目前为止每个browser.key(char) 上保存的输入文本与waitUntil() 条件下的实际input.getValue() 进行比较,但它仍然不起作用
【问题讨论】:
标签: javascript asynchronous webdriver-io