Gain CI Efficiencies: Test Advanced Functionalities on the Right Devices

Gain CI Efficiencies: Test Advanced Functionalities on the Right Devices

/, Mobile Application Development, Mobile Application Testing/Gain CI Efficiencies: Test Advanced Functionalities on the Right Devices

Does this device support the feature I’m testing?

FaceID, TouchID, location, camera, and conversational interfaces are offered on such a wide array of devices that it’s enough to make a testing professional dizzy. There’s a constant question buzzing in our testing minds: which device supports which feature?

The fragmentation and the level of support become increasingly complex over time with each operating system and hardware update. Testers spend precious time mapping and manually programming tests to run on specific devices based on feature capabilities. If they don’t do this time-consuming task, the result can be false failures due to testing features on non-supported devices.

Advanced device capabilities

Seeing the frustrations & pains experienced by testing customers led Perfecto to develop a new set of custom capabilities (built on Appium). This new feature set allows users to ensure the testing device(s) can support the requested functionality.

To see this in action, see the settings and example below:

Figure 1: Advanced Capabilities to Select Device

Inside of a single script, naturally a tester can select a device based on a capability, for example:

capabilities.setCapability(“platformName”, “Android”);

capabilities.setCapability(“platformVersion”, “[56].*”);

capabilities.setCapability(“manufacturer”, “Samsung”);

capabilities.setCapability(“model”, “Galaxy.*”);

capabilities.setCapability(“perfecto:motionInjectionSupport”, true);

Naturally, this can be parameterized so that the setting can be made at TestNG, or even in Jenkins.

In this example, we attempt to allocate a device only based on standard capabilities and attempt to inject text into Siri, which naturally fails. Instead, we add a new capability ‘perfecto:voiceAssistantInjectSupport’ = true, which reserves the right device and the scripts executes correctly.

Figure 2: Adding selection of device based on voice assistant capability

Big thanks to Daniel Tourgman for the awesome example!

Amir Rozenberg is the director of product management, responsible for core product strategy at Perfecto, the leading digital cloud and test automation company. Amir has pioneered mobile quality practices in Perfecto to extend the service across the application life cycle. Amir has extensive experience in the digital industry with expertise in areas including application development, testing, delivery and monitoring. Amir led successful synergies with Microsoft, Blazementer, HP and others to optimize value delivery to our customers. Prior to working at Perfecto , Amir led the mobile monitoring practice at Gomez/Compuware. Prior to Compuware he led the founding of Adva Mobile, a direct-to-fan mobile marketing startup, as well as various leadership positions at Groove Mobile, Nextcode Corp. etc. Find Amir on Twitter (@Amir_Rozenberg), and LinkedIn ( Amir commonly writes for Dzone, CIO Magazine and other publications.

Leave A Comment