Metadata-Version: 2.4
Name: appium-python-client-shadowstep
Version: 0.11.13
Summary: UI Testing Framework powered by Appium Python Client
Author-email: Klim Molokov <klim.molokov@yandex.ru>
License-Expression: MIT
Project-URL: Repository, https://github.com/molokov-klim/Appium-Python-Client-Shadowstep
Keywords: appium,testing,uiautomator2,android,automation,framework
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Appium-Python-Client==4.2.0
Requires-Dist: allure-pytest==2.13.2
Requires-Dist: zlib-compress==0.0.1
Requires-Dist: zlib-decompress==0.0.2
Requires-Dist: pylibjpeg==1.4.0
Requires-Dist: Pillow==9.5.0
Requires-Dist: requests==2.31.0
Requires-Dist: pyserial==3.5
Requires-Dist: opencv-python==4.8.0.74
Requires-Dist: pytesseract==0.3.10
Requires-Dist: numpy==1.25.1
Requires-Dist: selenium~=4.12
Requires-Dist: paramiko==3.4.0
Requires-Dist: scp==0.14.5
Requires-Dist: lxml==5.3.2
Provides-Extra: dev
Requires-Dist: icecream; extra == "dev"
Dynamic: license-file

# 📱 Shadowstep (in development)

> Powerful and resilient Appium-based framework for Android UI automation.

[![PyPI](https://img.shields.io/pypi/v/shadowstep?color=brightgreen)](https://pypi.org/project/shadowstep/)
[![Lint](https://github.com/your-org/shadowstep/actions/workflows/pylint.yml/badge.svg)](https://github.com/your-org/shadowstep/actions/workflows/pylint.yml)
[![Test](https://github.com/your-org/shadowstep/actions/workflows/tests.yml/badge.svg)](https://github.com/your-org/shadowstep/actions/workflows/tests.yml)
[![License](https://img.shields.io/github/license/your-org/shadowstep)](LICENSE)

---

## 🔍 Overview

Shadowstep is a flexible UI automation framework built on top of **Appium** and designed to improve test reliability and developer experience.  
It introduces powerful abstractions for Android testing: dynamic element wrappers, retry logic, visual change detection, and custom ADB terminal integration.

---

## ✨ Features

- 📲 **Robust UI Automation** – with custom `Element` class and retryable tap/click logic
- 🔁 **Automatic Session Recovery** – handles `NoSuchDriver`, `InvalidSessionId`, and reconnects
- 🎯 **Dict-to-XPath Locator DSL** – write intuitive locators like `{"class": "TextView", "text": "OK"}`  
- 🎥 **Video + Screenshot Reporting** – Allure integration with visual context for failed steps
- 📷 **Visual DOM/Window Waits** – wait for or detect screen changes by screenshot diffs
- 🐚 **Direct ADB Access** – push/pull/install/uninstall/interact with device via custom ADB wrapper
- 🧱 **Testable Components** – override every interaction and build new ones with ease

---

## 🚀 Quickstart

### 1. 📦 Installation

```bash
pip install appium-python-client-shadowstep


navigator
✅ Инструкция для пользователя Shadowstep
🔧 Требования к структуре проекта:

Все страницы (PageObjects) хранятся в .../pages/.

Файлы называются по шаблону page_<имя>.py.

Классы внутри — строго Page<Имя>, наследуются от PageBase.


