Fluent API for Selenium - options
● Fluent-selenium
● FluentLenium
● Selenide
fluent-selenium
● Developed by Selenium team
● Available on GitHub
● Poor documentation (only readme-s on GitHub)
● Infrequent commits (once every 3 months on average)
● Hides WebDriver (direct interaction requires subclassing)
● https://github.com/SeleniumHQ/fluent-selenium
Selenide
● Extensive documentation with examples
● Actively developed (commits every few days)
● Extends WebDriver with new capabilities (including screenshots etc)
● Access to WebDriver capabilities through main Selenium object and static
methods of WebDriverRunner
● http://selenide.org/documentation.html
FluentLenium
● Infrequent commits (once every few months)
● Ok documentation (README only, but moderately extensive)
●
● https://github.com/FluentLenium/FluentLenium
Summary - features
Fluent-selenium Selenide FluentLenium
Access webdriver Only if you subclass and
expose
Not direct (exposes
methods)
Not direct (exposes through
functionality)
Use selenium WebDriver
‘By’
Yes, direct use and
additional features
Yes, direct use and
additional features
Yes, direct use (you can use
css selector or By object)
Select by XPath No Yes, $(By.xpath(...)) No, CSs selectors only
Wait (condition) Limited, for example
isDisplayed().within(secs
(10))
Or ifInvisibleWaitUpTo(millis
(500))
Yes, waitUntil(Condition,
timeout)
Yes, either annotation
(@AjaxElement) or API for
example await().atMost(5,
TimeUnit.SECONDS).until(".
small").withText().startsWith
("start").isPresent()
Browser lifecycle none Static methods (Selenide) Annotations
(@SharedDriver)
Summary - nonfunctional
fluent-selenium Selenide FluentLenium
Up to date with
latest Selenium
Yes Yes Yes
Last commit Month ago Few days ago 3 months ago
Commits frequency Once every few
months
Once every few
days
Once every few
months
Documentation and
examples
Poor, one README
file
Good, website +
javadocs
Ok, one README
but extensive
Google trends* 0 50 1

More Related Content

PDF
"The Story of Declarative React at Grammarly: From two-way data binding with ...
PPTX
Presentation on octobercms
PDF
Pull Request (PR): A git workflow
PDF
Selenium - what it is and what you can do with it
PPTX
Branching Strategies For Git and Subversion
PDF
Selenium Builder
PPTX
Protractor for angularJS
DOCX
Protractor end-to-end testing framework for angular js
"The Story of Declarative React at Grammarly: From two-way data binding with ...
Presentation on octobercms
Pull Request (PR): A git workflow
Selenium - what it is and what you can do with it
Branching Strategies For Git and Subversion
Selenium Builder
Protractor for angularJS
Protractor end-to-end testing framework for angular js

What's hot (20)

PPTX
Swagger - Making REST APIs friendlier
PDF
Introducing Selenium Builder – the Future of Test Development
PDF
Testing with Codeception (Webelement #30)
PDF
Kotlin for Android Developer - Make our live easier
PDF
My experience as Eclipse Contributor - ECE 2015
PPTX
Migration from AngularJS to Angular
PDF
Build and release iOS apps using Fastlane tools
PDF
Git-flow workflow and pull-requests
PDF
Angular 2 vs React
PDF
Introduction of bootstrap in angular
PDF
LF_APIStrat17_Super-Powered REST API Testing
PDF
React vs angular (mobile first battle)
PPTX
Selenium topic 3 -Web Driver Basics
PPTX
PPTX
Eclipse loves-java script
PDF
Getting Started with React Native (and should I use it at all?)
PPTX
Git flow
PDF
Agile Systems Admin
PDF
Angular 2 vs React. What to chose in 2017?
Swagger - Making REST APIs friendlier
Introducing Selenium Builder – the Future of Test Development
Testing with Codeception (Webelement #30)
Kotlin for Android Developer - Make our live easier
My experience as Eclipse Contributor - ECE 2015
Migration from AngularJS to Angular
Build and release iOS apps using Fastlane tools
Git-flow workflow and pull-requests
Angular 2 vs React
Introduction of bootstrap in angular
LF_APIStrat17_Super-Powered REST API Testing
React vs angular (mobile first battle)
Selenium topic 3 -Web Driver Basics
Eclipse loves-java script
Getting Started with React Native (and should I use it at all?)
Git flow
Agile Systems Admin
Angular 2 vs React. What to chose in 2017?
Ad

Viewers also liked (7)

PDF
Mapping in Java Options
PDF
Start stop-continue
PPTX
JavaStart - kurs Java Podstawy
PDF
My stories
PDF
Be a rockstar!
PDF
Java Tools and Technologies Landscape for 2014 (image gallery)
PDF
STEAL THIS PRESENTATION!
Mapping in Java Options
Start stop-continue
JavaStart - kurs Java Podstawy
My stories
Be a rockstar!
Java Tools and Technologies Landscape for 2014 (image gallery)
STEAL THIS PRESENTATION!
Ad

Similar to Fluent API for selenium - options (20)

PPTX
Introduction to APIs & how to automate APIs testing with selenium web driver?
PDF
Selenium for Tester.pdf
PPTX
Introduction to selenium web driver
PDF
selenium-webdriver-interview-questions.pdf
PPT
Selenium 2
PPT
Selenium 2
PPT
A Buffer's Guide to Selenium 2
PPTX
A Deep Dive into the W3C WebDriver Specification
PPTX
Fluentlenium
PPTX
Selenium web driver
PDF
Ijetcas14 413
PPTX
Introduction to selenium web driver
PDF
Selenium Webdriver Interview Questions
PDF
SCQAA-SF Selenium Presentation
PPTX
Introduction to Selenium Web Driver
PPT
Selenium-Course-Content.ppt
PPT
4.1 Selenium_Course_Content.ppt
PPT
Selenium_Course_Contenttttttttttttttttt.ppt
PDF
Selenium 2 for PHP(Unit)
 
PPTX
Introduction to APIs & how to automate APIs testing with selenium web driver?
Selenium for Tester.pdf
Introduction to selenium web driver
selenium-webdriver-interview-questions.pdf
Selenium 2
Selenium 2
A Buffer's Guide to Selenium 2
A Deep Dive into the W3C WebDriver Specification
Fluentlenium
Selenium web driver
Ijetcas14 413
Introduction to selenium web driver
Selenium Webdriver Interview Questions
SCQAA-SF Selenium Presentation
Introduction to Selenium Web Driver
Selenium-Course-Content.ppt
4.1 Selenium_Course_Content.ppt
Selenium_Course_Contenttttttttttttttttt.ppt
Selenium 2 for PHP(Unit)
 

More from Anna Pietras (6)

PDF
Feedback
PDF
Building RESTful API
PDF
Exception handling
PDF
Dlaczego (i jak) się uczyć
PDF
Global competetiveness of airlines
PDF
T mobile international cooperation
Feedback
Building RESTful API
Exception handling
Dlaczego (i jak) się uczyć
Global competetiveness of airlines
T mobile international cooperation

Recently uploaded (20)

PPTX
2018-HIPAA-Renewal-Training for executives
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PDF
CloudStack 4.21: First Look Webinar slides
PPT
Geologic Time for studying geology for geologist
PDF
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Architecture types and enterprise applications.pdf
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Microsoft Excel 365/2024 Beginner's training
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
STKI Israel Market Study 2025 version august
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
2018-HIPAA-Renewal-Training for executives
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
CloudStack 4.21: First Look Webinar slides
Geologic Time for studying geology for geologist
Two-dimensional Klein-Gordon and Sine-Gordon numerical solutions based on dee...
The influence of sentiment analysis in enhancing early warning system model f...
Hindi spoken digit analysis for native and non-native speakers
Zenith AI: Advanced Artificial Intelligence
Benefits of Physical activity for teenagers.pptx
Architecture types and enterprise applications.pdf
sustainability-14-14877-v2.pddhzftheheeeee
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
NewMind AI Weekly Chronicles – August ’25 Week III
Microsoft Excel 365/2024 Beginner's training
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
STKI Israel Market Study 2025 version august
Taming the Chaos: How to Turn Unstructured Data into Decisions
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...

Fluent API for selenium - options

  • 1. Fluent API for Selenium - options ● Fluent-selenium ● FluentLenium ● Selenide
  • 2. fluent-selenium ● Developed by Selenium team ● Available on GitHub ● Poor documentation (only readme-s on GitHub) ● Infrequent commits (once every 3 months on average) ● Hides WebDriver (direct interaction requires subclassing) ● https://github.com/SeleniumHQ/fluent-selenium
  • 3. Selenide ● Extensive documentation with examples ● Actively developed (commits every few days) ● Extends WebDriver with new capabilities (including screenshots etc) ● Access to WebDriver capabilities through main Selenium object and static methods of WebDriverRunner ● http://selenide.org/documentation.html
  • 4. FluentLenium ● Infrequent commits (once every few months) ● Ok documentation (README only, but moderately extensive) ● ● https://github.com/FluentLenium/FluentLenium
  • 5. Summary - features Fluent-selenium Selenide FluentLenium Access webdriver Only if you subclass and expose Not direct (exposes methods) Not direct (exposes through functionality) Use selenium WebDriver ‘By’ Yes, direct use and additional features Yes, direct use and additional features Yes, direct use (you can use css selector or By object) Select by XPath No Yes, $(By.xpath(...)) No, CSs selectors only Wait (condition) Limited, for example isDisplayed().within(secs (10)) Or ifInvisibleWaitUpTo(millis (500)) Yes, waitUntil(Condition, timeout) Yes, either annotation (@AjaxElement) or API for example await().atMost(5, TimeUnit.SECONDS).until(". small").withText().startsWith ("start").isPresent() Browser lifecycle none Static methods (Selenide) Annotations (@SharedDriver)
  • 6. Summary - nonfunctional fluent-selenium Selenide FluentLenium Up to date with latest Selenium Yes Yes Yes Last commit Month ago Few days ago 3 months ago Commits frequency Once every few months Once every few days Once every few months Documentation and examples Poor, one README file Good, website + javadocs Ok, one README but extensive Google trends* 0 50 1