protected void doSimpleWebdriverTest(BrowserWebDriverContainer rule) { RemoteWebDriver driver = setupDriverFromRule(rule); System.out.println("Selenium remote URL is: " + rule.getSeleniumAddress()); System.out.println("VNC URL is: " + rule.getVncAddress()); driver.get("http://www.google.com"); WebElement search = driver.findElement(By.name("q")); search.sendKeys("testcontainers"); search.submit(); List<WebElement> results = new WebDriverWait(driver, 15) .until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector("#search h3"))); assertTrue("the word 'testcontainers' appears in search results", results.stream() .anyMatch(el -> el.getText().contains("testcontainers"))); }
default ExpectedCondition<List<WebElement>> VISIBLE_ALL(By by) { return ExpectedConditions.visibilityOfAllElementsLocatedBy(by); }
public boolean elementIsDisplayed(final By byElementCriteria) { try { waitFor(ExpectedConditions.visibilityOfAllElementsLocatedBy(byElementCriteria)); return true; } catch (NoSuchElementException noSuchElement) { return false; } catch (StaleElementReferenceException se) { return false; } catch (TimeoutException iGuessItsNotThere) { return false; } }
public boolean elementIsDisplayed(final By byElementCriteria) { try { waitFor(ExpectedConditions.visibilityOfAllElementsLocatedBy(byElementCriteria)); return true; } catch (NoSuchElementException | TimeoutException | StaleElementReferenceException noSuchElement) { return false; } }
/** * Publish a new asset to store * * @param driver WebDriver instance * @param assetName asset name */ public static void publishAssetToStore(WebDriver driver, String assetName) { WebDriverWait wait = new WebDriverWait(driver,MAX_POLL_COUNT); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("LifeCycle"))); driver.findElement(By.id("LifeCycle")).click(); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("lifecycle-comment"))); driver.findElement(By.id("lifecycle-comment")).clear(); driver.findElement(By.id("lifecycle-comment")).sendKeys("Promoting to review"); driver.findElement(By.id("lcActionPromote")).click(); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector(".alert-success"))); driver.findElement(By.id("lifecycle-comment")).clear(); driver.findElement(By.id("lifecycle-comment")).sendKeys("Promoting to published"); driver.findElement(By.id("lcActionPromote")).click(); wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.cssSelector(".alert-success"))); }
/** * Waits during specified {@code timeout} until all of {@link WebElement}, which are found by * {@code elementsLocator}, are visible and gets them. * * @param elementsLocator common locator for multiple elements * @param timeout waiting time in seconds * @return all elements which found by specified {@code elementLocator}, * <p>throws {@link org.openqa.selenium.TimeoutException} if at least one of the found * elements is not visible after timeout; */ public List<WebElement> waitVisibilityOfAllElements(By elementsLocator, int timeout) { return webDriverWaitFactory .get(timeout) .until(visibilityOfAllElementsLocatedBy(elementsLocator)); }
this.webDriver.get(url); subscriberWait.until( ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id(START_BUTTON))); subscriberWait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id(ROOM_ID))); this.webDriver.findElement(By.id(ROOM_ID)).sendKeys(roomId); this.webDriver.findElement(By.id(JOIN_BUTTON)).click();
res.add("browser", browser); boolean everythingOK; wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("gum"))); everythingOK = checkVideoDisplay(this.webDriver, 0, TIMEOUT, INTERVAL);
res.add("browser", browser); boolean everythingOK; wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("getMediaButton"))); WebElement button = this.webDriver.findElement(By.id("getMediaButton")); button.click();
res.add("browser", browser); boolean everythingOK; wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("getMediaButton"))); WebElement button = this.webDriver.findElement(By.id("getMediaButton")); button.click();
res.add("browser", browser); boolean everythingOK; wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("getMediaButton"))); WebElement button = this.webDriver.findElement(By.id("getMediaButton")); button.click();
publisher.get(url); WebDriverWait publisherWait = new WebDriverWait(publisher, TIMEOUT); publisherWait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id(START_BUTTON))); publisherWait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id(ROOM_DESC))); publisher.findElement(By.id(ROOM_DESC)).sendKeys(channelId); publisher.findElement(By.id(CREATE_BUTTON)).click(); robot.keyRelease(KeyEvent.VK_ENTER); robot.delay(200); publisherWait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.className("bootbox-body"))); WebElement popUpFooter = publisher.findElements(By.className("modal-footer")).get(0); popUpFooter.findElements(By.tagName("button")).get(0).click(); publisherWait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id("session"))); roomId = publisher.findElement(By.id("session")).getText(); logger.debug("room id is :" + roomId);
/** * Retrieve an web elements that should be visible on current page. * * @param identity an identity of the element * @return a web elements that was found */ private List<WebElement> getVisibleElements(final String identity) { waitForActiveAnimationsComplete(); By locator = parseBy(identity); getWait().until(ExpectedConditions .visibilityOfAllElementsLocatedBy(locator)); return browser.base().findElements(locator); }
/** * @author wasiq.bhamla * @since Jan 30, 2018 7:33:47 PM * @param locator * @param waitStrategy */ private void wait (final By locator, final WaitStrategy waitStrategy) { switch (waitStrategy) { case ENABLED: this.wait.until (ExpectedConditions.elementToBeClickable (locator)); break; case PRESENT: this.wait.until (ExpectedConditions.presenceOfAllElementsLocatedBy (locator)); break; case VISIBLE: this.wait.until (visibilityOfAllElementsLocatedBy (locator)); break; case NONE: default: break; } } }