/** * Example of clicking a button where the 1st first click does not work (possibly due to the page * not blocking correct) and you want to attempt additional tries. Also, example of how to use the * GenericFields class. * * @return some page object */ public SampleDateWidget clickForgotPassword() { int poll = getPollInterval(); int flakyTimeout = poll * getRetries(); FlakinessChecks flaky = new FlakinessChecks(driver, flakyTimeout, poll); int retries = 1; // This could be set to any value. Also, it could be page specific. int count = 0; while (count <= retries) { if (count > 0) Logs.log.warn("Retry (#" + count + ") ..."); fields.click(Field.ForgotPassword); boolean result = flaky.isElementRemoved(sLoc_ForgotPassword); if (result) return new SampleDateWidget(driver); count++; } Logs.logError( "Clicking " + sLog_ForgotPassword + " was not successful after " + retries + " retries as the element was not removed"); return null; }
/** * Get the fields * * @param driver * @return GenericFields */ private static GenericFields getFields(WebDriver driver) { GenericFields fields = new GenericFields(driver); fields.addButton(Field.ForgotPassword, sLoc_ForgotPassword, sLog_ForgotPassword, true); fields.verifyConfig(); return fields; }