paypal / SeLion

Enabling Test Automation in Java
http://selion.io
Apache License 2.0
281 stars 233 forks source link
android appium framework ios ios-driver java selendroid selenium selenium-grid selenium-java selion selion-dataproviders selion-grid testing testng webdriver

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.

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!

  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