We are proud to announce that FluentLenium
1.0.0 have been released !
Two versions ?
2.53.1 is the last Selenium 2 version and won’t get any other maintenance releases, so
users should switch to Selenium 3 as soon as possible to support latest driver versions and get bug fixes.
Selenium 3 requires Java 8 to run and is currently in beta but should be released soon.
As a consequence, FluentLenium now comes in two versions:
3.0.0is compiled with Java 8 and Selenium
3.0.0-beta4. (recommended version)
1.0.0is compiled with Java 7 and Selenium
Those two versions are currently functionally equivalent, but
1.x will be maintained for bug fixes only. So you
should choose this version only if you can’t run Java 8 or Selenium 3 in your environment.
We’ve also built a new website that embeds the docs from latest release. Sources are available on github, so feel free to open a pull request if you find anything wrong in it.
What’s new ?
Calling search methods like
$now returns Lazy Locators. Those locators works like previous elements, but effective WebDriver search are now performed as lazily, as late as possible, before invoking an effective action on elements. It allowed us to implement new features, like
present()method that should avoid catching
NoSuchElementExceptionin your tests to verify presence of elements, and
reset(true)to reload an element.
Elements behavior can now be customized globally with Hook Annotations. For example, you can add @Wait annotation on the test class, and remove all manual waits spoiling your test and page object code ! FluentLenium will wait before any action for it to be available. Hook can also be defined on a particular element. @Wait annotation is provided, but you can also implement your how hook that hides the technical issues of your particular context.
You can now listen to WebDriver events using either a Listener API, or annotations in your Test, Page Object and Component classes.
You can now configure settings like WebDriver, Capabilities and Base Url through various media like java annotation, java system property, environment variable or file. Stop editing your java source code to change those settings.
Conditions and Wait API
Conditions and wait API have been rewriten to be more consistent, easy to extend and easy to maintain. A really good point for future !
Components, Page Objects and Injection
Some inconsistencies have been fixed in the way Components and Page Objects are injected in the Test.
Docs are now complete and nicely displayed on this website.
Many bugs have been fixed and code coverage is now decent.
And what’s next ?
All community ideas are written in Github issues, so stay tuned and feel free to contribute.