0

如何使用量角器检查元素是否可见而不等待?我来自 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;

}
4

1 回答 1

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,
    }
于 2016-09-14T11:17:04.487 回答