Skip to content

Pcloudy-Sample/PC-appium-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Run Appium Tests with Python on pCloudy

pCloudy Python Appium Python Client

Getting Started

pCloudy is a mobile testing platform that gives you access to real Android and iOS devices from the cloud. This project provides Python Appium samples that run on pCloudy with minimal changes to standard Appium scripts.

pCloudy is fully integrated with Appium, allowing you to run your existing automation scripts against real devices on the pCloudy cloud.

This project is a Python-based Appium sample showing how to run Android and iOS tests on the pCloudy Real Device Cloud.

Prerequisites

  • Python 3.8 or higher
  • pip
  • Appium Python client and Selenium
  • A pCloudy account with your registered email ID and API key
  • Your app (.apk/.ipa) uploaded to your pCloudy Cloud Drive when needed

Getting Started

Clone the project and install the dependencies:

git clone https://github.com/Pcloudy-Sample/PC-appium-python
cd PC-appium-python
pip install -r requirements.txt

Configure your credentials and app

The sample scripts read your pCloudy credentials from environment variables:

macOS / Linux:

export PCLOUDY_USERNAME="YOUR_EMAIL_ID"
export PCLOUDY_APIKEY="YOUR_API_KEY"

Windows:

set PCLOUDY_USERNAME=YOUR_EMAIL_ID
set PCLOUDY_APIKEY=YOUR_API_KEY

You can also update the device name, app name, and app identifiers in the Python scripts to match your pCloudy account and app bundle.

Running the Sample

Each platform has its own sample script:

Run tests

python Androidapp.python
python IOSapp.python
python AndroidWeb.python
python IOSWeb.python

Alternatively, open the Python scripts and hardcode the values directly if you prefer.

The pCloudy_ApplicationName capability must match the name of the app already uploaded to your pCloudy Cloud Drive. For iOS, make sure the app name and bundle ID in the script match your uploaded app.

Capabilities used in this sample

Capability Description
pCloudy_Username Your pCloudy account email ID
pCloudy_ApiKey Your pCloudy API key
pCloudy_DeviceFullName Book a specific device by its full name, for example SAMSUNG_GalaxyA10s_Android_11.0.0_99cde
pCloudy_ApplicationName Name of the app already uploaded to your pCloudy Cloud Drive
automationName Appium automation engine — UiAutomator2 (Android) or XCUITest (iOS)
appium:appPackage / appium:appActivity (Android) Package and launch activity of the app under test
bundleId (iOS) Bundle identifier of the app under test

Note: pCloudy_DeviceFullName alone is enough to book a specific device. When it is set, you can leave the manufacturer/version fields unset if you want to target a specific device directly.

The driver connects to the pCloudy Appium hub at:

https://device.pcloudy.com/appiumcloud/wd/hub

Test results are visible on your pCloudy dashboard once the session starts.

Screenshots

Each script saves screenshots to the local screenshots/ folder during execution so you can review the test flow.

Project Structure

PC-appium-python/
├── requirements.txt          # Python dependencies
├── Androidapp.python         # Android native app sample
├── IOSapp.python             # iOS native app sample
├── AndroidWeb.python         # Android web sample
├── IOSWeb.python             # iOS web sample
├── screenshots/              # Captured screenshots
└── README.md                 # Project documentation

API Documentation

For the full pCloudy REST API reference (device booking, app upload, reports, and more), see:

Learn More

Contributions

Contributions are welcome. Please open an issue to discuss your idea before submitting a pull request.