Sauce Labs introduced the TestObject Real Device Cloud in 2017. It is a pool of physical mobile devices, both Android and iOS, that users can purchase a license to access. They can be used for manually testing mobile applications or by running automated tests. Instead of running on simulator and emulator platforms, users can actually run on real devices with the platform and versions of the devices they require to test.
In order to test against the real devices, additional driver class capabilities would have to be set to direct to a different remote hub:
// section in CreateDriver.java class for TestObject features
...
boolean realDevice = true;
if ( realDevice == true ) {
caps.setCapability("testobject_device",
"iPhone 6");
caps.setCapability("testobject_cache_device",
false);
caps.setCapability("testobject_session_creation_timeout",
"900000");
caps.setCapability("testobject_appium_version",
"1.7.1");
caps.setCapability("testobject_suite_name",
"mySuiteName");
caps.setCapability("testobject_app_id",
1);
caps.setCapability("testobject_test_name",
"myTestName");
// private pool caps
caps.setCapability("phoneOnly",
"iphone.phoneOnly.rdc");
caps.setCapability("tabletOnly",
"iphone.tabletOnly.rdc");
caps.setCapability("privateDevicesOnly",
"iphone.privateDevicesOnly.rdc");
if ( browser.contains("iphone") || browser.contains("ipad") ) {
caps.setCapability("testobject_api_key",
"iOSAppKey");
}
else {
caps.setCapability("testobject_api_key",
"androidAppKey");
}
remoteHubURL = "https://us1.appium.testobject.com/wd/hub";
}