SeLion

Enabling Test Automation in Java

Github星跟蹤圖

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

主要指標

概覽
名稱與所有者paypal/SeLion
主編程語言Java
編程語言Java (語言數: 6)
平台
許可證Apache License 2.0
所有者活动
創建於2014-08-13 20:52:57
推送於2023-11-23 19:53:35
最后一次提交
發布數5
最新版本名稱v1.2.1-grid (發布於 )
第一版名稱v1.0.0-SNAPSHOT-M4 (發布於 )
用户参与
星數283
關注者數61
派生數235
提交數345
已啟用問題?
問題數165
打開的問題數23
拉請求數106
打開的拉請求數8
關閉的拉請求數121
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?