Metadata-Version: 2.4
Name: wgc-pages
Version: 4.0.1
Summary: Page Objects for WGC QA framework
Author-email: Mykola Kovhanko <thuesdays@gmail.com>
Project-URL: Homepage, https://github.com/thuesdays/wgc-pages
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: wgc-client>=4.0.0
Requires-Dist: wgc-core>=4.0.0
Requires-Dist: wgc-helpers>=4.0.0

# wgc-pages

Page Objects for the WGC QA framework. Provides high-level API for interacting with every page and dialog in Wargaming Game Center.

## Page Object Pattern

Each WGC screen is represented by a Python class with methods for user actions:

```python
from wgc_pages import PageArsenalCommon, PageArsenalLogin, PageArsenalInstalledGame

# Login
login_page = PageArsenalLogin(client)
login_page.login(email='test@test.com', password='pass123')

# Navigate to installed game
common = PageArsenalCommon(client)
common.open_game('WOT')

# Interact with game page
game_page = PageArsenalInstalledGame(client)
game_page.click_play()
game_page.wait_for_game_launch()
```

## Available Pages

### Arsenal Pages (New UI)

| Page | Class | Description |
|---|---|---|
| Common | `PageArsenalCommon` | Navigation, game list, sidebar, surveys |
| Login | `PageArsenalLogin` | Login forms (WG ID, OAuth, 2FA, Steam) |
| Registration | `PageArsenalRegistration` | Account registration, demo accounts |
| Installed Game | `PageArsenalInstalledGame` | Game management: play, update, repair, patches |
| Not Installed | `PageArsenalNotInstalledGame` | Game installation initiation |
| Game Settings | `PageArsenalGameSettings` | Game-specific settings (path, components) |
| Preinstall | `PageArsenalPreinstallSettings` | Pre-install configuration (path, components) |
| Settings | `PageArsenalSettings` | WGC application settings |
| Profile | `PageArsenalProfile` | User profile management |
| Shop | `PageArsenalShop` | In-app store, product browsing |
| Overlay | `PageArsenalOverlay` | In-game overlay UI |
| Notifications | `PageArsenalNotifications` | Notification center |
| Queue | `PageArsenalQueue` | Download queue management |
| Support | `PageArsenalSupport` | Support page |
| Legal Docs | `PageArsenalLegalDocs` | EULA, privacy policy |
| About | `PageArsenalAbout` | About dialog |

### Classic Pages

| Page | Class | Description |
|---|---|---|
| Common | `PageCommon` | Base page: login, account switching, Steam |
| Game | `PageGame` | Game management (classic UI) |
| Game Install | `PageGameInstall` | Game installation flow |
| Install by ID | `PageInstallById` | Install game via command line ID |
| Import | `PageImport` | Import existing game installations |
| Showroom | `PageShowroom` | Game showcase/storefront |
| Settings | `PageSettings` | WGC settings (classic) |
| Purchase | `PagePurchase` | Purchase flow |
| Overlay | `PageOverlay` | Overlay (classic) |
| Plugin | `PagePlugin` | Plugin page |
| Game News | `PageGameNews` | In-app news |
| About | `PageAbout` | About dialog |
| Legal Docs | `PageLegalDocs` | Legal documents |

## Install

```bash
pip install wgc-pages
```

## Dependencies

- `wgc-client` — WGCClient for UI interaction
- `wgc-core` — config, logger
- `wgc-helpers` — waiter, localization, requirements
