{"id":26233669,"url":"https://github.com/docknetwork/dock-app-testautomation","last_synced_at":"2025-12-25T20:51:44.255Z","repository":{"id":190631930,"uuid":"441522992","full_name":"docknetwork/dock-app-testautomation","owner":"docknetwork","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-12T20:00:33.000Z","size":75753,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-13T21:48:05.401Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/docknetwork.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,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-12-24T17:36:03.000Z","updated_at":"2024-04-15T15:07:10.111Z","dependencies_parsed_at":"2023-10-23T20:24:21.496Z","dependency_job_id":"ef76373d-7bd0-492a-97af-81a2c6836c30","html_url":"https://github.com/docknetwork/dock-app-testautomation","commit_stats":null,"previous_names":["docknetwork/dock-app-testautomation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docknetwork%2Fdock-app-testautomation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docknetwork%2Fdock-app-testautomation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docknetwork%2Fdock-app-testautomation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/docknetwork%2Fdock-app-testautomation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/docknetwork","download_url":"https://codeload.github.com/docknetwork/dock-app-testautomation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243318783,"owners_count":20272145,"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":[],"created_at":"2025-03-13T01:17:01.740Z","updated_at":"2025-12-25T20:51:44.250Z","avatar_url":"https://github.com/docknetwork.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Truvera Wallet Smoke Tests\n\nSmoke test suite for the Truvera Wallet mobile application using Appium, WebdriverIO, and Mocha.\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Running Tests](#running-tests)\n- [Test Reports](#test-reports)\n- [CI/CD Integration](#cicd-integration)\n- [Project Structure](#project-structure)\n- [Configuration](#configuration)\n- [Contributing](#contributing)\n\n## Overview\n\nThis repository contains automated smoke tests for the Truvera Wallet Android application. The tests verify critical user flows including:\n\n- Wallet creation and setup\n- Passcode configuration\n- App navigation and UI elements\n- Core wallet functionality\n\n**Tech Stack:**\n- **Test Framework:** Mocha\n- **Automation Tool:** Appium with WebdriverIO\n- **Reporting:** Mochawesome, JUnit XML, CTRF\n- **CI/CD:** GitHub Actions\n\n## Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n### Required Software\n\n- **Node.js** 22.x or higher ([Download](https://nodejs.org/))\n- **Java Development Kit (JDK)** 17 ([Download](https://adoptium.net/))\n- **Android SDK** ([Download](https://developer.android.com/studio))\n- **Appium** 2.x ([Installation Guide](https://appium.io/docs/en/latest/quickstart/install/))\n\n### Android Setup\n\n1. **Install Android SDK Platform Tools:**\n   ```bash\n   # macOS (using Homebrew)\n   brew install --cask android-platform-tools\n\n   # Or download Android Studio which includes SDK tools\n   ```\n\n2. **Set environment variables:**\n   ```bash\n   # Add to ~/.zshrc or ~/.bash_profile\n   export ANDROID_HOME=$HOME/Library/Android/sdk\n   export PATH=$PATH:$ANDROID_HOME/platform-tools\n   export PATH=$PATH:$ANDROID_HOME/emulator\n   ```\n\n3. **Install Android Emulator:**\n   ```bash\n   # Create an AVD (Android Virtual Device)\n   # Recommended: Pixel 7 Pro with API Level 30\n   ```\n\n### Appium Setup\n\n1. **Install Appium globally:**\n   ```bash\n   npm install -g appium\n   ```\n\n2. **Install UiAutomator2 driver:**\n   ```bash\n   appium driver install uiautomator2\n   ```\n\n3. **Verify installation:**\n   ```bash\n   appium driver list\n   ```\n\n## Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/docknetwork/dock-app-testautomation.git\n   cd dock-app-testautomation\n   ```\n\n2. **Install dependencies:**\n   ```bash\n   npm install\n   ```\n\n3. **Place APK file:**\n   - Download or build the Truvera Wallet APK\n   - Place it in the `app/` directory with the name `truvera-wallet.apk`\n   ```bash\n   # Directory structure\n   app/\n   └── truvera-wallet.apk\n   ```\n\n## Running Tests\n\n### Mobile-Only Tests (Appium + Mocha)\n\n1. **Start Appium server:**\n   ```bash\n   appium\n   ```\n   The server will start on `http://localhost:4723`\n\n2. **Start Android Emulator:**\n   ```bash\n   # List available emulators\n   emulator -list-avds\n\n   # Start emulator\n   emulator -avd \u003cyour_avd_name\u003e\n   ```\n\n3. **Run tests:**\n   ```bash\n   # Run all mobile tests\n   npm test\n\n   # Run specific test\n   npm run test:wallet-creation\n   ```\n\n### Integration Tests (Playwright + Appium)\n\nIntegration tests combine web automation (Playwright) with mobile automation (Appium) to test complete flows between bank-demo.truvera.io and the Android wallet.\n\n1. **Ensure Appium and Android emulator are running** (see steps above)\n\n2. **Run integration tests:**\n   ```bash\n   # Run all integration tests\n   npm run test:integration\n\n   # Run with browser visible\n   npm run test:integration:headed\n   ```\n\nSee [test/integration/README.md](test/integration/README.md) for detailed integration test documentation.\n\n## Test Reports\n\nThe test suite generates multiple report formats:\n\n### 1. **Mochawesome Report** (HTML)\n- **Location:** `test-reports/mochawesome/report.html`\n- **Features:** Interactive HTML report with charts and screenshots\n- Open in browser for detailed test results\n\n### 3. **CTRF Report** (JSON)\n- **Location:** `ctrf/ctrf-report.json`\n- **Features:** Common Test Report Format for standardized reporting\n- Automatically published to GitHub Actions summary\n\n### 4. **Screenshots**\n- **Location:** `test-reports/screenshots/`\n- **Captured:** After each test (pass or fail)\n- **Naming:** `{status}-{test_name}-{timestamp}.png`\n\n## CI/CD Integration\n\n### GitHub Actions\n\nThe repository includes a comprehensive CI/CD workflow:\n\n**Workflow File:** `.github/workflows/smoke-tests.yml`\n\n**Triggers:**\n- Push to any branch\n- Manual workflow dispatch with optional build number\n\n**Features:**\n- Automated APK download from S3\n- Android emulator setup (Pixel 7 Pro, API 30)\n- Test execution with artifact retention\n- Multiple test reports (HTML, CTRF)\n- Slack notifications with test results\n- GitHub Actions summary with CTRF report\n\n**Manual Trigger:**\n```bash\n# Via GitHub UI: Actions \u003e End-to-end test \u003e Run workflow\n# Optionally provide build number (e.g., v1.7.0 build-904)\n```\n\n**Automatic Trigger:**\n- Runs on every push\n- Automatically uses latest build from S3\n\n### Slack Notifications\n\nTest results are sent to Slack with:\n- Build number and branch\n- Test summary (passed/failed/skipped)\n- Duration\n- Failed test names (if any)\n- Link to GitHub Actions run\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocknetwork%2Fdock-app-testautomation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdocknetwork%2Fdock-app-testautomation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdocknetwork%2Fdock-app-testautomation/lists"}