skillfed

percy-appium-app

Python client for visual testing with Percy for mobile apps

percy-appium-app v2.0.8 283.7K downloads/30d#8,072 on PyPI1
Permissive license MIT Active released

What it is and what it does

percy-appium-app is a Python client that connects Appium-driven mobile app tests to Percy's visual testing service. It provides a single function, percy_screenshot(), that captures app screens during test execution and sends them to Percy for baseline comparison and visual regression detection. The package works with both native and hybrid mobile apps, and integrates with Appium-Python-Client and the Percy CLI to manage builds and upload results.

The package is designed for developers running Appium tests who want automated visual regression detection without manually comparing screenshots. It requires the Percy CLI to be installed separately and a Percy project token to function; without the CLI running, screenshots are silently skipped. It supports device-specific metadata, fullpage scrolling capture (alpha), and fine-grained control over which UI regions to ignore or focus on during visual diffing.

Use it for:

  • Detect unintended visual changes in mobile app UI across test runs by comparing screenshots against Percy baselines.
  • Test responsive layouts and device-specific rendering by capturing screenshots with device name and orientation metadata.
  • Ignore dynamic or non-critical UI elements (animations, timestamps, ads) during visual comparison using xpath, selector, or coordinate-based ignore regions.
  • Validate fullpage scrollable content in mobile apps by capturing entire scroll areas rather than single viewport screenshots.
  • Integrate visual testing into CI/CD pipelines by running Appium tests under 'percy app:exec' to automatically create and track visual builds.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Integrates Percy visual testing into Python Appium tests, capturing and comparing mobile app screenshots against baselines to detect visual regressions.

Yes, with conditions. Install if you are already using Appium for mobile testing and need visual regression detection integrated into your test suite. The low install friction and active maintenance are positive signals. However, the Pre-Alpha status means the API and features may change; start with a non-critical test suite and verify compatibility with your Appium and urllib3 versions before relying on it in production. Requires separate Percy CLI setup and a paid Percy account to upload results.

Install

percy-appium-app on PyPI

pip

pip install percy-appium-app

uv

uv add percy-appium-app

poetry

poetry add percy-appium-app

Installing percy-appium-app

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with a recent release 50 days ago; however, the package is classified as Pre-Alpha, suggesting it may still be evolving and not yet production-stable.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for most commercial and open-source projects.

Quickstart

pip install percy-appium-app

from appium import webdriver
from percy import percy_screenshot

driver = webdriver.Remote("https://user:key@hub.browserstack.com/wd/hub", caps)
percy_screenshot(driver, 'screenshot_name')

Requires @percy/cli to be installed separately via npm and PERCY_TOKEN environment variable set when running tests via 'percy app:exec' to upload screenshots.

Verify before relying

  • Whether the package works reliably on Python versions beyond 3.9 despite claiming 3.6+ support.
  • Current status of the urllib3 compatibility issue mentioned in the description and whether it affects typical installations.
  • Whether the alpha-stage fullpage and scrollable element features are production-ready or experimental.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 2 — Appium-Python-Client, requests
Maintenance actively maintained — 50 days since the last release
Last repo commit
First released
Downloads 283,721/month — #8,072 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: percy_appium_app-2.0.8-py3-none-any.whl

Keywords: appium, percy, visual, testing

Development Status :: 2 - Pre-AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

appium visual testingmobile app screenshot comparisonpercy python integrationvisual regression testing appiummobile visual testing framework
mobile-testingvisual-regressionappium

More Testing packages

pluggy

Pluggy provides a plugin system that lets you…

permissive · top 100 on PyPI

pytest

pytest is a testing framework that lets you…

permissive · top 100 on PyPI

virtualenv

virtualenv creates isolated Python environments…

permissive · top 100 on PyPI

coverage

Coverage.py measures which lines of Python code…

permissive · top 1,000 on PyPI

pytest-asyncio

pytest-asyncio is a pytest plugin that enables…

permissive · top 1,000 on PyPI

pytest-json-ctrf

A pytest plugin that generates test reports in…

permissive · top 1,000 on PyPI

percy-selenium

Integrates Percy visual testing into Python…

permissive · top 15,000 on PyPI

eyes-selenium

Visual testing SDK for Selenium and Appium…

unclear · top 15,000 on PyPI

lambdatest-selenium-driver

Captures visual snapshots during Selenium tests…

permissive · top 15,000 on PyPI

Appium-Python-Client

Extends Selenium Python bindings with…

permissive · top 5,000 on PyPI

pytest-textual-snapshot

A pytest plugin that captures SVG screenshots…

permissive · top 15,000 on PyPI

PyScreeze

PyScreeze captures screenshots and locates…

permissive · top 5,000 on PyPI

robotframework-appiumlibrary

AppiumLibrary is a Robot Framework library that…

permissive · top 15,000 on PyPI

Selenium-Screenshot

Captures full-page or element-level screenshots…

permissive · top 15,000 on PyPI

pytest-playwright-visual

A pytest plugin that captures and compares…

permissive · top 15,000 on PyPI

core-universal

Provides the Applitools Eyes Core SDK Server…

unclear · top 15,000 on PyPI