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

项目:ServiceNow_Selenium    文件:ServiceNow.java   
/**
 * @category Get Field Label
 */
private WebElement getFieldByLabel(String fieldLabel) {
    this.focusForm(true);
    WebElement field = null;
    List<WebElement> allLabels = _driver.findElements(By.className("label-text"));
    for (int i = 0; i < allLabels.size(); i++) {
        if (allLabels.get(i).getText().trim().equalsIgnoreCase(fieldLabel)) {
            field = allLabels.get(i).findElement(By.xpath("../../.."));
            break;
        }
    }
    if(field == null) {
        throw new NotFoundException("Field with the label of ["+fieldLabel+"] was not found.");
    }
    return field;
}
项目:darcy-webdriver    文件:ViewWebDriverTargetTest.java   
@Test
public void shouldCacheWindowHandleOnceFound() {
    ControllableView view = new ControllableView();
    view.setIsLoaded(true);

    WebDriverTarget target = WebDriverTargets.withViewLoaded(view, context);

    WebDriver firstSwitch = target.switchTo(locator);

    view.setIsLoaded(false);

    try {
        WebDriver secondSwitch = target.switchTo(locator);

        assertEquals(firstSwitch, secondSwitch);
    } catch (NotFoundException e) {
        fail("Second switch tried to find window again:\n" + e);
    }
}
项目:Mahesh.tutorials    文件:WrapperFunctions.java   
/**
 * @param driver
 * @param element
 * @param wait
 * @return
 */

public boolean waitForElementToDissappear(WebDriver driver, By element,
        Integer wait) {
    Integer count = 0;
    while (count < wait) {

        try {
            driver.findElement(element);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e1) {
            }
        } catch (NotFoundException e) {
            return true;
        }
        count = count + 1;
    }
    return false;
}
项目:ServiceNow_Selenium    文件:ServiceNow.java   
/**
 * Searches for the Application Name, Clicks the module under the application.
 * 
 * @param applicationName
 *            - The name of the Application
 * @param moduleName
 *            - The name of the module
 */
public void ChooseApplicationAndModule(String applicationName, String moduleName) {
    this.focusForm(false);
    WebElement filterNavigator = _wait.until(ExpectedConditions.elementToBeClickable(By.id("filter")));
    filterNavigator.clear();
    filterNavigator.sendKeys(applicationName);
    WebElement applicationList = _wait
            .until(ExpectedConditions.visibilityOfElementLocated(By.id("concourse_application_tree")));
    List<WebElement> applications = applicationList
            .findElements(By.xpath("//li[@ng-repeat='application in applications']"));
    for (int i = 0; i < applications.size(); i++) {
        if (applications.get(i).findElement(By.tagName("a")).getText().trim().equalsIgnoreCase(applicationName)) {
            // Found Application
            WebElement application = applications.get(i);
            WebElement moduleList = application.findElement(By.tagName("ul"));
            List<WebElement> modules = moduleList.findElements(
                    By.xpath("//li[@ng-repeat='appModule in ::application.modules track by appModule.id']"));
            for (int j = 0; j < modules.size(); j++) {
                if (modules.get(j).getText().trim().equalsIgnoreCase(moduleName)) {
                    // Found Module
                    modules.get(j).click();
                    return;
                }
            }
            throw new NotFoundException("Module by the name of ["+moduleName+"] was not found.");
        }
    }
    throw new NotFoundException("Application by the name of ["+applicationName+"] was not found.");
}
项目:cucumber-framework-java    文件:ILocator.java   
default By locator(String id) {
    if (id.contains("//") || id.contains(".//")) {
        return By.xpath(id.replace("xpath=", ""));
    } else if(id.contains("css")){
        return By.cssSelector(id.replace("css=", ""));
    }else if(id.contains("id")) {
        return By.id(id.replace("id=", ""));
    }else if(id.contains("name")) {
        return By.name(id.replace("name=", ""));
    }else if(id.contains("link")) {
        return By.linkText(id.replace("link=", ""));
    }else {
     throw new NotFoundException("The locator type is not found");
    }
}
项目:ats-framework    文件:HiddenHtmlElementState.java   
@Override
public boolean isElementPresent() {

    try {

        if ( (element.getUiDriver() instanceof HiddenBrowserDriver)
             && (element instanceof UiAlert || element instanceof UiPrompt || element instanceof UiConfirm)) {
            return false;
        }

        if (element instanceof UiAlert || element instanceof UiConfirm) {
            Alert dialog = webDriver.switchTo().alert();
            return dialog != null;
        } else if (element instanceof UiPrompt) {

            Alert prompt = webDriver.switchTo().alert();
            return prompt.getText() != null && !prompt.getText().equals("false");
            // return seleniumBrowser.isPromptPresent(); // Not implemented yet
        }

        HiddenHtmlElementLocator.findElement(this.element, null, false);
        return true;
    } catch (NotFoundException nfe) {
        return false;
    } catch (ElementNotFoundException enfe) {
        return false;
    }

}
项目:mario    文件:ElementFinder.java   
public void probe() {
    foundElement = null;
    try {
        foundElement = context.findElement(criteria);
    } catch (NotFoundException tryAgain) {
    }
}
项目:mario    文件:NestedElementFinder.java   
public void probe() {
    foundElement = null;

    parent.probe();
    if (!parent.isSatisfied()) return;

    try {
        foundElement = parent.found().findElement(criteria);
    } catch (NotFoundException tryAgain) {
    }
}
项目:seleniumtestsframework    文件:Table.java   
public void findElement() {
    super.findElement();
    try {
        rows = element.findElements(By.tagName("tr"));
    } catch (NotFoundException e) { }

}
项目:che    文件:JavaTestRunnerPluginConsole.java   
/**
 * Wait single method in the result tree marked as failed (red color).
 *
 * @param nameOfFailedMethods name of that should fail
 */
public void waitMethodMarkedAsFailed(String nameOfFailedMethods) {
  FluentWait<WebDriver> wait =
      new FluentWait<WebDriver>(seleniumWebDriver)
          .withTimeout(ATTACHING_ELEM_TO_DOM_SEC, TimeUnit.SECONDS)
          .pollingEvery(200, TimeUnit.MILLISECONDS)
          .ignoring(NotFoundException.class, StaleElementReferenceException.class);
  String xpathToExpectedMethod = "//span[@id='%s']/following-sibling::*/div[text()='%s']";
  wait.until(
      ExpectedConditions.visibilityOfElementLocated(
          By.xpath(
              String.format(
                  xpathToExpectedMethod, METHODS_MARKED_AS_FAILED, nameOfFailedMethods))));
}
项目:cinnamon    文件:SearchContextWait.java   
protected SearchContextWait(final SearchContext input, final Clock clock, final Sleeper sleeper, final long timeout,
        final TimeUnit timeoutTimeUnit, final long sleep, final TimeUnit sleepTimeUnit) {
    super(input, clock, sleeper);
    withTimeout(timeout, timeoutTimeUnit);
    pollingEvery(sleep, sleepTimeUnit);
    ignoring(NotFoundException.class);
}
项目:darcy-webdriver    文件:WebDriverElement.java   
@Override
public boolean isPresent() {
    try {
        getWrappedElement();
        return true;
    } catch (NotFoundException e) {
        return false;
    }
}
项目:darcy-webdriver    文件:WebDriverElement.java   
private WebElement webElement() {
    if (cached == null) {
        try {
            cached = getWrappedElement();
        } catch (NotFoundException e) {
            throw new FindableNotPresentException(this, e);
        }
    }

    return cached;
}
项目:darcy-webdriver    文件:ForwardingTargetedWebDriver.java   
@Override
public boolean isPresent() {
    try {
        driver().getTitle();
        return true;
    } catch (NotFoundException e) {
        return false;
    }
}
项目:ats-framework    文件:HtmlNavigator.java   
@PublicAtsApi
public void navigateToFrame(
                             WebDriver webDriver,
                             UiElement element ) {

    if (lastWebDriver != webDriver) {
        // this is a new WebDriver instance
        lastWebDriver = webDriver;
        lastFramesLocation = "";
    }

    String newFramesLocationProperty = element != null
                                                       ? element.getElementProperty("frame")
                                                       : null;
    try {
        if (newFramesLocationProperty == null) {
            // No frame selection. Go to top frame if not there yet
            if (!"".equals(lastFramesLocation)) {
                log.debug("Go to TOP frame");
                webDriver.switchTo().defaultContent();
                lastFramesLocation = "";
            }
        } else {
            lastFramesLocation = newFramesLocationProperty;
            log.debug("Go to frame: " + newFramesLocationProperty);

            String[] newFramesLocation = newFramesLocationProperty.split("\\->");
            webDriver.switchTo().defaultContent();

            for (String frame : newFramesLocation) {

                if (frame.startsWith("/") || frame.startsWith("(/")) {

                    WebElement frameElement = webDriver.findElement(By.xpath(frame.trim()));
                    webDriver.switchTo().frame(frameElement);
                } else {

                    webDriver.switchTo().frame(frame.trim());
                }
            }
        }
    } catch (NotFoundException nfe) {

        String msg = "Frame not found. Searched by: '"
                     + (element != null
                                        ? element.getElementProperty("frame")
                                        : "")
                     + "'";
        log.debug(msg);
        throw new ElementNotFoundException(msg, nfe);
    }
}
项目:xframium-java    文件:WebHome.java   
/**
 * xFramium can be used with the standard Selenium and Appium interfaces.  Use the TestContainer and TestPackge as descriped below as well
 * as the hook into the internal reporting system
 * @param testContainer
 * @throws Exception
 */

@Test( dataProvider = "deviceManager" )
public void testNativeSeleniumAppium( TestContainer testContainer ) throws Exception
{
    //
    // Get access to the test and device
    //
    TestPackage testPackage = testPackageContainer.get();      
    TestName testName = testPackage.getTestName();

    //
    // Enable some basic reporting
    //
    DeviceWebDriver webDriver = testPackage.getConnectedDevice().getWebDriver();
    webDriver.setReportingElement( true );


    //
    // Optionally start a step container to allowing for reporting structure
    //
    startStep( testName, "Step One", "Testing the Toggle Button" );
    String beforeClick = webDriver.findElement( By.id( "singleModel" ) ).getText();
    webDriver.findElement( By.xpath( "//button[text()='Toggle Value']" ) ).click();
    String afterClick = webDriver.findElement( By.id( "singleModel" ) ).getText();

    Assert.assertTrue( false );

    Assert.assertFalse( (Boolean) executeStep( "COMPARE2", "Step One", CompareType.STRING.name(), new String[] { "Value One==" + beforeClick, "Value Two==" + afterClick }, webDriver ).get( "RESULT" ) );
    dumpState( webDriver );



    stopStep( testName, StepStatus.SUCCESS, null );

    startStep( testName, "Step Two", "Testing Attributes" );
    String typeAttribute = webDriver.findElement( By.xpath( "//button[text()='Toggle Value']" ) ).getAttribute( "type" );
    Assert.assertTrue( (Boolean) executeStep( "COMPARE2", "Step One", CompareType.STRING.name(), new String[] { "Value One==" + typeAttribute, "Value Two==button" }, webDriver ).get( "RESULT" ) );
    stopStep( testName, StepStatus.SUCCESS, null );
    dumpState( webDriver, "afterAttribute", 5, 5 );

    startStep( testName, "Step Three", "Testing Wait For" );
    Assert.assertFalse( webDriver.findElement( By.id( "deleteButton" ) ).isDisplayed() );
    webDriver.findElement( By.xpath( "//div[@id='aOpen']//a" ) ).click();
    Assert.assertTrue( new WebDriverWait( webDriver, 12 ).ignoring( NotFoundException.class ).until( ExpectedConditions.visibilityOfElementLocated( By.id( "deleteButton" ) ) ).isDisplayed() );
    stopStep( testName, StepStatus.SUCCESS, null );
    dumpState( webDriver, "afterWaitFor", 2, 5 );

}
项目:Selenium-Foundation    文件:SearchContextWait.java   
/**
 * Wait will ignore instances of NotFoundException that are encountered
 * (thrown) by default in the 'until' condition, and immediately propagate
 * all others. You can add more to the ignore list by calling
 * ignoring(exceptions to add).
 * 
 * @param context
 *            The SearchContext instance to pass to the expected conditions
 * @param clock
 *            The clock to use when measuring the timeout
 * @param sleeper
 *            Object used to make the current thread go to sleep.
 * @param timeOutInSeconds
 *            The timeout in seconds when an expectation is
 * @param sleepTimeOut
 *            The timeout used whilst sleeping. Defaults to 500ms called.
 */
public SearchContextWait(SearchContext context, Clock clock, Sleeper sleeper, long timeOutInSeconds,
        long sleepTimeOut) {
    super(context, clock, sleeper);
    withTimeout(timeOutInSeconds, TimeUnit.SECONDS);
    pollingEvery(sleepTimeOut, TimeUnit.MILLISECONDS);
    ignoring(NotFoundException.class);
    this.context = context;
}