Skip to main content
🏠Documentation|Appium 3.0

Last updated on : 09 Jan 2026

Pcloudy Appium 3.0 Integration Guide

Introduction

Pcloudy now fully supports Appium 3.0 across all real Android and iOS devices in our cloud grid. This guide shows you how to upgrade your existing tests or start fresh with Appium 3's improvements:

Faster server startup
Built-in Inspector plugin
Automatic sensitive data masking
Better W3C compliance
Enhanced error reporting

Endpoint remains the same: https://device.pcloudy.com/appiumcloud/wd/hub

Appium 3.0 Key Features

FeatureAppium 3.0Benefit on Pcloudy
Node.js Version20.19+Pcloudy grid auto‑uses latest LTS
InspectorPlugin (appium plugin install inspector)Works alongside Pcloudy Live Inspector
Feature FlagsDriver‑prefixed (uiautomator2:adb_shell)Pcloudy_AllowInsecure array support
Data MaskingX-Appium-Is-Sensitive headerAutomatic in Pcloudy reports
Session Discovery/appium/sessions (flagged)Enabled by default in Automation Dashboard
File HandlingDriver‑owned unzipSeamless app deployment via Pcloudy_ApplicationName

Pcloudy Appium 3.0 Capabilities

Appium 3.0 Capability (Key Addition)

Java
caps.setCapability("appiumVersion", "3.0.0"); // ← This enables Appium 3

Platform‑Specific Capabilities

Android:

Java
caps.setCapability("platformName", "Android");
caps.setCapability("appium:automationName", "UiAutomator2");
caps.setCapability("Pcloudy_ApplicationName", "myapp.apk");
caps.setCapability("appium:appPackage", "com.example.app");
caps.setCapability("appium:appActivity", ".MainActivity");

iOS:

Java
caps.setCapability("platformName", "iOS");
caps.setCapability("appium:automationName", "XCUITest");
caps.setCapability("Pcloudy_ApplicationName", "myapp.ipa");
caps.setCapability("appium:bundleId", "com.example.app");

Complete Setup Example - (Appium Java Client)

Java
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;

public class PCloudyAppium3Test {
public static void main(String[] args) throws Exception {
DesiredCapabilities caps = new DesiredCapabilities();

// Pcloudy authentication
caps.setCapability("Pcloudy_Username", "your-username");
caps.setCapability("Pcloudy_ApiKey", "your-api-key");
caps.setCapability("Pcloudy_DurationInMinutes", 30);

// Appium 3.0
caps.setCapability("appiumVersion", "3.0.0");

// Device & app
caps.setCapability("Pcloudy_DeviceFullName", "Samsung Galaxy S23");
caps.setCapability("Pcloudy_ProjectName", "Appium3Demo");
caps.setCapability("Pcloudy_BuildName", "v1.0");
caps.setCapability("Pcloudy_ApplicationName", "myapp.apk");

// Android config
caps.setCapability("platformName", "Android");
caps.setCapability("appium:automationName", "UiAutomator2");
caps.setCapability("appium:newCommandTimeout", 600);

AppiumDriver driver = new AndroidDriver(
new URL("https://device.pcloudy.com/appiumcloud/wd/hub"),
caps);

// Test steps
driver.findElementByAccessibilityId("loginButton").click();
Thread.sleep(5000);
driver.quit();
}}

Migration from Appium 2.0

What Changes

Most tests run unchanged
⚠️ Update Node.js to 20+ locally
⚠️ Replace deprecated endpoints (handled by drivers now)
Pcloudy endpoint unchanged

Quick Migration Checklist

[  ] npm install -g appium@latest  
[ ] appium driver update --all
[ ] appium plugin install inspector
[ ] Add "appiumVersion": "3.0.0" to capabilities
[ ] Test on single device first
[ ] Verify Automation Dashboard shows Appium 3 logs

Troubleshooting

IssueSolution
Node version mismatchUpgrade local Node.js to 20.19+
Driver not foundRun appium driver update --all
Feature flag errorsUse driver prefix: uiautomator2:adb_shell
Session timeoutIncrease Pcloudy_DurationInMinutes
App not foundUpload APK/IPA via Pcloudy App Manager first

Check Pcloudy session logs in Automation Dashboard for Appium 3 confirmation.

Did this page help you?