private WebElementsCollectionWrapper fetch() { List<WebElement> fetchedElements = collection.getElements(); return new WebElementsCollectionWrapper(driver(), fetchedElements); }
@Override public String toString() { try { return elementsToString(driver(), getElements()); } catch (Exception e) { return String.format("[%s]", Cleanup.of.webdriverExceptionMessage(e)); } }
/** * For example: {@code $$(".error").shouldBe(empty)} */ public ElementsCollection shouldBe(CollectionCondition... conditions) { return should("be", driver().config().timeout(), conditions); }
/** * For example: * {@code $$(".error").shouldHave(size(3))} * {@code $$(".error").shouldHave(texts("Error1", "Error2"))} */ public ElementsCollection shouldHave(CollectionCondition... conditions) { return should("have", driver().config().timeout(), conditions); }
protected ElementsCollection should(String prefix, long timeoutMs, CollectionCondition... conditions) { validateAssertionMode(driver().config()); SelenideLog log = SelenideLogger.beginStep(collection.description(), "should " + prefix, (Object[]) conditions); try { for (CollectionCondition condition : conditions) { waitUntil(condition, timeoutMs); } SelenideLogger.commitStep(log, PASS); return this; } catch (Error error) { Error wrappedError = UIAssertionError.wrap(driver(), error, timeoutMs); SelenideLogger.commitStep(log, wrappedError); switch (driver().config().assertionMode()) { case SOFT: return this; default: throw wrappedError; } } catch (RuntimeException e) { SelenideLogger.commitStep(log, e); throw e; } }
sleep(driver().config().pollingInterval());