Perfecto supports three types of instrumentation:
- On-the-fly instrumentation (iOS and Android)
- This instrumentation is performed when installing the app on the device. Perfecto Mobile updates the instrumentation library but the customer needs to re-install the app after every version update and not to use previously installed app.
- Framework instrumentation (only for iOS)
- This instrumentation is performed by the app developer as part of compiling the app. A new framework instrumentation library has to be downloaded by the customer every version from here.
- Customers need to download and re-instrument after every Perfecto version update.
- Offline instrumentation (only for Android)
- This instrumentation is performed on the application apk file, and generates an instrumented apk file that can be stored by the user and later installed directly onto the Android device.
- Customers need to download a new version of the "Perfecto-Lib" and re-instrument after every Perfecto version update.
Perfecto supports interaction with the different input sensors, of the Perfecto Lab mobile devices, to inject different data to allow easy, reproducible testing of applications. For example, the Image inject functionality allows the tester to provide an image file to the device camera. Before using the sensor functionality the application needs to be instrumented to provide an indication to the Perfecto Lab when the sensor prompts the user for data.
The Sensor Instrumentation is activated during the application installation:
- Manual testing - install the application using the Install app widget. After providing the application's repository location, Several instrumentation options are offered. The second instrumentation is sensor instrumentation - set the value to True.
- Perfecto Automation/UFT - use the Install application function and set the sensor Instrumentation parameter to sensor.
- Selenium - set the "sensorInstrument" parameter of the mobile:application:install Perfecto command to sensor.
- Appium - set the "sensorInstrument" capability to true, when starting the application during driver creation.
Instrumentation in Manual Testing - Install application
Instrumentation parameters of Install application - Native Automation
Perfecto supports an image injection feature that simulates image input from the device camera. The application must be prepared for image injection during the installation process using sensor instrumentation.
Perfecto supports a fingerprint simulation feature that simulates an authorization analysis using the device fingerprint reader. Using this feature requires that the application that accesses the fingerprint reader be instrumented (with sensor instrumentation) to let the test/automation script to identify the activation of the fingerprint reader.
- Currently, Xamarin-based applications for Android cannot be instrumented by the Perfecto tools.
- When a Lab is upgraded to a new version, re-instrumenting hybrid applications is required in order to get all the latest functionality. Customers should uninstall the application from the device, instrument it and install it again.