All Projects → luuizeduardo → wdio-automation

luuizeduardo / wdio-automation

Licence: other
Functional test automation with wdio + page objects + selenium standalone + docker

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to wdio-automation

protractor-element-extend
Module, that helps you to extend ElementFinder in your own custom fragments
Stars: ✭ 22 (-8.33%)
Mutual labels:  pageobject
wdio-intercept-service
🕸 Capture and assert HTTP ajax calls in webdriver.io
Stars: ✭ 101 (+320.83%)
Mutual labels:  wdio
Codeceptjs
Supercharged End 2 End Testing Framework for NodeJS
Stars: ✭ 3,592 (+14866.67%)
Mutual labels:  pageobject
aquality-selenium-java
Aquality Selenium is a library built over Selenium WebDriver tool that allows to automate work with web browsers. Selenium WebDriver requires some skill and experience. So, Aquality Selenium suggests simplified and most importantly safer and more stable way to work with Selenium WebDriver.
Stars: ✭ 41 (+70.83%)
Mutual labels:  pageobject
page-modeller
⚙️ Browser DevTools extension for modelling web pages for automation.
Stars: ✭ 66 (+175%)
Mutual labels:  pageobject
OneFramework
Automation for iOS, Android, & Web Apps with one codebase. Like it, Star it & spread the word !!!
Stars: ✭ 46 (+91.67%)
Mutual labels:  pageobject
behat-3-kickstart
Behat 3/Mink and Guzzle for API testing. Code follows PageObjects approach. Saucelabs integration.
Stars: ✭ 13 (-45.83%)
Mutual labels:  pageobject
robotframework-pageobjectlibrary
Lightweight keyword library for implementing the PageObject pattern in Robot Framework
Stars: ✭ 76 (+216.67%)
Mutual labels:  pageobject
selenium-appium
selenium-webdriver+appium: A bridge to make selenium-webdriver to drive appium to do native app testing
Stars: ✭ 35 (+45.83%)
Mutual labels:  pageobject
You Dont Know Js
A book series on JavaScript. @YDKJS on twitter.
Stars: ✭ 147,493 (+614454.17%)
Mutual labels:  closures
Closures
Swifty closures for UIKit and Foundation
Stars: ✭ 1,720 (+7066.67%)
Mutual labels:  closures
Underscores.jl
Underscore placeholders for convenient closure syntax
Stars: ✭ 65 (+170.83%)
Mutual labels:  closures
Selector-Closure
A light way to convert objc target-action style to closure
Stars: ✭ 14 (-41.67%)
Mutual labels:  closures
FastClosures.jl
Faster closure variable capture
Stars: ✭ 39 (+62.5%)
Mutual labels:  closures
learn-swift-with-bob
Learn Swift 4 with Bob: Intermediate to Advanced Swift 4 Course
Stars: ✭ 22 (-8.33%)
Mutual labels:  closures
wdio-video-reporter
Reporter for WebdriverIO v6 that makes videos of failed tests and has optional allure integration
Stars: ✭ 54 (+125%)
Mutual labels:  wdio

Functional automation with WebDriver.io

Build Status

This repository was created to functional test automation of automation practice website.

Tecnologies used:

Setting up Report Portal

ReportPortal is a service, that provides increased capabilities to speed up results analysis and reporting through the use of built-in analytic features.

Follow steps here to install the service on Docker.

Setup

The guide goes throught steps required to setup test automation project based on WebDriver.io in order to work with Report Portal or Allure Reports.

Preparing Report Portal

In order to report test execution results to Report Portal, test automation project needs to provide the following info:

  • Report Portal instance address the results will be reported to.
  • User identity the results will be uploaded by.
  • Project name.
  • Test launch properties.

Login to a service instance and perform the next steps:

  1. Go through the projects list and pick the one where test results are expected to come into. If there no such project, go to Administrate->Add project and create it.
  2. Take uuid from Profile screen. The value will be used to authorize test automation project to the service.
  3. Keep sensitive data separatedly. It is recommended to keep sensitive data in secret, so we are not going to commit any of this. Let's use dotenv to conveniently provide and access such data in the project. Install it with npm i dotenv -D and then create .env file in the project root with values for these variables:
  • RP_USERNAME: Name of the user who will be used by auto test to verify.
  • RP_PASSWORD: User password.
  • RP_USERUUID: User UUID. Refer to Preparing Report Portal for instructions how to get it.
  • RP_ENDPOINT: Address of report portal.
  • RP_PROJECT: Project that you create in step 1.
  1. Modify WDIO config to support ReportPortal. The final step we need to do is to notify WDIO that we want to use NPM modules responsible for integration with RP. Report Portal support is enabled by 2 NPM modules: wdio-reportportal-reporter and wdio-reportportal-service. Refer to the corresponding NPM repo pages for their description. To activate the modules insert the following snippet for project config file (wdio.config.js) at the beginning:
require('dotenv').config()
const reportportal = require('wdio-reportportal-reporter');
const RpService = require("wdio-reportportal-service");
const conf = JSON.parse(require('fs').readFileSync('reportportal.config.json'));
conf.reportPortalClientConfig.token = process.env.RP_USERUUID
conf.reportPortalClientConfig.endpoint = process.env.RP_ENDPOINT
conf.reportPortalClientConfig.project = process.env.RP_PROJECT
  1. Create a Selenium Grid container to run the project using multiple browsers. Run: docker-compose up -d.
  2. Install the dependencies of this project with npm install.

Allure reports (default)

The default report generator is Allure Reports. This is the reporter that you will use when the test suit is executed.

Running test suit

To run our test suit:

  • Open terminal.
  • Navigate to the path the project was cloned in.
  • Run npm test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].