Contents

Home
How to use the Perfecto help
Release notes
Latest updates
Release highlights
Release 24.5
Release 24.4
Release 24.3
Release 24.2
Release 24.1
2023 releases
Release 23.16
Release 23.15
Release 23.14
Release 23.13
Release 23.12
Release 23.11
Release 23.10
Release 23.9
Release 23.8
Release 23.7
Release 23.6
Release 23.5
Release 23.4
Release 23.3
Release 23.2
Release 23.1
2022 releases
Release 22.16
Release 22.15
Release 22.14
Release 22.13
Release 22.12
Release 22.11
Release 22.10
Release 22.9
Release 22.8
Release 22.7
Release 22.6
Release 22.5
Release 22.4
Release 22.3
Release 22.2
Release 22.1
2021 releases
Release 21.16
Release 21.15
Release 21.14
Release 21.13
Release 21.12
Release 21.11
Release 21.10
Release 21.9
Release 21.8
Release 21.7
Release 21.6
Release 21.5
Release 21.4
Release 21.3
Release 21.2
Release 21.1
2020 releases
Release 20.16
Release 20.15
Release 20.14
Release 20.13
Release 20.12
Release 20.11
Release 20.10
Release 20.9
Release 20.8
Release 20.7
Release 20.6
Release 20.5
Release 20.4
Release 20.3
Release 20.2
Release 20.1
2019 releases
Release 19.17
Release 19.16
Release 19.15
Release 19.14
Release 19.13
Release 19.12
Release 19.11
Release 19.10
Release 19.9
Release 19.8
Release 19.7
Release 19.6
Release 19.5
Release 19.4
Release 19.3
Release 19.2
Release 19.1
2018 releases
Release 18.17
Release 18.16
Release 18.15
Release 18.14
Release 18.13
Release 18.12
Release 18.11
Release 18.10
Release 18.9
Release 18.8
Release 18.7
Release 18.6
Release 18.5
Release 18.4
Release 18.3
Release 18.2
Release 18.1
Earlier releases
Release 10.13
Release 10.12
Release 10.11
Release 10.10
Release 10.9
Release 10.8
Release 10.7
Release 10.6
Release 10.5
Release 10.4
Release 10.3
Release 10.2
Release 10.1
Release 10.0
Release 9.8
Release 9.7
Release 9.6
Support updates
Android support updates
Appium press() and longPress() samples
iOS support updates
Features supported per cloud type
Public cloud functionality and limitations
Suspension of support policy | Mobile device OS
Suspension of support policy | Desktop web OS
Home | Getting started guide
Perfecto overview
Perfecto services
Access and navigate the Perfecto UI landing page
Choose a workflow
How to begin
Automation testing | Free Trial users
Native app testing
1 | Select a framework and scripting language
2 | Generate a security token
3 | Select a mobile device
4 | Upload your app to the Perfecto repository
5 | Finalize and run your script
6 | View test results in a report
Mobile web testing
1 | Select a scripting language
2 | Generate a security token
3 | Select a mobile device
4 | Finalize and run your script
5 | View test results in a report
Desktop web testing
1 | Select a scripting language
2 | Generate a security token
3 | Select a desktop web device
4 | Finalize and run your script
5 | View test results in a report
Manual testing | Free Trial users
1 | Log in
2 | Select a mobile or desktop web device
3 | Test your app
4 | View test results in a report
5 | Perform administrative tasks
Test creation with Scriptless Mobile | Free Trial users
1 | Log in
2 | Select a mobile device (optional)
3 | Create your test
4 | Run your test
Home | User guide
Automation testing
Appium
Install and start an application
Supported Appium capabilities
Direct scroll on iOS devices
Appium/XCUITest scripts on iOS
New architecture for Appium web and hybrid testing on iOS
New architecture for Appium testing on Android
Shadow DOM
Upgrade to an Appium 2-compliant client
Appium 2-compliant client and Selenium 4 sample project
Selenium
Use the Selenium Wait functions
Use visual analysis with RemoteWebDriver
Designate secured strings in automation tests
Upgrade to Selenium 4
Quantum
Quantum framework introduction
Quantum driver names and capabilities
Add a proxy to Quantum tests
Quantum utilities
Quantum utilities | Switch context when testing hybrid applications
Quantum utilities | Visual Analysis Commands in Quantum
ConfigurationManager | Pass elements across steps and test cases
Use different listeners for local and CI executions in Quantum
Sensor-instrument an app during installation using Quantum
Group remote RemoteWebDriver tests
Implement failure reasons with Quantum 1.20
CI Dashboard with Quantum
CI Jenkins with Quantum
CI Bamboo with Quantum
Bamboo variables
End-to-end CI (CD + CT) setup for Quantum-Bamboo integration
Azure DevOps (VSTS) with Quantum
TeamCity with Quantum
Clear the browser cache in Quantum
Download PDF reports and videos of test executions in Quantum
Quantum release notes
Quantum 1.30.1 release notes
Quantum 1.30.0 release notes
Quantum 1.23.0 release notes
Quantum 1.22.0 release notes
Quantum 1.21.2 release notes (interim release)
Quantum 1.21 release notes
Quantum 1.20 release notes
Quantum 2019.Q1 pre-release notes
Quantum 1.19 release notes
Upgrade Quantum to version 1.17
XCUITest
Install the Perfecto Gradle plugin manually
iOS configuration parameters for the Gradle Plugin
XCUITest configuration parameters
Take screenshots with XCTest methods
XCUITest sharding
Sign iOS applications for Gradle Plugin
Xcode Test Plan feature
Espresso
Android configuration parameters for the Gradle Plugin
Cypress
Run scripts on a VM before or after a test
Migrate to Cypress version 10 or later
Flutter
Set up Flutter for iOS apps
Set up Flutter for Android apps
CI tools
Perfecto Connect
Download the Perfecto Connect client
Work with Perfecto Connect
Use a bridging proxy
Work behind a proxy
Associate a device with a Perfecto Connect tunnel
Integrate Perfecto Connect with Jenkins
Troubleshoot Perfecto Connect
Perfecto Connect network requirements
Perfecto Connect error messages
Perfecto Connect error with Windows executable
Perfecto Connect verification warning on macOS
White-list the STunnel addresses
Configure Symantec Endpoint Protection for Perfecto Connect
Parallel executions
Generate security tokens
Generate security tokens via public API
Define capabilities
Use capabilities to select a device
Select a device based on supported features
Share a session with an IDE script
Work with UI elements using XPath
Find elements for native apps
Tips for strong XPath - native & web objects
Desktop-web customization service
Visual analysis
Basic visual analysis
Create custom swipe gestures
Visual relations
Virtual mobile devices
Emulators (Android devices)
Simulators (iPhones and iPads)
Create an iOS simulator build
Supported capabilities for virtual mobile devices
Virtual device troubleshooting
Espresso tests for virtual devices
Android configuration parameters for the Gradle Plugin | Virtual devices
XCUITest tests for virtual devices
iOS configuration parameters for the Gradle Plugin | Virtual devices
XCUITest sharding | Virtual devices
Injection of sensory input
Fingerprint injection | Simulate sensor authentication
Image injection
Accessibility testing
Manual accessibility testing with a Java utility
Test the accessibility of a mobile app
Test the accessibility of a web mobile app
Test the accessibility in a Perfecto desktop browser
Manual accessibility testing with a Chrome extension
IP Geolocation testing
Deploy device maintenance scripts (Perfecto IDE alternative)
Perfecto Native Automation
Get started with the Perfecto desktop app
Automation user interface
Work with Perfecto automation
Device dashboard
Native automation commands
Break
Comment
Concatenate string
Continue
Counter checkpoint
Counter update
Execute script
Exit
Integer convert
Number compare checkpoint
Script info
String attribute checkpoint
String compare checkpoint
String convert
String indexOf
String substring
Time checkpoint
Wait
Scheduler - schedule script executions
Add visual analysis to native automation
Manual testing
Select a device for manual testing
Supported actions
Mobile testing
Manage apps
Instrumentation
Instrumentation illustrated
Android offline instrumentation
Instrument iOS application with customer certificate​
Re-sign an application | iOS
Re-signing illustrated
Resize a device
Add a checkpoint
Test accessibility with VoiceOver or TalkBack
Inject an image
Inject biometric data
Set a location
Set an IP geolocation
Initiate network virtualization
Initiate an SMS to the open device
Initiate a call to the open device
Inject an audio file
Enter secure text
Connect to a mobile device with DevTunnel
Transfer a file
View the device log
Perform text or image analysis
Use Object Spy to find objects on the device screen
Stop a test
Testing on virtual mobile devices
Desktop web testing
Test web apps on desktop browsers
Take screenshots
View device or application vitals
Scriptless Automation
Scriptless Mobile
Scriptless Mobile interface
Work with Scriptless Mobile
Add commands
Handle tests
Apply an error policy
Add function parameters
Configure test variables
Create DataTables
Work with execution control constructs
Execute tests
Work on multiple tests simultaneously
Create embedded tests
Schedule jobs
Work with an open device in Scriptless Mobile
Open a device
View device information
View and manage the device log
Restart a device
Manage multiple devices
Manage apps
Find and validate objects with Object Spy
Perform text analysis
Perform image analysis
Inject an audio file
Initiate a call to an open device
Initiate an SMS to an open device
Set an IP geolocation
Inject an image
Set a location
Initiate network virtualization
Inject a fingerprint or face ID
Enter secure text
Release devices
View device or application vitals
Available commands and checkpoints
Scriptless Web
Tutorials
Create your first test | Tutorial
Debug a test | Tutorial
Modify a test | Tutorial
Reuse a test | Tutorial
Add external data | Tutorial
Create a job | Tutorial
Inject code | Tutorial
Use variables | Tutorial
Work with conditions | Tutorial
Common tasks
Execute a test in 3 clicks
Locate a missing element
Add or remove a step during execution
Validate an action
Enter text in a field
General information
Action categories
Quick action toolbar
Keyboard input options
Scriptless Web - Single Test View
Projects
Create a project
Copy a project
Rename a project
Delete a project
Tests
Access tests
Create a test
Copy the link for a test
Modify a test
Copy a test
Delete a test
Create a folder
Copy a folder
Rename a folder
Delete a folder
Move a folder
Move a test to a folder
Test flow creation
What is the canvas?
Add a step through the canvas
Test email workflows
Rename an element
Change a step's action
Remove a step through the canvas
Remove an element's binding through the canvas
Duplicate a step
Enable or disable a step
Enable or disable part of the execution
Add a cookie
Validate a cookie
Remove a cookie
Executions
Set a breakpoint to halt an execution
Add a step during execution
Edit a test step during execution
Select an element using Object Spy
Remove a step during execution
Cancel an execution
Rerun an execution
Manipulate a variable at runtime
View browser logs for a specific execution step
Jobs
View all jobs
Create a job
Delete a job
Add a test to a job
Copy the link for a job
Order tests in a job
Set notifications for a job
Schedule a job
Connect a job to CI/CD
Integrate Scriptless Web with Azure DevOps Pipeline
Datasets
Create a dataset
Duplicate a dataset
Remove a dataset
Flows
Context variables
Set a context variable manually
Set a variable at runtime
Use a context variable as data input
View the status of context variables during execution
Compare variables
Project assets
Access project assets
Project environments
Project locations
File assets
Code assets
Platforms
Global variables
System management
Create a notification channel
Configure Scriptless Web settings
Test analysis with Smart Reporting
Download the Reporting SDK
Implement the reporting framework
C#
Java
JavaScript
Python
Ruby
Edit display preferences
Access and navigate the Test Analysis UI
Insights
CI Dashboard view
Heatmap view
Report Library
Live Stream
Execution Manager API
Single test report (execution report)
Test failure history
Basic test result concepts
Create cross-platform reports
Export reporting data
Formatted PDF reports
Report Library CSV file
Vitals CSV file
Migrate to the new vitals solution
Analyze test results
Access source code
Handle application crashes
Work with failure reasons
Integrate Smart Reporting with CI tools
Add reporting to Jenkins
Add reporting to Bamboo
Add reporting to TeamCity
Add reporting to CircleCI
Add reporting to TFS
Add reporting to Azure DevOps (VSTS)
Add execution reports in Azure DevOps pipeline jobs
API for external test information
Integrations
BlazeMeter and Perfecto| Better together
Perfecto integrations with automation tools
Apache Ivy
Appium Inspector
Applitools
Axe
Botium
Detox
fastlane
Galen
Integrate Galen Framework with Perfecto Smart Reporting
Gradle
Integrate Gradle with Perfecto Smart Reporting
IDEs
Jasmine
Jest
JUnit
Add a JUnit framework to a Selenium mobile project
Execute remoteWebDriver JUnit tests with JMeter
Run unit tests in Eclipse and Visual Studio
Junit 5 TestWatcher
Karma
Katalon Studio
Maven
Mocha
Nightwatch.js
NUnit
Parallelization of Perfecto Tests in NUnit
Parallel test execution in Visual Studio using NUnit
Parallel tests with NUnit, each test case executed only once
Run Perfecto Lab tests with NUnit in Visual Studio
Run unit tests in Eclipse and Visual Studio | NUnit
Robot Framework
Integrate Robot Framework with Perfecto Smart Reporting
Test Modeller
TestNG
TestNG | Add a TestNG framework to a Selenium Mobile project
TestNG | Create a simple Maven project with Appium and TestNG
TestNG | Manage execution and data
TestNG | Parallel execution (Maven-based web project)
TestNG | Modify testng.xml file programmatically
TestNG | Parallel execution in Cucumber
TestNG | Parallel execution
TestNG | Parallel tests (each test case executed only once)
TestNG | Run parallel tests in Eclipse with Maven and RemoteWebDriver
TestNG | Add and control test failure retries
TestNG | Change test results dynamically
TestNG | Configuration failures, policy, and alwaysRun
TestNG | Listener types
TestNG | Custom listeners using IInvokedMethodListener
TestNG | Custom Listener using ISuiteListener
TestNG | Custom TestNG listeners using ITestListener
TestNG | Simplify listener code and access class objects through reflection
TestNG | Log level
TestNG | Report collection
TestNG | Soft and hard asserts
TestNG | User-specified TestNG XML parameters
TestNG | Use ReportNG
TestNG | Troubleshoot unsupported major.minor version error
Tricentis Tosca
Mobile xScan
Tosca with Perfecto Connect
watir (Web Application Testing in Ruby) framework
WebdriverIO
WebdriverIO 5 and 6
WebdriverIO 7 and 8
Perfecto integrations with CI tools
Atlassian Bamboo
Bitbucket
Bitrise
CircleCI
Codemagic
GitHub
GitLab
Harness
Jenkins plugin
Jenkins with Cypress
Jenkins with Espresso
Jenkins with Gradle
Jenkins with Maven
Jenkins with XCUITest
Microsoft Azure DevOps pipeline
TeamCity
Travis CI
Perfecto integrations with project and test management tools
Atlassian Jira
Helix ALM
Micro Focus Application Lifecycle Management (ALM)
HP ALM reporting integration
Integrate Micro Focus ALM with Perfecto
Perfecto Mobile Native Automation Bridge for Micro Focus ALM
Upload Perfecto Single Test Reports to Micro Focus ALM from HP UFT Tests
Tricentis qTest Manager
PerfectoCloudInformation.xml
qTest Custom Perfecto Reports Parser
qTestExecutor
Slack
Xray test management for Atlassian Jira
Perfecto integrations with performance and load testing tools
Micro Focus LoadRunner
Tricentis NeoLoad
Tricentis NeoLoad for Appium
Tricentis NeoLoad for Appium with Quantum
Splunk
Splunk | Perfecto Connector to Splunk
Splunk | Configure the HTTP Event Collector
Splunk | Configure an HTTP event collector
Splunk | Create your data source
Splunk | Create your index
Splunk | Example: Dashboard overview
Splunk | Quantum project with Splunk integration
Splunk | Perfecto-Splunk data schema
Splunk | Configure alerts
Splunk | Example dashboard
Splunk | Configure executions with Quantum
Splunk | Schedule Quantum/Splunk monitors with Jenkins
Supported platforms
Assets and setup
Manage the repository
Manage users
Password policy
New roles vs. legacy roles
Troubleshoot user issues
Manage devices
Manage Windows web certificates
Manage cradles
Manage failure reasons
Set up Jira
Manage reservations
Hybrid clouds | Configure and connect devices
Hybrid clouds | Set up and connect iOS devices
Hybrid clouds | Set up and connect Android devices
Hybrid clouds | Best network practices
System administration
Best network practices
Perfecto SSO for external IdP
Just-in-time user provisioning
Bluetooth audio connectivity
Change your password
Advanced
DevTunnel | Debug on real Perfecto devices
Install DevTunnelInstaller
Identify and configure the DevTunnel proxy
Connect to a Perfecto device through DevTunnel
Use the DevTunnel-connected device
Fix bugs on Android apps in Perfecto
DevTunnel for Espresso unit tests
Chrome Inspect on Perfecto Android devices
Use an iOS device with Xcode
DevTunnel Troubleshooting
Basic DevTunnel Troubleshooting
Connection errors on iOS devices
Connection errors on Android devices
Connect to DevTunnel through the CLI
Generate and analyze HAR files
Set up HAR files for mobile testing
Set up HAR files for desktop web testing
Retrieve a HAR file
Performance testing
SUT performance testing
Network traffic capture and analysis (HAR) | Performance testing
Performance testing under load
Perfecto with JMeter | Performance testing
Perfecto with Micro Focus LoadRunner | Performance testing
Network conditions for network virtualization
Shift left performance testing
Web penetration testing with Perfecto
Legacy
Legacy | Perfecto IDE
Legacy | DigitalZoom Reporting for Manual Testing
Legacy | DigitalZoom Reporting for Native Automation
Legacy | Interactive Desktop Web
Legacy | Manual Testing - Interactive
Legacy | Launch device
Legacy | Amazon Fire TV Stick
Legacy | Mobile
Legacy | Device operations
Legacy | Work with applications
Legacy | Recording
Legacy | Appium Driver recording mode
Legacy | Working with UI Elements
Legacy | iOS Object Tree Optimization
Legacy | Perfecto IDE object locator
Legacy | Manage users
Legacy | Roles and Groups
Legacy | Add groups
Legacy | Edit groups
Legacy | Manage devices
Legacy | Add roles
Legacy | Assign roles to devices
Legacy | HP UFT
Legacy | DigitalZoom report authoring
Legacy | UFT DigitalZoom Reporting sample
Legacy | Security tokens
Legacy | Session sharing: session ID (Flash UI)
Legacy | UFT Integration
Legacy | UFT Function Reference: Device
Legacy | UFT Function Reference: MBrowser
Legacy | UFT Function Reference: MButton
Legacy | UFT Function Reference: MEdit
Legacy | UFT Function Reference: MNativeElement
Legacy | UFT Function Reference: MObject
Legacy | UFT Function Reference: MWebElement
Legacy | UFT Function Reference: PerfectoLab
Legacy | Networking best practices and performance troubleshooting
Legacy | Flash UI | Network best practices
Legacy | Automating Web-apps with Perfecto
Legacy | Performance testing
Legacy | The personas
Legacy | Built-in personas
Legacy | Custom personas
Legacy | Add performance testing to your script
Legacy | Network conditions for network virtualization
Legacy | WindTunnelUtils Class
Legacy | REST API
Legacy | Command Operations
Legacy | Start New Execution
Legacy | Execute Command
Legacy | End Execution
Legacy | Application & Object Commands
Legacy | Start application
Legacy | Close application
Legacy | Install application
Legacy | Clean application
Legacy | Uninstall application
Legacy | Uninstall applications
Legacy | Run app in background
Legacy | Open notifications
Legacy | Start activity
Legacy | Sync activity
Legacy | Set fingerprint
Legacy | Set Sensor Authentication
Legacy | Inject motion
Legacy | Start PWA
Legacy | Stop PWA
Legacy | Browser & Webpage Objects Commands
Legacy | Browser go to
Legacy | Browser open
Legacy | Browser navigate
Legacy | Browser sync
Legacy | Browser clean
Legacy | Browser execute
Legacy | Add cookie
Legacy | Delete cookie
Legacy | Delete all cookies
Legacy | Get all cookies
Legacy | Get cookie
Legacy | Device Commands
Legacy | Open device
Legacy | Home
Legacy | Close device
Legacy | Clean device
Legacy | Reboot device
Legacy | Recover device
Legacy | Swipe
Legacy | Lock screen
Legacy | Rotate device
Legacy | Get device time zone
Legacy | Set device time zone
Legacy | Reset device time zone
Legacy | Get device log
Legacy | Start debug logs
Legacy | Stop debug logs
Legacy | Send key event
Legacy | Screenshot
Legacy | Get file
Legacy | Put file
Legacy | Delete file
Legacy | Start image injection
Legacy | Stop image injection
Legacy | Audio checkpoint
Legacy | Device info
Legacy | Device setup
Legacy | Select device
Legacy | Get WiFi IP address
Legacy | Voice assistant inject
Legacy | Set device location
Legacy | Get device location
Legacy | Reset device location
Legacy | Get network settings
Legacy | Set network settings
Legacy | Vitals start
Legacy | Vitals stop
Legacy | Perfecto Connect attach
Legacy | Perfecto Connect detach
Legacy | Toggle radio
Legacy | Audio Commands
Legacy | Audio to text
Legacy | Audio to text validation
Legacy | Audio validation
Legacy | Inject audio
Legacy | Start audio recording
Legacy | Stop audio recording
Legacy | Text to audio
Legacy | Input Commands
Legacy | Drag
Legacy | Gesture
Legacy | Keyboard display
Legacy | Trackball
Legacy | Touch
Legacy | Device state
Legacy | Type
Legacy | Press key
Legacy | Visual Analysis: Text & Image Commands
Legacy | Text checkpoint
Legacy | Image checkpoint
Legacy | Find text
Legacy | Find image
Legacy | Select text
Legacy | Select image
Legacy | Screen text
Legacy | Services Commands
Legacy | Network virtualization start
Legacy | Network virtualization stop
Legacy | Network virtualization update
Legacy | Timer start
Legacy | Timer stop
Legacy | Get timer
Legacy | Timer report
Legacy | Cloud call
Legacy | Cloud email
Legacy | Cloud SMS
Legacy | Reporting Commands
Legacy | Assert
Legacy | End step
Legacy | End test
Legacy | Start test
Legacy | Step start
Legacy | UI Objects commands
Legacy | Application Object Commands
Legacy | Application.Element.Click
Legacy | Application.Element.Find
Legacy | Application.Element.Info
Legacy | Application.Element.MultiTap
Legacy | Application.Element.Set
Legacy | Application.Info
Legacy | Object Optimization Commands
Legacy | Object optimization start
Legacy | Object optimization stop
Legacy | Visual Object Commands
Legacy | Button.Click image
Legacy | Button.Click text
Legacy | Edit.Get image
Legacy | Edit.Get text
Legacy | Edit.Set image
Legacy | Edit.Set text
Legacy | Webpage Object Commands
Legacy | Webpage.Element.Click
Legacy | Webpage.Element.Find
Legacy | Webpage.Element.Info
Legacy | Webpage.Element.Info.CSS
Legacy | Webpage.Element.Set
Legacy | Webpage.Info
Legacy | Group Operations
Legacy | Create Group
Legacy | Delete Group
Legacy | Get Group Information
Legacy | Get Group List
Legacy | Update Group
Legacy | Report Operations
Legacy | Download execution report
Legacy | Get report attachment files list
Legacy | Download execution report image
Legacy | Download execution report video
Legacy | Download execution report virtual network outcome
Legacy | Download execution report vitals CSV file
Legacy | Download transaction report
Legacy | Download device log files
Legacy | Download audio-to-text report
Legacy | Repository Operations
Legacy | Upload Item to Repository
Legacy | Download Item from Repository
Legacy | Get Repository Items List
Legacy | Get Repository Item Information
Legacy | Delete Item from Repository
Legacy | Repository Cleanup - Executions
Legacy | Move file in Media Repository
Legacy | Scheduler Operations
Legacy | Create Scheduled Execution
Legacy | Update Scheduled Execution
Legacy | Delete Scheduled Execution
Legacy | Get Scheduled Execution Info
Legacy | Get Scheduled Execution List
Legacy | Get Devices List
Legacy | Get Reservation List
Legacy | Create User & Account
Legacy | Delete User
Legacy | Get User List
Legacy | User & Accounts Operations
Legacy | User and Account Objects
Legacy | Change User Password
Legacy | Get User Information
Legacy | Activate User
Legacy | Deactivate User
Legacy | Add Roles to User
Legacy | Remove Roles from User
Legacy | Add Tokens to User
Legacy | Reduce Tokens from User
Legacy | Set User Tokens
Legacy | Get User Tokens
Legacy | Change Authentication (for SSO)
Legacy | Update User
Home | Perfecto REST API
API operations
Authentication and authorization
Protocols
Test access to API endpoints
API endpoints
Desktop Web Operations
Get Available Desktop Web Devices
Device & Cradle Operations
Get Cradles List
Get Cradle Information
Get Device Information
Get Devices List
Release Device
Update Device
Device Group Operations
Add Device Group
Get Device Groups
Get Device Group
Edit Device Group
Delete Device Groups
Group Management Operations
Create Group
Get Group
Update Group
Delete Group
Find Groups
License Information Operations
Get License Information
Get License Information by Type
Repository Operations
Upload Item to Repository
Download Item from Repository
Get Repository Items List
Get Repository Item Information
Edit Repository Item Information
Change Repository Item (artifact) Locator
Delete Repository Item
Get Tags
Reservation Operations
Create Reservation
Delete Reservation
Get Reservation Information
Update Reservation
Script Operations
Start New Script Execution
Get Script Execution Status
Abort Script Execution
Get Script Executions List
End Script Execution
Simulator Operations
Role Management Operations
Add User to Device Group
Remove User from Device Group
Add Roles to User
Remove Roles from User
User Management Operations
Create User
Update User
Delete User
Find Users
Smart Reporting Public API
Error handling
Perfecto extensions
Audio functions
Audio to Text (FR)
Audio to Text Validation (FR)
Audio Validation (FR)
Inject Audio (FR)
Start audio recording (FR)
Stop audio recording (FR)
Text to Audio (FR)
Voice assistant inject (FR)
Legacy | Device/Application Vitals
Execute proprietary functions
Application functions
Check accessibility (FR)
Clean application (FR)
Close application (FR)
Install application (FR)
Open notifications (FR)
Run app in background (FR)
Start activity (FR)
Start application (FR)
Start PWA (FR)
Stop PWA (FR)
Sync activity (FR)
Uninstall application (FR)
Uninstall applications (FR)
Browser functions
Browser clean (FR)
Browser execute (FR)
Browser go to (FR)
Browser navigate (FR)
Browser open (FR)
Browser sync (FR)
Device functions
Device Info (FR)
Device Ready (FR)
Get Device Log (FR)
Keyboard Display (FR)
Lock Screen (FR)
Reboot Device (FR)
Recover Device (FR)
Clean Device (FR)
Rotate Device (FR)
Run Shell Command (FR)
Event functions
Press key (FR)
Send key event (FR)
File transfer functions
Delete file (FR)
Download file (FR)
File list (FR)
File info (FR)
Get file (FR)
Put file (FR)
Upload file (FR)
IP Geolocation functions
Set IP geolocation (FR)
Get geo-location (FR)
Reset IP geolocation (FR)
Network functions
Get network settings (FR)
Set network settings (FR)
Network virtualization start (FR)
Network virtualization update(FR)
Network virtualization stop (FR)
Performance functions
Get timer (FR)
Timer report (FR)
Timer start (FR)
Timer stop (FR)
Vitals start (FR)
Vitals stop (FR)
Sensory data injection
Camera functions
Start Image Injection (FR)
Stop Image Injection (FR)
Fingerprint functions
Set fingerprint (FR)
Location functions
Inject motion (FR)
Get device location (FR)
Reset device location (FR)
Set device location (FR)
Services functions
Cloud Call (FR)
Cloud Email (FR)
Cloud SMS (FR)
Visual analysis functions
General Visual Analysis parameters
Edit-image get (FR)
Edit-image set (FR)
Edit-text get (FR)
Edit-text set (FR)
Image button click (FR)
Text button click (FR)
Select image (FR)
Select text (FR)
Image checkpoint (FR)
Text checkpoint (FR)
Find image (FR)
Find text (FR)
Screen text (FR)
User actions
Drag (FR)
Gesture (FR)
Swipe (FR)
Touch (FR)
Trackball (FR)
Home | Perfecto answers
Get started
System administration
Export cloud users to an Excel CSV file
Work with the Perfecto Lab User Management Utility
Perfecto data center
Mobile Device Management (MDM) and device passwords
Choose a secure cloud password
Handle untrusted site pop-up window
Block automatic OS update pop-up windows
Security
Ask for help with SSO IdP issues
Restrict access to the Perfecto cloud URL for external IdP
Mobile testing
Work with iOS
iOS 13 | Handle privacy pop-ups
Check if iPA is from App Store
Use iOS 3D Touch
Use multi-touch gestures on Apple devices with assistive touch
iPad | Hide keyboard
iOS sample scripts
Custom swipe for iOS objects with poor identifiers
Enable/disable mobile data on iOS devices
XCUITest automation
PickerWheel automation
Test your app for specific language and region settings
iOS | Work with SFSafariViewController
Double-tap the Home button in iOS
Move iOS app icons from one page to another
iOS | Change device language or region
Close all tabs at once in mobile Safari on iPhone or iPad
iOS | Use deep links
Work with Android
Overcome a black lock screen on an Android device
Obtain dumpstate/logs from Samsung Galaxy devices
Close App command with Google Assistant
Keyboard on Android devices
(HAR File) Verify if an Android device has the mitm certificate installed
Use deep links on Android devices
Start application identifiers for Android Setting screens
Website is not reachable
Manual testing (interactive)
Change the device language on an Android device
Geo-fence testing using set location and notification features
Troubleshoot failure to upload to cloud lab or device
Generate .HAR files in a interactive session
Visual Analysis
Visual analysis with RemoteWebDriver
Measure user experience timing
Timer type descriptions
Use the REST API
Check for available devices in C#
Check for available devices in Java
Manage users with admin utility
Reboot device through REST API
Sample API script in C#: Get device info (read XML response)
Sample API script in C#: Get reservations list (read JSON response)
Speed up testing - API alternative to device selection
Upload item to repository with REST API via VBScript
Testing of NFC
Use Charles Proxy in Perfecto
Instrumentation limitations
"setElementValue command failed. Reason: handset server: cannot Get Result."
Devices restart limitation
Mock a device's network location
Work with Perfecto commands
Network virtualization and HAR files
Automate HAR file downloading
HAR capture utility
Network virtualization, preference testing, and testing for various networks
Troubleshoot network virtualization and HAR captures
Troubleshoot vnetwork start failed
Work with logs
Enable Chrome browser crash logs
Retrieve the Chrome console log
Find the IP address of a mobile device
Desktop web testing
Identify objects on desktop web VMs
Pass Chrome options as capabilities
Start Firefox in incognito mode on a remote desktop cradle
Start Google Chrome in incognito mode on a remote desktop cradle
Set up headless Chrome in a Perfecto environment
Disable "non-secure site" warning on Chrome
Change the time zone on a Windows VM
Prepare files for use with DCS
Test file uploaded via DCS
Use visual analysis to dismiss the web browser pop-up window
Implement the Chrome performance log in Selenium Java
Run registry file on Web VM using DCS
Automate login for desktops
Perform authentication using Internet Explorer or Microsoft Edge
Perform authentication using Chrome or Firefox
Pass Chrome SameSite cookie policies via capabilities
Automation testing
Selenium/Appium
Appium issues
PDF download after test execution
Two-factor authentication with Appium
Clear the cache
Clear the Safari cache on iOS devices
Code samples - languages
A java library for all Perfecto features
Upload and download files from VMs using Wikisend
Data-driven testing
Dynamic data in Selenium
Selenium testing
Use context in Selenium tests
Difference between Selenium visibility methods
isDisplayed() and NoSuchElementError exception
Manage cookies in a script execution
Difference between findElement and findElements
Upload a file to the Perfecto Repository with secure authentication (FR)
Automation for admin activities
Optimize your device reservation
Reserve an available device at runtime
Reserve your device through the code before test execution
Selenium page displays when opening localhost:8080 on desktop web
Text entry
Enter text into fields that contain validation
Use UI elements
Extract the value of a WebElement
Identify objects
Use findElement(s) on a native app
XPath 2.0 updates and workarounds
XPath 2.0 tips
More about iFrames
Work with applications
Check if an application is installed
Run an app from the baseboard
Test your navigation app without leaving the room
Trust an iOS application developer
Use Java RemoteWebDriver with a proxy
Espresso/XCUITest
Espresso | Run only LargeTest
Integrations
Jenkins
Configure Jenkins for Quantum tests
Schedule Jenkins
Parallel execution | Thread local, safeness, and synchronization
Microsoft Azure DevOps
Artifacts/file upload from Azure DevOps (VSTS) to the Perfecto repository using cURL
Create CI projects for Perfecto in Azure DevOps
Perfecto extension available in Azure DevOps Marketplace
Perfecto service connection in Azure DevOps (VSTS) projects
Python
Parametrize tests in Python
JSON: Difference between json.dump() and json.dumps()
JSON: Parse JSON in Python - detailed deserializing
JSON: Work with JSON - detailed Serialization
PyTest Marks
Work with exceptions using PyTest
Quantum
Quantum test duplicator - Beta
Separate Quantum projects
Perfecto native automation
Cache device screenshots for a sequence of screen analysis commands
Count number of items in a list
Device log validation in Perfecto automation
Device position
Devices display after 'Close Device' command
Errors when using execute script and user function
Convert pixel coordinates into percentage coordinates
Use the select device command
Work with a secure field element
Inject text into devices
Input field with validation does not indicate text was entered
Picker wheel
Rotate devices in automation test
Rotate device through data table
Run child scripts as individual reports
String convert command | Code sample
Start application identifiers for Android Setting screens
Work with browsers in automation scripts
Run child scripts in ASync mode
Execute script function
Set up data tables in Perfecto native automation
Data tables in Perfecto native automation
In-test suite loop through devices in a table
Use data tables in script automation
Use execute script (script within a script) with a data table
Add job name and job number to CI jobs
Run parametrized tests in parallel
Perfecto Smart Reporting
Smart Reporting SDK
Device debug logs in Perfecto reports
Tag-driven reports (RTDD workflow)
Public API
Add proxy to download report via Smart Reporting API in Java
cURL Command Samples
Download an STR via REST API
Download crash reports via REST API
Download execution report filtered by ExecutionID using REST API call
Download execution report using REST API call
Download summary PDF report for a job in Java
Get along with the status and history tabs in the Report Library
Single execution ID for multiple tests by using TestNG
User interface
Understand Smart Reporting results - No test name
Understand Smart Reporting results - Unknown result status
Custom project access for a group user in Smart Reporting
Advanced
DevTunnel | Remote web debugging
DevTunnel | Unable to download symbols for iOS
DevTunnel | Changes to custom proxy settings in stunnel.conf
Request support
Capture browser traffic in a HAR file
Home | Courses
Training prerequisites
Preparations for on-site Selenium and Appium Java training
Preparations for online Selenium and Appium Java training
Preperations for Quantum online training
Automation testing courses
Selenium/Appium with Perfecto in C#
C01A | Introduction to Perfecto
C01B | Working with devices
C02A | Interacting with applications
CS02B | XML and XPath
CS02C | Objects and Perfecto
CS03A | Visual analysis
CS03B | Desktop and mobile
CS04A | Native apps and Appium
CS04B | Automating iOS
CS05A | Digital Zoom
CS05B | Perfecto features
Selenium/Appium with Perfecto in Java
Begin Here
My first Perfecto script
J01A | Introduction to Perfecto
J01B | Working with devices
J02A | Interacting with applications
J02B | XML and XPath
J02C | Objects & Perfecto
J03A | Visual Analysis
J03B | Desktop and mobile
J04A |Native apps and Appium
J04B | Automating iOS
J05A | Smart Reporting
J05B | Perfecto features
Quantum
Get started
Module 1 | Introduction to Quantum
Module 2 | Locators and capabilities
Module 3 | Custom steps
Module 4 | Data and executions
Module 5 | Page object model
Module 6 | Power usage
Module 7 | Extending Quantum
Quantum standard practices
Quantum with Java
00 | Setup Quantum
01 | Getting started and manual testing
02 | Introducing Quantum and locators
03 | Automating iOS
04 | Completing locators
05 | Custom steps
06 | Perfecto extensions
07 | Visual analysis
08 | Extending tests to desktop
09 | Smart Reporting
10 | Power usage
Manual testing courses
M01 | Working with devices
Glossary