terminal
arrow_back Back to Portfolio
Mobile Testing

QA Control Center for Appium Practice

Client Open-source Android QA Automation Lab
Case Date Jun 2026
Appium UiAutomator2 Android Emulator ADB Python Pytest Selenium Appium Python Client Page Object Model Explicit Waits Node.js JavaScript HTML CSS python-dotenv OWASP MASVS Pytest Collect Evidence Reports HTML Reports Markdown Reports JSON Reports ZIP Artifacts
Official QA Control Center dashboard screenshot

The Challenge

The project needed to turn a large mobile automation suite into a portfolio-grade QA product, not just a folder of Pytest files. The target app, Appium Practice, exposes 12 visible modules plus Expand Bank flows, so the suite had to cover happy paths, negative paths, boundaries, accessibility, reliability, performance and OWASP MASVS security checks.

The main risk was operational: long mobile suites can destabilize the Android emulator. Results also needed to be reviewable outside the terminal, with screenshots, page source, logs, video manifests and downloadable reports that make the work credible on GitHub and in a client-facing case study.

The Solution

I built a local QA Control Center connected to Appium 3, UiAutomator2, Android Emulator, ADB and Pytest. The dashboard exposes environment health, Appium/emulator status, Play Store validation, sequential execution mode, recent run history and a bilingual test catalog.

  • Framework logic: Pytest fixtures create the driver from explicit Android capabilities, settings are loaded from .env, and Page Objects keep locators and business actions separate from assertions.
  • Execution logic: tests run by phase to avoid emulator conflicts, while the dashboard can also execute one nodeid or discover the full catalog through pytest --collect-only.
  • Evidence logic: every dashboard-triggered run can generate HTML, Markdown, JSON and ZIP packages with console logs, screenshots, XML source, video manifests and per-test artifacts.
  • Safety logic: the Node.js dashboard exposes only allowlisted QA actions, keeping arbitrary shell execution out of the browser surface.
Visual evidence for QA Control Center for Appium Practice

Official live QA Control Center dashboard with Appium OK and Emulator OK

Visual evidence for QA Control Center for Appium Practice

Android emulator running The Practice App used by the Appium automation suite

emoji_events

Impact & Results

The platform is now a complete mobile QA case study: the live dashboard shows Appium OK and Emulator OK, The Practice App is active on the Android emulator, and the catalog documents 140 Pytest-discovered tests.

Covered areas include Counter, Echo Message, Languages, Countries List, Gesture Demo, Touch Me, Scale Image, Drag and Drop, Alert Dialog, WebView, Animation Demo and Expand Bank. Bank coverage includes Auth, Make Payment, Mortgage, Expense and Boundary flows. Security coverage includes OWASP MASVS baseline plus extended black-box checks with 11 passing checks and 1 tracked xfail for Android backup exposure.

Project Overview

language Live Demo
open_in_new
code View Source
open_in_new
Key Technologies
Appium UiAutomator2 Android Emulator ADB Python Pytest Selenium Appium Python Client Page Object Model Explicit Waits Node.js JavaScript HTML CSS python-dotenv OWASP MASVS Pytest Collect Evidence Reports HTML Reports Markdown Reports JSON Reports ZIP Artifacts