我使用夜视测试框架来测试<input />
的某些功能,但在种族问题上失败了。
xxxx
。backspace
4次。input
的值为''
。但是我发现input
的值为xx
:
错误:Expected element <#inputElement> to have value equal: "" - expected "equal ''" but got: "xx"
"type 4 chars and use backspace to clear the input": browser => {
searchBox.waitForElementVisible("@input")
.click("@input")
.setValue("@input",'xxxx');
for (let i = 0; i < 4; i++) {
await browser.keys(browser.Keys.BACK_SPACE);
}
searchbox.expect.element("@input").value.to.equal("");
searchbox.click("@input");
searchbox.expect.element("@input").value.to.equal("");
browser.end();
},
得出结论:for循环在清除input
之前执行,然后前进到断言。我用async/await
尝试了相同的测试,但又遇到了相同的错误。我想念什么吗?
"type 4 chars and use backspace to clear the input": async browser => {
searchBox.waitForElementVisible("@input")
.click("@input")
.setValue("@input",'xxxx');
for (let i = 0; i < 4; i++) {
await browser.keys(browser.Keys.BACK_SPACE);
}
await searchbox.click("@input");
await searchbox.expect.element("@input").value.to.equal("");
await browser.end();
},
欢迎任何帮助。
答案 0 :(得分:0)
您不需要await
的第一行代码吗?
await searchBox.waitForElementVisible("@input")
.click("@input")
.setValue("@input",'xxxx');
我认为它与输入的字符同时退格四次,并且在发送最后一个退格符后输入了两个。