Metadata-Version: 2.4
Name: robotframework-mobilewright
Version: 0.1.0
Summary: Robot Framework library for MobileWright mobile testing framework
Author-email: Abdelkader Hassine <contact.abdelkaderhassine@gmail.com>
License: Apache-2.0
Project-URL: Homepage, https://github.com/MarketSquare/robotframework-mobilewright
Project-URL: Repository, https://github.com/MarketSquare/robotframework-mobilewright
Project-URL: Issues, https://github.com/MarketSquare/robotframework-mobilewright/issues
Project-URL: Documentation, https://github.com/MarketSquare/robotframework-mobilewright/blob/main/docs/Mobilewright.html
Keywords: robotframework,mobile,testing,android,ios,mobilewright,appium
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Robot Framework
Classifier: Framework :: Robot Framework :: Library
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: robotframework>=6.0
Requires-Dist: websocket-client>=1.0
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: robotframework-tidy; extra == "dev"
Requires-Dist: robotframework-robocop; extra == "dev"

# Robotframework-MobileWright

Robot Framework library for [MobileWright](https://github.com/mobile-next/mobilewright) — mobile test automation for iOS and Android.

Wraps the `mobilecli` HTTP JSON-RPC server so you can drive iOS / Android devices from `.robot` files.

## Compatibility

| | Version |
|---|---|
| Mobilewright (RF lib) | `0.1.0` |
| `mobilecli` server | `>= v0.3.69` |
| Python | `>= 3.9` |
| Robot Framework | `>= 6.0` |

The library follows its own SemVer cycle, independent of the upstream `mobilecli` version. Each release is tested against the version above.

## Setup

You need a running `mobilecli` server (it talks to the device via ADB or iOS instruments):

```bash
npm install -g mobilecli
mobilecli server start --listen localhost:12000 --cors -d
```

## Install

```bash
pip install robotframework-mobilewright
```

## Quick start

```robotframework
*** Settings ***
Library    Mobilewright    server_url=ws://localhost:12000/ws

Suite Setup       Connect To Device
Suite Teardown    Close All Connections

*** Test Cases ***
Login
    Launch App    com.example.myapp
    Fill Element    testid=username    admin@test.com
    Fill Element    testid=password    secret
    Tap Element    label=Submit
    Wait Until Element Is Visible    text=Welcome    timeout=10s
```

## Locator syntax

| Strategy | Example |
|---|---|
| `label=` | `label=Submit` |
| `testid=` | `testid=login-btn` |
| `text=` | `text=Hello World` |
| `type=` | `type=UIButton` |
| `role=` | `role=button` |
| `placeholder=` | `placeholder=Search` |

Chain with `>>`: `type=ListView >> text=Item 1`

Index selector: `index=first` (default) / `index=last` / `index=N`

## Docs

Full keyword reference: [docs/Mobilewright.html](docs/Mobilewright.html)

Generate locally:

```bash
python -m robot.libdoc Mobilewright docs/Mobilewright.html
```

## License

Apache 2.0
