Introducing SeLion - A Java based, TestNG driven Open Source UI automation framework for Selenium

568 views
Skip to first unread message

Krishnan Mahadevan

unread,
Sep 9, 2014, 2:22:46 AM9/9/14
to sel...@googlegroups.com
Dear Selenium enthusiasts,

In 2010 we at PayPal embarked on a journey to replace our old "record and playback" test software with a Java native test framework that promoted best practices and could scale across complex flows and multiple languages. The result? A Selenium WebDriver-based framework that slowly evolved into what we're introducing as SeLion (pronounced "sea lion"). We've spent years making improvements, fixing bugs, and generally learning from our mistakes. In fact we've re-architected the code at least twice. We're at the point now where we're pretty happy with the results and we're taking it to the Selenium community.

SeLion uses WebDriver, iOS-Driver, Selendroid, Maven and TestNG underneath the hood.

All of the documentation related to SeLion can be found at http://selion.io 

SeLion uses some of the latest and greatest code from the dev branch in iOS-Driver. Since the next version of iOS-Driver is yet to be released, on an interim basis you would need to start off by building iOS-Driver codebase locally before you can start using SeLion. This is only a temporary need and once iOS-Driver gets released this will not be required as well.

To start learning how to build SeLion, please refer to http://paypal.github.io/SeLion/html/documentation.html#buildingSelion.

SeLion gives you the following :

  • A client module which you can add as a Maven dependency and kick start your front end automation. The client module gives you the following:
    1. Annotation driven WebDriver session management, so that tests needn't worry about spawning/closing browsers/simulators.
    2. Re-usable page objects via simple PageYaml.
    3. Plug test data into testng's @Dataprovider with ease and have access to it via true POJOs.
    4. Runtime Reporter which gives you test execution status realtime
    5. and many more.
  • A Maven archetype using which you can quickly create a project and checkout various samples that we have created to help you refer to and get started.
  • A customized Grid2 component that :
    1. Provides a Self healing mechanism that does away with manual need for maintaining the nodes, 
    2. Lets you Auto upgrade your nodes so that you don't need to login to every single box where your node runs to perform upgrades of the selenium artifacts and also 
    3. Mechanisms to forcibly kill nodes whenever you detect that some node has turned rogue and doesn't respond back].
  • A Code generator Maven plugin that lets you convert yaml files which contain locators for elements in a page into Java classes that now would represent a particular page.

We have also created a forum on google so that you can ask all your questions related to SeLion and get it clarified instantly.


Explore SeLion and let us know your feedback via the above mentioned forum. 

You can also use our github issues page to get clarifications as well [ https://github.com/paypal/selion/issues ]. 

I would humbly request you all to keep all your queries related to SeLion on the above mentioned forum/github page and NOT use selenium-users (or) webdriver forums for getting clarifications etc.,


Thanks & Regards
Krishnan Mahadevan

"All the desirable things in life are either illegal, expensive, fattening or in love with someone else!"
My Scribblings @ http://wakened-cognition.blogspot.com/
My Technical Scribbings @ http://rationaleemotions.wordpress.com/

Vikram

unread,
Sep 10, 2014, 5:19:20 AM9/10/14
to seleniu...@googlegroups.com, sel...@googlegroups.com
This is really a cool project , thanks for sharing with community.

It will surely save many man months to build and maintain framework.

Best Regards,
Vikram
Reply all
Reply to author
Forward
0 new messages