FluentLenium

FluentLenium is a website automation framework which extends Selenium to write reliable and resilient UI functional tests. This framework is React ready. Written and maintained by people who are automating browser-based tests on a daily basis.

Github stars Tracking Chart

What is FluentLenium ?

Travis
Coveralls
Javadoc
Maven Central
Website

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 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

Quickstart steps are described in detail in our separate documentation section.

Example

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.

Documentation

Detailed documentation is available on fluentlenium.com.

Javadoc

Javadoc is available on fluentlenium.com/javadoc.

Modules summary

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-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 and FluentPage.
  • 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.

Contact Us

If you have any comment, remark or issue, please open an issue on
FluentLenium Issue Tracker

Main metrics

Overview
Name With OwnerFluentLenium/FluentLenium
Primary LanguageJava
Program languageJava (Language Count: 7)
Platform
License:Other
所有者活动
Created At2011-07-22 13:26:37
Pushed At2025-04-28 03:01:30
Last Commit At2023-05-03 08:45:23
Release Count110
Last Release Name6.1.0 (Posted on 2025-01-23 10:23:12)
First Release NameFluentLenium-0.1 (Posted on 2011-08-03 23:06:20)
用户参与
Stargazers Count884
Watchers Count48
Fork Count218
Commits Count3.3k
Has Issues Enabled
Issues Count532
Issue Open Count18
Pull Requests Count1252
Pull Requests Open Count13
Pull Requests Close Count422
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private