Java 类org.openqa.selenium.ElementNotSelectableException 实例源码

项目:bromium    文件:ClickClassByText.java   
@Override
public void executeAfterJSPreconditionHasBeenSatisfied(WebDriver driver, ReplayingState state) {
    By elementsLocator = By.className(initialCollectorClass);
    List<WebElement> webElements = driver.findElements(elementsLocator);

    Optional<WebElement> webElementOptional = webElements.stream()
            .filter(this::elementTextIsEqualToAndIsDisplayed)
            .findFirst();

    if (!webElementOptional.isPresent()) {
        throw new ElementNotSelectableException("Element with class "
                + initialCollectorClass
                + " and text " + text + " was not found" );
    }

    webElementOptional.get().click();
}
项目:bromium    文件:ClickClassByTextTest.java   
@Test
public void throwsExceptionIfNoSuitableElementsAreFound() {
    WebElement incorrectWebElement = mock(WebElement.class);
    when(incorrectWebElement.getAttribute(INNER_HTML)).thenReturn("sometATPhing");
    when(incorrectWebElement.isDisplayed()).thenReturn(true);

    List<WebElement> webElements = new ArrayList<>();
    webElements.add(incorrectWebElement);

    By elementsLocator = By.className(initialCollectorClass);
    WebDriver webDriver = mock(WebDriver.class);
    when(webDriver.findElements(elementsLocator)).thenReturn(webElements);

    ClickClassByText clickClassByText = new ClickClassByText(initialCollectorClass, text, eventName, expectsHttp);
    thrown.expect(ElementNotSelectableException.class);
    clickClassByText.executeAfterJSPreconditionHasBeenSatisfied(webDriver, mock(ReplayingState.class));
}
项目:alex    文件:AlertSendKeysAction.java   
@Override
protected ExecuteResult execute(final WebSiteConnector connector) {
    try {
        final Alert alert = connector.getDriver().switchTo().alert();
        alert.sendKeys(insertVariableValues(text));

        LOGGER.info(LEARNER_MARKER, "Send text '{}' to prompt window (ignoreFailure: {}, negated: {}).",
                    text, ignoreFailure, negated);

        return getSuccessOutput();
    } catch (NoAlertPresentException | ElementNotSelectableException e) {
        LOGGER.info(LEARNER_MARKER, "Failed to send text '{}' to prompt window (ignoreFailure: {}, negated: {}).",
                    text, ignoreFailure, negated);

        return getFailedOutput();
    }
}
项目:bromium    文件:ClickClassByTextTest.java   
@Test
public void throwsExceptionIfNoElementsAreFound() {
    List<WebElement> webElements = new ArrayList<>();

    By elementsLocator = By.className(initialCollectorClass);
    WebDriver webDriver = mock(WebDriver.class);
    when(webDriver.findElements(elementsLocator)).thenReturn(webElements);

    ClickClassByText clickClassByText = new ClickClassByText(initialCollectorClass, text, eventName, expectsHttp);
    thrown.expect(ElementNotSelectableException.class);
    clickClassByText.executeAfterJSPreconditionHasBeenSatisfied(webDriver, mock(ReplayingState.class));
}