我正在使用Protractor v3.2.2和Node.js v5.10.1在Chrome上运行测试。
基本上我观察到的是我们的一个测试连续失败,因为表单字段没有被填充而且表单无法提交。失败的步骤实际上是这样的:
field.sendKeys(value);
checkbox.click();
submitButton.click();
如果我将其更改为:
field.clear().sendKeys(value);
checkbox.click();
submitButton.click();
或:
browser.waitForAngular();
field.sendKeys(value);
checkbox.click();
submitButton.click();
它毫无障碍地通过。
所以我怀疑sendKeys
不会等待页面完全加载,即使文档会建议所有WebDriver操作在执行前调用browser.waitForAngular
。有没有人对这个问题有任何想法?这可能是个错误吗?
答案 0 :(得分:0)
如果您需要使用sendKeys获得有效结果您需要在特定时间内睡眠浏览器。
在代码之前或之后添加field.sendKeys(value);
browser.driver.sleep(500);
checkbox.click();
browser.driver.sleep(500);
submitButton.click();
。这将是有效的。
看到这一点。
Collections.sort()
答案 1 :(得分:0)
尝试写下诺言,以便等待。
field.sendKeys(value).then(function(){
checkbox.click().then(function(){
submitButton.click().then(function(){
expect(thisToShow).toBe(shown);
});
});
});