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
| 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)
caps.setCapability("appiumVersion", "3.0.0"); // ← This enables Appium 3
Platform‑Specific Capabilities
Android:
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:
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)
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
| 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.
Did this page help you?