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.
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.
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:
- Annotation driven WebDriver session management, so that tests needn't worry about spawning/closing browsers/simulators.
- Re-usable page objects via simple PageYaml.
- Plug test data into testng's @Dataprovider with ease and have access to it via true POJOs.
- Runtime Reporter which gives you test execution status realtime
- 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 :
- Provides a Self healing mechanism that does away with manual need for maintaining the nodes,
- 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
- 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.
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.,