Boilerplate project to run MOBILE Test Automation with WebdriverIO v7, Mocha, Appium, Allure reporting and Momentum Suite cloud device farm support

Overview

WebdriverIO Mocha Appium Momentumsuite

image WebdriverIO Integration with local or Momentum Suite real mobile farm devices

Supports

  • Native or Hybrid Android and iOS apps (APK, AAB, IPA)
  • Chrome mobileweb testing on Android devices
  • Safari mobileweb testing on iOS devices
  • Page Object Model (POM) usage with wdio
  • Example BDD scenarios with cucumber.js and wdio
  • Testing with multiple files
  • Parallel testing on multi mobile devices
  • Local testing or using Momentum Suite's 150+ Android or iOS devices
  • Auto generated HTML Allure test report after test
  • Take screenshot on test failure

Setup

Requirements:

  • WebdriverIO v7 requires Node.js version 14 or higher. If you don't have Node installed, download it from here.
  • Install the Allure command-line tool, and process the results directory after test run.

Install the dependencies:

Run the following command in project's base directory :

npm i

Getting Started

Getting Started with Appium tests using WebdriverIO on Momentum Suite couldn't be easier! With a Momentum Suite account, You need 4 things to start without any Appium or Android SDK dependencies.

  • momentumsuite.user: Usually it could be your email address
  • momentumsuite.token: Your unique access token learned from momentumsuite.com
  • momentumsuite.deviceList: Comma seperated mobile device ID list (4 digit number) to run the test. First number will be your default phone for all except parallel-testing.
  • momentumsuite.appPath: Your uploaded IPA, APK or AAB app file from Momentum Suite Application Library. Example format is ms://

Do not forget to check hostname, port, path and protocol values on your test-settings.js file.

Start with Android device: Open for editing your test-settings.js file under root directory.

Set momentumsuite.user, momentumsuite.token, momentumsuite.deviceList, momentumsuite.appPath.

Test script is available in getting-started directory

Run the following command in project's base directory :

npm run android-first

Start with iOS device: Same with Android, but need to change test-settings.js file.

Run the following command in project's base directory :

npm run ios-first

Start with local testing: Use Local testing that access resources hosted in your development or testing environments. You need to install Appium and it's all dependencies like Android SDK, Xcode, Command Line tools. At the same sime you will need to run a real device or simulator/emulator. Do not forget to check hostname, port, path and protocol values on your test-settings.js file with your own Appium server.

Run the following command in project's base directory :

npm run android-local

All available commands to start mobile testing:

npm run android-first
npm run android-parallel
npm run android-local
npm run android-pom
npm run android-cucumber
npm run android-multiple
npm run android-chrome
npm run ios-first
npm run ios-parallel
npm run ios-local
npm run ios-pom
npm run ios-cucumber
npm run ios-multiple
npm run ios-safari

Allure Reporting

Run the following command in project's base directory after test run has been completed. This command will open a browser window with HTML test results.

allure open

Getting Help

If you are running into any issues or have any queries, please check Momentum Suite Contact page or get in touch with us.

You might also like...

🤪 A linter, prettier, and test suite that does everything as-simple-as-possible.

🤪 A linter, prettier, and test suite that does everything as-simple-as-possible.

Features Fully Featured Code Grading Knowing if you need to work on your code is important- that's why we grade your code automatically. But, unlike o

Sep 25, 2022

REST API complete test suite using openapi.json

Openapi Test Suite Objective This package aims to solve the following two problems: Maintenance is a big problem to solve in any test suite. As the AP

Nov 3, 2022

Device.js is a JavaScript library to detect device, viewport, and browser information using plain JavaScript.

Device.js Device.js is a JavaScript library to detect device, viewport, and browser information using plain JavaScript. Compatibility Works with all m

Dec 16, 2022

This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoDB

FARM-Stack-Course This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoD

Jan 2, 2023

A FARM stack app automated with docker-compose

A FARM stack app automated with docker-compose

Expense-Tracker An expense tracker built with FARM stack (FastAPI,React,MongoDB) Requirements Docker Docker-Compose Install and Run To install and run

Oct 10, 2022

Service Installer for VMware Tanzu is a one-click automation solution that enables VMware field engineers to easily and rapidly install, configure, and operate VMware Tanzu services across a variety of cloud infrastructures.

Service Installer for VMware Tanzu Service Installer for VMware Tanzu seeks to provide a one-click automation solution to enable our VMware engineers

Dec 1, 2022

ChainJet is a workflow automation platform specialized in blockchain and cloud infrastructure.

A workflow automation platform specialized on blockchain, with more than 300 integrations. Description ChainJet is a workflow automation platform spec

Dec 24, 2022

No-code test automation solution for end-to-end testing

No-code test automation solution for end-to-end testing

No-code test automation tool for end-to-end testing Table of Contents About Features Installation Usage Creating tests Running tests Roadmap Our Team

Oct 18, 2022

Solana blockchain candy machine app boilerplate on top of Metaplex Candy Machine. NextJS, Tailwind, Anchor, SolanaLabs.React, dev/mainnet automation scripts.

NFT Candy Factory NOTE: This repo will prob only work on unix-based environments. The NFT Candy Factory project is designed to let users fork, customi

Dec 30, 2022
Comments
  • Bump minimatch and recursive-readdir

    Bump minimatch and recursive-readdir

    Bumps minimatch and recursive-readdir. These dependencies needed to be updated together. Updates minimatch from 3.0.4 to 3.1.2

    Commits

    Updates recursive-readdir from 2.2.2 to 2.2.3

    Changelog

    Sourced from recursive-readdir's changelog.

    v2.2.3 - Mon, 19 Sep 2016 21:55:22 GMT

    v2.1.0 - Mon, 19 Sep 2016 21:55:22 GMT

    v2.0.0 - Wed, 06 Apr 2016 04:31:02 GMT

    v1.3.0 - Wed, 14 Oct 2015 14:35:55 GMT

    v1.2.1 - Wed, 14 Jan 2015 16:49:55 GMT

    Commits
    Maintainer changes

    This version was pushed to npm by bnb, a new releaser for recursive-readdir since your current version.


    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • test-settings.js file should be easier for each platform

    test-settings.js file should be easier for each platform

    Python repodaki gibi test ayarları daha okunabilir ve editlenebilir hale getirilebilir. Örnek https://github.com/momentumsuite/python-pytest-appium-momentumsuite/blob/main/test_settings.json

    opened by momentumsuite 0
Owner
Momentum Suite
Cross-Platform E2E Software Testing Solution
Momentum Suite
Repo with a project structure using TS + Appium + WebdriverIO

Structure for mobile ui tests using ts + appium + webdriverio Para acessar a versão em Português do Brasil, basta clicar aqui! ???? This structure is

Maximiliano Alves 14 Sep 13, 2022
Android ROM device support and bringup tool, designed for maximum automation and speed.

adevtool Android ROM device support and bringup tool, designed for maximum automation and speed. Features This tool automates the following tasks for

Danny Lin 186 Dec 21, 2022
This repository contains a basic example on how to set up and run test automation jobs with CircleCI and report results to Testmo.

CircleCI test automation example This repository contains a basic example on how to set up and run test automation jobs with CircleCI and report resul

Testmo 2 Dec 23, 2021
Dank Memer (Selfbot) Farm with slash commands support and random delays and breaks to avoid any suspicion

Slashy Slashy is a Dank Memer (Selfbot) Farm with slash commands support and random delays and breaks to avoid any suspicion. This is completely undet

Taha Gorme 16 Dec 30, 2022
Momentum Mod's game client panorama (UI) code.

Momentum Mod is a standalone game built on the Source Engine, aiming to centralize movement gametypes found in CS:S, CS:GO, and TF2. Momentum Mod Pano

Momentum Mod 14 Dec 15, 2022
A new generation GUI automation framework for Web and Desktop Application Testing and Automation.

Clicknium-docs Clicknium is a new generation GUI automation framework for all types of applications. It provides easy and smooth developer experience

null 109 Dec 19, 2022
1kb js library contains development debugging, error monitoring and reporting, user problem localization features

1kb js library contains development debugging, error monitoring and reporting, user problem localization features

腾讯 AlloyTeam 1.4k Dec 22, 2022
Running webdriverio in docker containers so you can easily add tests to your CI.

WebDriverIO tests in Docker Running WebdriverIO tests in a docker container allows you to easily add tests to your CI. About This project uses the aut

Promenade 6 Dec 3, 2022
PMR - PT & VA Management & Reporting

PMR - PT & VA Management & Reporting is a collaboration platform for pen-testing. PMR Platform is maintained by @SabrySecurity https://sabry.sa

null 10 Nov 19, 2022
Generate WebdriverIO Tests from Google Chrome DevTools Recordings.

WebdriverIO Chrome Recorder This repo provide tools to convert JSON user flows from Google Chrome DevTools Recorder to WebdriverIO test scripts progra

WebdriverIO 10 Sep 28, 2022