我正在使用量角器运行自动化测试,我正在尝试构建测试,浏览器将决定在执行操作之前需要等待多长时间,我不需要放置静态浏览器。睡眠命令。
在我的测试中,我有一个带有按钮的Iframe。
按下按钮的步骤是首先单击使Iframe出现的按钮,然后使用browser.switchTo()。frame(FRAME)切换到Iframe,最后单击按钮。 有时当我运行测试时,没有点击按钮,可能是因为加载iframe需要一段时间。 我在我的代码中使用browser.driver.wait来等待元素有效使用,我尝试按以下方式点击按钮:
doActionWithWait(BtnElem,function() {
BtnElem.click().then(function() {
//so something
});
});
和doActionWithWait函数如下所示:
doActionWithWait = function(elem,promise) {
var EC = protractor.ExpectedConditions;
//visibilityOfElementLocated
browser.driver.wait(EC.visibilityOf(elem), 15000).then(function() {
browser.driver.wait(EC.elementToBeClickable(elem), 15000).then(function() {
promise();
});
});
};
虽然我正在等待按钮在我执行Btn.click()时可见并可点击,但没有任何反应。
所以我的问题是等待按钮可点击的正确方法是什么,因为使用ExpectedConditions似乎不起作用。