如何使用量角器检查元素是否可见而无需等待? 我来自Java + WebDriver背景和新的Protractor。在Java中,我使用了以下解决方案。我正在寻找类似的功能。
更多信息:目前,如果我使用isDisplayed(),WebDriver将等到元素可见(如果它尚未显示)。我想在不等待的情况下获得可见性状态。
protected void turnOffImplicitWaits() {
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);
}
protected void turnOnImplicitWaits() {
driver.manage().timeouts().implicitlyWait(StartupConstants.TIMEOUT, TimeUnit.SECONDS);
}
protected boolean isElementHiddenNow(By by) {
turnOffImplicitWaits();
boolean result = ExpectedConditions.invisibilityOfElementLocated(by).apply(driver);
turnOnImplicitWaits();
return result;
}
答案 0 :(得分:0)
如果你在检查元素的可见性时不想要任何默认等待,那么做一件事,就是在目标元素上执行任何操作,如 click(),然后添加then()函数两个函数作为参数 - 一个用于成功,另一个用于失败。您遵循以下代码:
var targetElement=element(locator);
targetElement.click()
.then(function(toBeCalledWhenSuccess) { // fulfillment },
function(reasonForRejection) { // rejection }
);
在Conf.js中添加以下代码
jasmineNodeOpts: {
// Default time to wait in ms before a test fails.
defaultTimeoutInterval: 0,
}