# Pcloudy Appium 3.0 Integration Guide

Last updated on : 09 Jan 2026

## 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

| Feature | Appium 3.0 | Benefit on Pcloudy |
|----|----|----|
| Node.js Version | 20.19+ | Pcloudy grid auto‑uses latest LTS |
| Inspector | Plugin (appium plugin install inspector) | Works alongside Pcloudy Live Inspector |
| Feature Flags | Driver‑prefixed (uiautomator2:adb_shell) | Pcloudy_AllowInsecure array support |
| Data Masking | X-Appium-Is-Sensitive header | Automatic in Pcloudy reports |
| Session Discovery | /appium/sessions (flagged) | Enabled by default in Automation Dashboard |
| File Handling | Driver‑owned unzip | Seamless app deployment via Pcloudy_ApplicationName |

### Pcloudy Appium 3.0 Capabilities

Appium 3.0 Capability (Key Addition)

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

Platform‑Specific Capabilities

Android:

```java title="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 title="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 title="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

```java
[  ] 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

| Issue                 | Solution                                     |
|-----------------------|----------------------------------------------|
| Node version mismatch | Upgrade local Node.js to 20.19+              |
| Driver not found      | Run appium driver update --all               |
| Feature flag errors   | Use driver prefix: uiautomator2:adb_shell    |
| Session timeout       | Increase Pcloudy_DurationInMinutes           |
| App not found         | Upload APK/IPA via Pcloudy App Manager first |

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