/NoraUi

Non-Regression Automation for User Interfaces

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

NoraUi

Non-Regression Automation for User Interfaces

Technical documentation

Public website for NoraUi (Non-Regression Automation for User Interfaces).

Javadocs

News

See change log for details

  • 2019-xx-xx: NoraUi [4.0.0] is in progress.
  • 2019-xx-xx: NoraUi [3.3.0] is in progress.
  • 2018-05-24: NoraUi [3.2.0] is released.
  • 2018-03-19: NoraUi [3.1.3] is released.
  • 2018-03-14: NoraUi [3.1.2] is released.
  • 2018-03-06: NoraUi [3.1.1] is released.
  • 2018-03-02: NoraUi [3.1.0] is released.
  • 2018-02-05: NoraUi [3.0.2] is released.
  • 2017-12-07: NoraUi [3.0.1] is released.
  • 2017-11-12: NoraUi [3.0.0] is released.
  • 2017-09-21: NoraUi [2.6.3] is prohibited.

How to migrate from [3.x.x] to [4.x.x]

  • You can use all new features from cucumber v4.x.x. (Use Cucumber Expressions)
  • You need use Cucumber Expressions instead of regular expressions
  • You need use java 8 instead of java 7.

How to migrate from [2.x.x] to [3.x.x] (mandatory)

  • -Dcucumber.options="--tags '@tag1 or @tag2 or @tag3 or @tag4'"
  • NoraUi use Oracle Jdbc Driver
  1. if you use Oracle Db provider, use com.oracle.jdbc:ojdbc8 dependency and configure your env with OTN: Sample(https://github.com/sgrillon14/MavenSampleOracleJdbc) (default)
  2. if you do not use Oracle Db provider, just exclude com.oracle.jdbc:ojdbc8 dependency in the noraui dependency call within your pom.xml. You can follow these instructions at https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html. It should look something like that :
<dependency>
    <groupId>com.github.noraui</groupId>
    <artifactId>noraui</artifactId>
    <version>${noraui.version}</version>
    <exclusions>
        <exclusion>
            <groupId>com.oracle.jdbc</groupId>
            <artifactId>ojdbc8</artifactId>
        </exclusion>
    </exclusions>
</dependency>
  • Change all "noraui" import to "com.github.noraui"
  • Change all private static Logger logger = Logger.getLogger by private static final Logger logger = LoggerFactory.getLogger
  • Change all import org.apache.log4j.Logger; by import org.slf4j.Logger; and import org.slf4j.LoggerFactory;
  • Change com.github.noraui.browser.DriverFactory#setProperty(String key, Properties propertyFile) to com.github.noraui.browser.DriverFactory#getProperty(String key, Properties propertyFile)
  • Change com.github.noraui.browser.DriverFactory#setIntProperty(String key, Properties propertyFile) to com.github.noraui.browser.DriverFactory#getIntProperty(String key, Properties propertyFile)
  • replace all step constructors by com.google.inject.Inject (inject pages)
  • replace loadAuthentication(String browser) by loadAuthentication(Cookie cookie)
  • replace PhantomJs by Chrome headless
  • replace springframework RestTemplate by OkHttp

Supported languages

These are the currently supported languages

  • English
  • French

Does NoraUi not support your language? Please help us with a PR!

Continuous Integration status

Build Status FOSSA Status Quality Gate SonarCloud Coverage SonarCloud Bugs SonarCloud Vulnerabilities Codacy Badge

:octocat: Contributors

GitHub contributors GitHub closed pull requests GitHub issues

Gitter chat

Join the chat at https://gitter.im/NoraUiChat

How to use

Stable:

Maven Central

SNAPSHOT:

<dependency>
    <groupId>com.github.noraui</groupId>
    <artifactId>noraui</artifactId>
    <version>3.3.0-SNAPSHOT</version>
</dependency>
<repository>
    <id>sonatype-snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>

Technology

  • Gherkin
  • Cucumber
  • Selenium
  • Webdriver
  • Java 8
  • Maven
  • Google guice
  • JUnit / Mockito / Cucumber

Run Anywhere

RunAnywhere

License

FOSSA Status license See LICENSE for details

/!\ CAUTION: NoraUi V2.x.x is prohibited.

These versions use the following dependency whose copyrights are not respected.

     <GroupId>com.github.noraui</groupId>
     <ArtifactId>cucumber-metrics</artifactId>

This dependency comes from a Pull Request (Cucumber-JVM: Metrics) proposal by sgrillon14 to open source library "Cucumber-JVM". Nobody has permission to copy this code let alone claim to be creator of it. This was noted in the README.md of the GitHub repository. This part has been officially integrated into NoraUi in V3.x.x which has an AGPL license.

These versions use the following dependency whose copyrights are not respected.

    <GroupId>com.github.noraui</groupId>
    <ArtifactId>ojdbc7</artifactId>

The NoraUi project had the temporary authorization of sonatype to publish this version. This was temporary because Oracle finally did not agree. Oracle has declined NoraUi's proposal and the deposit is now removed. The use by the NoraUi team was tolerated until the end of 2017 (It was noted in the README.md of the GitHub repository.) But is now forbidden for all.

Contributing

Before create issue check Ask at StackOverflow

The issue tracker is the preferred channel for bug reports, features requests and submitting pull requests.

For pull requests, read CONTRIBUTING before.

  • Step 1: Create a fork.
  • Step 2: Create a branch on this new fork.
  • Step 3: Sync your travis-ci account and guithub account.

howtocontribute-travis-ci-sync

  • Step 4: Flick the repository switch on.

howtocontribute-travis-ci-on

  • Step 5: Add OTN login/password in Travis-ci environnement.

howtocontribute-travis-ci-env-var

  • Step 6: Valid if Travis status is OK.
  • Step 7: Create pull request.

footer