Skip to content

paypal/SeLion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Doug Simmons
Mar 6, 2019
694d12d · Mar 6, 2019
Nov 2, 2016
Sep 28, 2017
Mar 10, 2017
Oct 17, 2018
Jun 23, 2017
Jul 27, 2017
Jul 25, 2017
Nov 2, 2016
Mar 10, 2017
Mar 6, 2019
Jul 12, 2016
Mar 10, 2017
Oct 17, 2018
Jan 23, 2018
Nov 2, 2016
Jun 2, 2015
Nov 2, 2016
Jan 23, 2018
Jul 19, 2016
Nov 2, 2016
Sep 2, 2014
Apr 10, 2017
Mar 6, 2019

Repository files navigation

Build Status

Codacy Badge

Gitter

SeLion

Enabling Test Automation in Java

SeLion builds on top of TestNG and Selenium to provide a set of capabilities that get you up and running with WebDriver in a short time. It can be used for testing web and mobile applications.

  • A client module which you can add as a Maven dependency.
    • Annotation based WebDriver session management.
    • Runtime Reporter for real-time test execution status.
    • Swap out browser targets at run-time.
    • Automate native, hybrid, and web applications on iOS and Android devices.
    • and more
  • A set of TestNG compatible data providers which allow you to access test data from Excel, YAML, JSON, and XML.
  • A maven archetype for creating new SeLion based projects.
  • A customized Selenium Grid2 component.
  • A Code generator Maven plugin for generating Java "page objects" out of YAML.

Documentation

Project documentation including prerequisites, compilation, usage, and more is at http://paypal.github.io/SeLion/html/documentation.html

Create a new project using the SeLion maven archetype

mvn archetype:generate -B -DartifactId=Sample -Dversion=1.0.0 -DgroupId=com.mycompany.myproject \
 -DarchetypeGroupId=com.paypal.selion -DarchetypeArtifactId=SeLion-Archetype -DarchetypeVersion=1.2.0

Client module (includes SeLion DataProviders)

<dependency>
    <groupId>com.paypal.selion</groupId>
    <artifactId>SeLion</artifactId>
    <version>1.2.0</version>
</dependency>

SeLion-DataProviders only

<dependency>
  <groupId>com.paypal.selion</groupId>
  <artifactId>SeLion-DataProviders</artifactId>
  <version>1.2.0</version>
</dependency

SeLion Grid enhancements -- Required for local run support with the Client module

<dependency>
  <groupId>com.paypal.selion</groupId>
  <artifactId>SeLion-Grid</artifactId>
  <version>1.2.0</version>
</dependency

SeLion Code Generator Maven plugin -- Adds "page object" code generation

<plugin>
    <groupId>com.paypal.selion</groupId>
    <artifactId>SeLion-Code-Generator</artifactId>
    <version>1.2.0</version>
    <executions>
        <execution>
            <phase>generate-sources</phase>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <basePackage>coo.foo.bar</basePackage>
    </configuration>
</plugin>

Run the SeLion Grid as a standalone selenium server

java -jar SeLion-Grid-1.2.0-jar-with-dependencies.jar

Run the SeLion Grid as a selenium hub

java -jar SeLion-Grid-1.2.0-jar-with-dependencies.jar -role hub

Run the SeLion Grid as a selenium web node

java -jar SeLion-Grid-1.2.0-jar-with-dependencies.jar -role node

Run the SeLion Grid as a Selendroid node (beta feature)

java -cp SeLion-Grid-1.2.0-jar-with-dependencies.jar com.paypal.selion.grid.SelendroidJarSpawner

Run the SeLion Grid as an ios-driver node (beta feature)

java -cp SeLion-Grid-1.2.0-jar-with-dependencies.jar com.paypal.selion.grid.IOSDriverJarSpawner

Run the SeLion Grid as an Appium node (beta feature)

java -cp SeLion-Grid-1.2.0-jar-with-dependencies.jar com.paypal.selion.grid.AppiumSpawner

Run the SeLion Grid as a Sauce labs proxy

java -cp SeLion-Grid-1.2.0-jar-with-dependencies.jar -role hub -type sauce

Contact

Feel free to ask questions and/or share ideas.

Submitting bugs and feature requests

We use GitHub for tracking issues. Please scan the list of GitHub Issues before filing a new one.

Contributing

Your contribution is welcome and appreciated!

  • Code Development is done on the develop branch.
  • Documentation is done on the gh-pages branch.
  1. Complete and return either the Personal or Corporate CLA.
  2. Make sure your ~/.gitconfig file has your full name with proper use of case as user.name and your real email address as user.email. GitHub has a nice write-up on this.
  3. Make sure you rebase off of the latest upstream version before submitting your pull request.

Areas that need contribution

  1. Project Documentation and/or Project Website.
  2. Project Tests and/or Testing.
  3. Any open item from GitHub Issues.
  4. Support for additional data formats such as CSV for data driven testing.

Projects we depend on that need contributors

Current version

1.2.0 (Selenium 2.53.x based)

Development version

2.0.0-SNAPSHOT (Selenium 3.x based)

License

Code - Apache Software License v2.0

Documentation and Site - Creative Commons Attribution 4.0 International License