FluentLenium helps you writing readable, reusable, reliable and resilient UI functional tests for the browser and mobile app.
FluentLenium provides a Java fluent interface to Selenium, and brings some extra features to avoid common issues faced by Selenium users.
FluentLenium is shipped with adapters for JUnit4, JUnit5 , TestNG, Spock , Kotest , Spring TestNG and Cucumber, but it can also be used standalone.
FluentLenium best integrates with AssertJ, but you can also choose to use the assertion framework you want.
FluentLenium can be used to make your mobile Appium tests fluent and easier to maintain.
FluentLenium gives you multiple methods which help you write tests quicker. All those methods are tested daily by commercial regression test suites maintained by project developers.
Quickstart steps are described in deail in our separate documentation section.
public class DuckDuckGoTest extends FluentTest {
@Test
public void titleOfDuckDuckGoShouldContainSearchQueryName() {
goTo("https://duckduckgo.com");
$("#search_form_input_homepage").fill().with("FluentLenium");
$("#search_button_homepage").submit();
assertThat(window().title()).contains("FluentLenium");
}
}
More detailed FluentLenium examples are available
in examples section. Examples include headless
Chrome and Firefox, Spring-based framework supporting multiple browsers
and much more.
Detailed documentation is available on fluentlenium.io.
Javadoc is available on fluentlenium.io/javadoc.
To help you navigate through FluentLenium, here's a short summary about its modules and what support they provide.
- fluentlenium-core: Contains core functionality of FluentLenium, including webdriver configuration, page object support and injection logic.
- fluentlenium-junit: Provides support for integration with JUnit 4.
- fluentlenium-junit-jupiter: Provides support for integration with JUnit 5.
- fluentlenium-testng: Provides support for integration with TestNG.
- fluentlenium-spock: Provides support for integration with Spock.
- fluentlenium-spring-testng: Provides support for integration with Spring Test NG
- fluentlenium-kotest: Provides support for integration with Kotest
- fluentlenium-kotest-assertions: Provides custom Kotest matchers
- fluentlenium-cucumber: Provides support for integration with Cucumber. This may be combined with any of the modules above that are also supported by Cucumber.
- fluentlenium-assertj: Provides AssertJ assertions for FluentLenium
specific objects like
FluentWebElement
,FluentList
andFluentPage
. - fluentlenium-integration-tests: Integration tests for validating the correctness of FluentLenium features internally.
- fluentlenium-coverage-report: Creates jacoco test coverage report.
- fluentlenium-ide-support: Though not an actual Maven module, it contains resources to make working with FluentLenium in the IDE easier.
If you have any comment, remark or issue, please open an issue on FluentLenium Issue Tracker