{"id":21169744,"url":"https://github.com/sadabnepal/webdriverioappiummochajs","last_synced_at":"2026-05-19T11:31:40.982Z","repository":{"id":43747899,"uuid":"450593055","full_name":"sadabnepal/WebdriverIOAppiumMochaJS","owner":"sadabnepal","description":"Mobile Test framework using WebdriverIO and Appium with mocha framework","archived":false,"fork":false,"pushed_at":"2022-02-20T05:51:23.000Z","size":4238,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T10:50:54.224Z","etag":null,"topics":["appium","mobile-testing","mocha","webdriverio","webdriverio-boilerplate-framework"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sadabnepal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-01-21T18:07:07.000Z","updated_at":"2024-06-18T17:25:33.000Z","dependencies_parsed_at":"2022-08-21T21:00:37.729Z","dependency_job_id":null,"html_url":"https://github.com/sadabnepal/WebdriverIOAppiumMochaJS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sadabnepal%2FWebdriverIOAppiumMochaJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sadabnepal%2FWebdriverIOAppiumMochaJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sadabnepal%2FWebdriverIOAppiumMochaJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sadabnepal%2FWebdriverIOAppiumMochaJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sadabnepal","download_url":"https://codeload.github.com/sadabnepal/WebdriverIOAppiumMochaJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243616357,"owners_count":20319884,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appium","mobile-testing","mocha","webdriverio","webdriverio-boilerplate-framework"],"created_at":"2024-11-20T15:53:34.947Z","updated_at":"2026-05-19T11:31:40.951Z","avatar_url":"https://github.com/sadabnepal.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e Mobile Test Automation Framework | WebdriverIO | Appium \u003c/h2\u003e\n\n\n### Requirements:\n[![NodeJs](https://img.shields.io/badge/-NodeJS-%23339933?logo=npm)](https://nodejs.org/en/download/)\n[![Appium-Inspector](https://img.shields.io/badge/-Appium%20Inspector-662d91?logo=appium\u0026logoColor=black)](https://github.com/appium/appium-inspector/releases)\n[![AppiumDriver](https://img.shields.io/badge/-Appium%20Driver-662d91?logo=Appium\u0026logoColor=white)](https://appiumpro.com/editions/122-installing-appium-20-and-the-driver-and-plugins-cli)\n[![AndroidStudio](https://img.shields.io/badge/-Android%20Studio-3DDC84?logo=android-studio\u0026logoColor=white)](https://developer.android.com/studio)\n[![Java](https://img.shields.io/badge/-JDK-%23007396?logo=java\u0026logoColor=black\u0026)](https://www.oracle.com/java/technologies/downloads/)\n[![VSCode](https://img.shields.io/badge/-Visual%20Studio%20Code-%233178C6?logo=visual-studio-code)](https://code.visualstudio.com/download)\n\n### Getting Started:\n\n#### Installing Appium on a local machine\n\u003e There are several documents and instructions on the internet to install Appium on your local machine.\nThis is just one of the many ;-)\n\nTo setup the local test environment the following needs to be installed:\n- [appium](https://github.com/appium/appium) with `npm install appium@next -g`\n- [appium-doctor](https://github.com/appium/appium-doctor) with `npm install appium-doctor -g`\n- [appium-desktop](https://github.com/appium/appium-desktop) This one needs to be downloaded from [here](https://github.com/appium/appium-desktop/releases) and pick the latest stable releases\n\n#### Setup Android SDK path environment variable\n```\n- ANDROID_HOME = \u003cpath to Sdk folder\u003e\n- %ANDROID_HOME%\\tools [path variable]\n- %ANDROID_HOME%\\tools\\bin  [path variable]\n- %ANDROID_HOME%\\platform-tools  [path variable]\n```\n\n#### Setup/Create virtual device on Android studio:\n```\n1] Open Android Studio\n2] Click on More Actions \n   --\u003e AVD Manager \n   --\u003e Create Virtual Device \n   --\u003e Select the device and OS version (from below device details) \n   --\u003e Finish\n3] Once Virtual device is created, click on Launch this AVD in the emulator.\n4] Command to view the list of devices attached `adb devices`\n```\n\n```\nDevice 1: Pixel 3 - version 11\nDevice 2: Nexus 6 - version 10 [ if you want to run tests in parallel ] \n```\n\n#### Clone repository:\n```bash\ngit clone https://github.com/sadabnepal/WebdriverIOAppiumMochaJS.git\nNavigate to `WebdriverIOAppiumMochaJS`\n```\nNote: all npm command should be executed from root project folder.\n\n#### Install dependencies:\n```bash\nnpm install\n```\n\n#### Verify appium drivers:\n```\nappium driver list\n\nSample output log of driver\n-----------------------------\n✔ Listing available drivers\n- uiautomator2@1.75.0 [installed (NPM)]\n- xcuitest [not installed]\n```\n\n\u003e If drivers are not installed then run below commnad as required:\n```\nappium driver install uiautomator2  [ android driver ]\nappium driver install xcuitest      [ ios driver ]\n```\n\n#### Verify all pre-requisite for android:\n\u003e appium-doctor is used to diagnose and fix common Node, iOS and Android configuration issues before starting Appium. You only run it once to check your local machine. See an example output below.\n```\nappium-doctor\n\nSample output log of configuration [ all option should be green checked]\n-----------------------------\ninfo AppiumDoctor Appium Doctor v.1.16.0\ninfo AppiumDoctor ### Diagnostic for necessary dependencies starting ###\ninfo AppiumDoctor  ✔ The Node.js binary was found at: C:\\Program Files\\nodejs\\node.EXE\ninfo AppiumDoctor  ✔ Node version is 14.17.3\ninfo AppiumDoctor  ✔ ANDROID_HOME is set to:\u003cAPP_DATA_LOCAL_PATH\u003e\\Android\\Sdk\ninfo AppiumDoctor  ✔ JAVA_HOME is set to: \u003cJDK_PATH\u003e\ninfo AppiumDoctor    Checking adb, android, emulator\ninfo AppiumDoctor      'adb' is in \u003cAPP_DATA_LOCAL_PATH\u003e\\Android\\Sdk\\platform-tools\\adb.exe\ninfo AppiumDoctor      'android' is in \u003cAPP_DATA_LOCAL_PATH\u003e\\Android\\Sdk\\tools\\android.bat\ninfo AppiumDoctor      'emulator' is in \u003cAPP_DATA_LOCAL_PATH\u003e\\Android\\Sdk\\emulator\\emulator.exe      \ninfo AppiumDoctor  ✔ adb, android, emulator exist: \u003cAPP_DATA_LOCAL_PATH\u003e\\Android\\Sdk\ninfo AppiumDoctor  ✔ 'bin' subfolder exists under '\u003cJDK_PATH\u003e\\jdk-11.0.12.7-hotspot'\n```\n\n#### .env file data update\n\u003ci\u003eNote: create .env file in root project folder, update required details\u003c/i\u003e\n```\nRUN_MODE=parallel  # Add this only when you want to run test in both devices\n\nEMULATOR_DEVICE1_ID=Pixel_3\nEMULATOR_DEVICE1_NAME=Pixel 3\nEMULATOR_DEVICE1_VERSION=11\n\nEMULATOR_DEVICE2_ID=Nexus 6\nEMULATOR_DEVICE2_NAME=Nexus_6\nEMULATOR_DEVICE2_VERSION=10\n\nBROWSERSTACK_USERNAME=\nBROWSERSTACK_ACCESS_KEY=\n\nBROWSERSTACK_ANDROID_APP_ID=\nBROWSERSTACK_ANDROID_DEVICE=\nBROWSERSTACK_ANDROID_VERSION=\n\nBROWSERSTACK_IOS_APP_ID=\nBROWSERSTACK_IOS_DEVICE=\nBROWSERSTACK_IOS_VERSION=\n```\n\n#### SetUp BrowserStack\n```\n- Create account\n- Find username, access key\n- Upload Android (.apk) and IOS (.ipa) files used in project\n- Note down app id for both\n- Select device for both android and ios\n- Update all details in .env file\n```\n\n### Run Test:\n```\nnpm test\n```\n\n### Generate Report:\n```\nnpm run report\n```\n\n### Sample Report\n![report](https://user-images.githubusercontent.com/65847528/153757781-c83b8aa9-52f3-4475-b4a0-4c0c3ae8cb55.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsadabnepal%2Fwebdriverioappiummochajs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsadabnepal%2Fwebdriverioappiummochajs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsadabnepal%2Fwebdriverioappiummochajs/lists"}