【发布时间】:2019-05-14 09:58:09
【问题描述】:
我正在使用 cucumber 探索量角器工具,并且测试执行速度非常快.. 为了知道是否真的元素被点击,我正在使用 sleep() 方法但失败了。我也在使用另一种方法 wait() 与预期的条件也失败了。事实上,我理解链接元素本身的 click() 方法失败了。也就是说,无法点击我想要的元素,但是当我在控制台元素上打印正在打印它的所有属性和方法。
请在下面找到代码sn-p;
When(/^I click on "(.*?)" link$/, (callback) => {
console.log("Clicking... ");
browser.wait(EC.visibilityOf(login.confirmInstructions), 5*1000, "Waiting for Confirmation link...");
var confirmLink = login.confirmInstructions;
var isClickable = EC.elementToBeClickable(confirmLink);
browser.wait(isClickable, 10*1000, "Element clickable");
confirmLink.click();
browser.sleep(10*10000);
login.confirmInstructions.click();
//browser.wait(validateText(element(by.binding('myvar'))), 5000, "");
//browser.wait(EC.presenceOf(confirmation.confirmScreen), 60*1000);
console.log("waited");
return callback;
});
我在这里缺少什么。?
【问题讨论】:
-
您点击的元素可能不是真正需要点击的元素。我偶尔会遇到单击父元素不起作用的问题,但是如果我单击更具体的子元素,则单击将注册。可能是这样的?
-
另外,与其使用睡眠来验证点击是否发生,不如期望() 一个只有在点击发生时才会发生的操作,例如文本更改或警报。跨度>
-
尝试使用 browser.driver.sleep() 代替 browser.sleep()
-
@DublinDev:我试过但失败了:(
标签: javascript node.js angular protractor cucumber