FluentLenium helps you writing readable, reusable, reliable, and resilient UI functional tests for web browser.

Written in Java, provides fluent interface to Selenium and brings some magic to avoid common issues faced by Selenium users.

It’s shipped with adapters for JUnit, TestNG and Cucumber, but it may be used standalone too.

FluentLenium integrates the best with AssertJ, but you can also choose different assertion library if you want.

public class DuckDuckGoTest extends FluentTest {
    public void title_of_duck_duck_go_should_contain_search_query_name() {
        await().atMost(5, TimeUnit.SECONDS).until(el("#search_form_homepage")).not().present();