public Timer timer(int sec) { return new Timer(sec * 1000); } public Timer timer() {
public Timer timer(int sec) { return new Timer(sec * 1000); } public Timer timer() {
public Timer timer() { return new Timer(timeouts.getCurrentTimeoutSec() * 1000); } private List<WebElement> getElementsByCondition(JFuncTREx<WebElement, Boolean> condition) {
public static <T> T getResultAction(Supplier<T> getFunc) { return new Timer().getResultByCondition(getFunc, result -> true); }
public static boolean waitCondition(BooleanSupplier condition) { return new Timer().wait(condition); }
public static boolean waitCondition(BooleanSupplier condition) { return new Timer().wait(condition); }
public static <T> T getResultAction(Supplier<T> getFunc) { return new Timer().getResultByCondition(getFunc, result -> true); }
public static <T> T getByCondition(Supplier<T> getFunc, Function<T, Boolean> conditionFunc) { return new Timer().getResultByCondition(getFunc, conditionFunc); }
public static <T> T getByCondition(Supplier<T> getFunc, Function<T, Boolean> conditionFunc) { return new Timer().getResultByCondition(getFunc, conditionFunc); }
public static boolean alwaysDoneAction(JAction action) { return new Timer().wait(() -> { action.invoke(); return true; }); }
public static boolean alwaysDoneAction(JAction action) { return new Timer().wait(() -> { action.invoke(); return true; }); }
@BeforeSuite(alwaysRun = true) public static void jdiSetUp() throws IOException { initFromProperties(); logger.info("Init test run"); if (WebSettings.killBrowser.toLowerCase().contains("before")) killAllRunWebBrowsers(); timer = new Timer(); }
@BeforeSuite(alwaysRun = true) public static void jdiSetUp() throws IOException { initFromProperties(); logger.info("Init test run"); if (WebSettings.killBrowser.toLowerCase().contains("before")) killAllRunWebBrowsers(); timer = new Timer(); }
public <TResult> TResult resultScenario(String actionName, Supplier<TResult> jAction, Function<TResult, String> logResult, LogLevels level) { element.logAction(actionName); Timer timer = new Timer(); TResult result = new Timer(timeouts.getCurrentTimeoutSec() * 1000) .getResultByCondition(jAction::get, res -> true); if (result == null) throw asserter.exception("Do action %s failed. Can't got result", actionName); String stringResult = (logResult == null) ? result.toString() : JDISettings.asserter.silent(() -> logResult.apply(result)); Long timePassed = timer.timePassedInMSec(); addStatistic(timer.timePassedInMSec()); toLog(format("Get result '%s' in %s seconds", stringResult, format("%.2f", (double) timePassed / 1000)), level); return result; } }
public void actionScenario(String actionName, JAction jAction, LogLevels logSettings) { element.logAction(actionName, logSettings); Timer timer = new Timer(); new Timer(timeouts.getCurrentTimeoutSec() * 1000).wait(() -> { jAction.invoke(); return true; }); logger.debug(actionName + " done"); addStatistic(timer.timePassedInMSec()); }
/** * @param resultFunc Specify expected function result * @param timeoutSec Specify timeout * @param condition Specify expected function condition * @return Waits while condition with WebElement and returns wait result */ @Step public <R> R wait(Function<WebElement, R> resultFunc, Function<R, Boolean> condition, int timeoutSec) { setWaitTimeout(timeoutSec); R result = new Timer(timeoutSec * 1000) .getResultByCondition(() -> resultFunc.apply(getWebElement()), condition); restoreWaitTimeout(); return result; }
/** * @param resultFunc Specify expected function result * @param timeoutSec Specify timeout * @param condition Specify expected function condition * @return Waits while condition with WebElement and returns wait result */ @Step public <T> T wait(Function<WebElement, T> resultFunc, Function<T, Boolean> condition, int timeoutSec) { setWaitTimeout(timeoutSec); T result = new Timer(timeoutSec * 1000).getResultByCondition(() -> resultFunc.apply(getWebElement()), condition::apply); restoreWaitTimeout(); return result; }
/** * @param resultFunc Specify expected function result * @param timeoutSec Specify timeout * @param condition Specify expected function condition * @return Waits while condition with WebElement and returns wait result */ @Step public <R> R wait(Function<WebElement, R> resultFunc, Function<R, Boolean> condition, int timeoutSec) { setWaitTimeout(timeoutSec); R result = new Timer(timeoutSec * 1000) .getResultByCondition(() -> resultFunc.apply(getWebElement()), condition); restoreWaitTimeout(); return result; }
private void assertAction(String defaultMessage, Supplier<String> result, String failMessage, boolean wait) { if (!isListCheck && defaultMessage != null) toLog.invoke(getBeforeMessage(defaultMessage)); if (!isListCheck && doScreenshot == DO_SCREEN_ALWAYS) logger.debug(doScreenshotGetMessage()); String resultMessage = wait ? new Timer(timeout() * 1000).getResultByCondition(result, r -> r != null && r.equals(FOUND)) : result.get(); if (resultMessage == null) { assertException(failMessage == null ? "Assert Failed by Timeout. Wait "+timeout()+" seconds" : failMessage); return; } if (!resultMessage.equals(FOUND)) { if (doScreenshot == SCREEN_ON_FAIL) logger.debug(doScreenshotGetMessage()); assertException(failMessage == null ? defaultMessage + " failed" : failMessage); } }
@BeforeSuite(alwaysRun = true) public static void jdiSetUp() throws Exception { WebSettings.init(); logger.info("Init test run"); initFromProperties(); if (!driverFactory.hasDrivers()) useDriver(ANDROID); timer = new Timer(); }