WebdriverIO + Cucumber BDD test suite for the BStackBank Android app, running on BrowserStack App Automate.
Target devices: Google Pixel 8 / Android 14, Xiaomi Redmi Note 11 / Android 11
Note: Use a Non-Samsung device, as the locators are mapped as per it.
-
Node.js ≥ 18
-
BrowserStack credentials — copy
.env.exampleto.envand fill in your values:cp .env.example .env
Then open
.envand set:BROWSERSTACK_USERNAME=<your-username> BROWSERSTACK_ACCESS_KEY=<your-access-key> BS_APP_ID=bs://<your-app-id>Find your credentials at BrowserStack App Automate dashboard.
-
Upload the app to BrowserStack to get your
BS_APP_ID:The app APK is: app-release.apk
Upload it using the BrowserStack REST API:
curl -u "YOUR_USERNAME:YOUR_ACCESS_KEY" \ -X POST "https://api-cloud.browserstack.com/app-automate/upload" \ -F "file=@your-path/app-release.apk"
The response will contain an
app_urllikebs://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. Set that asBS_APP_IDin your.env.Full upload docs: Upload app from filesystem – BrowserStack
-
Install dependencies:
npm install
npm testnpm run test:pixelnpm run test:signup # Session 1: signup only
npm run test:view-balance # Standalone: signup → view balance → delete account
npm run test:delete-account # Delete account only (requires active session from signup)npm run test:xiaomi # Full suite on Xiaomi Redmi Note 11 / Android 11npm run test:smoke # @smoke scenarios
npm run test:regression # @regression scenariosPLATFORM=android npx wdio run wdio.conf.js --spec features/signup.featureThe suite runs as 2 parallel sessions:
| Feature | Scenario | Description |
|---|---|---|
signup.feature |
Signup with auto-credentials and land on home dashboard | Autofill → eye icon → Create Account → home dashboard |
delete-account.feature |
Go to profile and delete the account | Profile tab → scroll → Delete Account → confirm → login screen |
| Feature | Scenario | Description |
|---|---|---|
view-balance.feature |
Signup, view balance, then delete account | Signup → home dashboard → tap eye icon → biometric PASS → balance revealed → delete account |