I use Cucumber-JVM with Serenity (Reporting library). The step implementation uses selenium for browser automation.
I use methods like
waitForRenderedElementsToBePresent(By.cssSelector(<css>));
waitFor(ExpectedConditions.visibilityOf(getDriver().findElement(By.cssSelector(<css>))));
but still my tests suffer from flakiness sometimes. I do not want to use explicit wait.
Is there any way I can make my tests more reliable.?