Giter Club home page Giter Club logo

nightwatchjs-framework's Introduction

Nightwatch-Cucumber Framework

Install NodeJS (Ubuntu)

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get install -y nodejs
nodejs -v
sudo npm i -g ntl

Install Docker (Ubuntu)

Docker - Docker Compose

Docker Usage (Ubuntu)

make build
make run browser=Chrome
make debug browser=Firefox
make clean

Docker Usage (Windows)

runDocker.bat
stopDocker.bat

About the framework

The test framework uses nightwatch, cucumber js, and nightwatch-cucumber to stitch them together.

We use docker compose to run a chromedriver image (like Selenium), that also runs a VNC Server, and an image with the tests and Nightwatch binary that runs the test.

Reports are written to the reports folder, and screenshots are available on failure in their respectively named folders.

You can watch the tests run by connecting to the VNC Server running on the chromedriver image (VNC port is forwarded to localhost:5900 from docker compose) or geckodriver/firefox (localhost:5901) with the password secret

Features

  • Can use Docker and Docker Compose to run the test cases
  • Create screenshots (on fails)
  • Support several browsers, like Chrome and Firefox driver (WebDriver). Also, headless browser
  • Integrate Cucumber framework (using Gherkin syntax and BDD-style) and support the POM pattern
  • Generate an HTML report
  • Send email reports
  • Support CLI and SSH connections
  • Use WebSocket to Debugger
  • Run parallel test cases on several browsers
  • Support ESLint (E.i: npm run -s eslint libs/email.js)
  • Integrate with Testrail

Future features

  • Record videos
  • Use custom assertions to generate logs
  • Slack notifications
  • Integrate with Jira, Saucelabs and BrowserStack
  • Connection with GCloud
  • Transfer files with SFTP protocol
  • Send test results to Cloud BD (non-relational database)
  • Use Machine Learning algorithms to improve the framework performance (result predictions and smart executions)
  • More ...

License

Released under the MIT license.

Author

Sergio GQ

Email: [email protected]

Skype: sergiogqts

nightwatchjs-framework's People

Contributors

sergioalberto avatar sgonzalezzenoss avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.