- collaboration
Invite Team Members
Assign Projects
Users & Role Management
Review Management [Test Cases]
Review Management [Elements]
Execution Controls
Manage Test Cases
Test Case List Actions
Import and Export Test Cases
Import Test Project Test Cases
Importing Postman Collections and Environments
Update Test Case result in a Test Plan
Test Cases (Mobile Web App)
- Test Step Types
Type: Natural Language
Type: REST API
Type: Step Group
Type: For Loop
Type: While Loop
Type: Block
Type: If Condition
Nested Step Groups
Image Injection
Cross-application testing
- Test Data Types
Raw
Parameter
Runtime
Random
Data Generator
Phone Number
Mail Box
Environment
Concat Test Data
Create Test Data [Parameter]
Update Test Data Profile
Updating Value in TDP
Import TDP
Bulk Deletion of a Test Data Profile
Create Test Data [Environment]
- Elements (Objects)
- Web Applications
Record Single Element
Record Multiple Elements
Create Elements
Supported Locator Types
Formulating Elements
Shadow DOM Elements
Verifying elements in Chrome DevTools
Handling iframe Elements?
Dynamic Locators using Parameter
Dynamic Locators using Runtime
Using Environment Test Data for Dynamic Locators
Locating Dynamic Elements in Date Widget
Freeze & Inspect Dynamic Elements (WebPage)
Locating Dynamic Elements in Tables
Import/Export Elements
AI Enabled Auto-Healing
Locator Precedence (Web Apps)
Verify Elements from Test Recorder
- test step recorder
Install Chrome Extension
Install Firefox Extension
Install Edge Extension
Exclude Attributes/Classes
- test plans
Add, Edit, Delete Test Machines
Add, Edit, Delete Test Suites
Schedule Test Plans
Run Test Suites In Parallel
Cross Browser Testing
Distributed Testing
Headless Testing
Test Lab Types
Disabling Test Cases in Test Plans
AfterTest Case
Post Plan Hook
AfterTest Suite
Email Configuration in Test Plan
Execute Partial Test Plans via API
Ad-hoc Run
Test Plan Executions
Dry Runs on Local Devices
Run Tests on Private Grid
Run Tests on Vendor Platforms
Run Test Plans on Local Devices
Test Locally Hosted Applications
Debug Test Case Failures
Parallel and Allowed queues
- debugging
Debug results on local devices (Web applications)
Debug Results on Local Devices
Launch Debugger in the Same Window
- Testsigma Agent
Pre-requisites
Setup: Windows, Mac, Linux
Setup: Android Local Devices
Setting up iOS Local Devices
Update Agent Manually
Update Drivers Manually
Delete Corrupted Agent
Delete Agents: Soft & Permanent
Triggering Tests on Local Devices
- troubleshooting
Agent - Startup and Registration Errors
Agent Logs
Upgrade Testsigma Agent Automatically
Specify Max Sessions for Agents
Testsigma Agent - FAQs
- continuous integration
Test Plan Details
REST API (Generic)
Jenkins
Azure DevOps
AWS DevOps
AWS Lambda
Circle CI
Bamboo CI
Travis CI
CodeShip CI
Shell Script(Generic)
Bitrise CI
GitHub CICD
Bitbucket CICD
GitLab CI/CD
- desired capabilities
Most Common Desired Capabilities
Browser Console Debug Logs
Geolocation Emulation
Bypass Unsafe Download Prompt
Geolocation for Chrome & Firefox
Custom User Profile in Chrome
Emulate Mobile Devices (Chrome)
Add Chrome Extension
Network Throttling
Network Logs
Biometric Authentication
Enable App Resigning in iOS
Enable Capturing Screenshots (Android & iOS)
Configure Android WebViews
Incognito/Private mode
Set Google Play Store Credentials
- addons
What is an Addon?
Addons Community Marketplace
Install Community Addon
Prerequisites(Create/Update Addon)
Create an Addon
Update Addon
Addon Types
Create a Post Plan Hook add-on in Testsigma
Create OCR Text Extraction Addon
- configuration
API Keys
- Security(SSO)
Setting Up Google Single Sign-On(SSO) Login in Testsigma
Setting Up Okta Single Sign-On Integration with SAML Login in Testsigma
Setting up SAML-based SSO login for Testsigma in Azure
iOS Settings
Creating WDA File for iOS App Testing
- uploads
Upload Files
Upload Android and iOS Apps
How to generate mobile builds for Android/iOS applications?
- Testsigma REST APIs
Environments
Elements
Test Plans
Upload Files
Get Project Wide Information
Upload & Update Test Data Profile
Fetch Test Results (All Levels)
Trigger Multiple Test Plans
Trigger Test Plans Remotely & Wait Until Completion
Run the Same Test Plan Multiple Times in Parallel
Schedule, Update & Delete a Test Plan Using API
Update Test Case Results Using API
Create and update values of Test Data Profile using REST API
Rerun Test Cases from Run Results using API
- open source dev environment setup
macOS and IntelliJ Community Edition
macOS and IntelliJ Ultimate Edition
Windows and IntelliJ Ultimate Edition
Setup Dev Environment [Addons]
- NLPs
Retrieve Value in Text Element
Capture Dropdown Elements
Unable to Select Radiobutton
Unable to Click Checkbox
Clearing the Session or Cookies
UI Identifier NLP
Drag & Drop NLP
Uploading Files NLP
- setup
Server Docker Deployment Errors
Secured Business Application Support
Troubleshooting Restricted Access to Testsigma
Why mobile device not displayed in Testsigma Mobile Test Recorder?
Unable to Create New Test Session
Agent Startup Failure Due to Used Ports
Tests Permanently Queued in Local Executions
Fix Testsigma Agent Registration Failures
Testsigma Agent Cleanup
Need of Apache Tomcat for Testsigma Agent
- web apps
URL not accessible
Test Queued for a Long Time
Issues with UI Identifiers
Missing Elements in Recorder
Collecting HAR File
Errors with Browser Session
Page Loading Issues
- mobile apps
Failed to Start Mobile Test Recorder
Troubleshooting “Failed to perform action Mobile Test Recorder” error
Test Execution State is Queued for a Long Time
Mobile app keeps stopping after successful launch
More pre-requisite settings
Unable to start WDA Process on iPhone
Most Common causes for Click/Tap NLP failure
Finding App Package & App Activity (Android)
Cross-environment Compatible ID Locators (Android)
Why Accessibility IDs Over other Locators?
Common Android Issues & Proposed Solutions
Finding the App Bundle ID for iOS
- on premise setup
On-Premise Setup Prerequisites
On-Premise Setup with Docker-compose File
Post-Installation Checklist for On-Premise Setup
Install Docker on an Unix OS in Azure Infrastructure
SMTP Configuration in Testsigma
Configure Custom Domains
- salesforce testing
Intro: Testsigma for Salesforce Testing
Creating a Connected App
Creating a Salesforce Project
Creating Metadata Connections
Adding User Connections
Build Test Cases: Manual+Live
Salesforce Element Repositories
Intro: Testsigma Special NLPs
Error Handling On Metadata Refresh
Automating Listview Table NLPs
- windows automation
Intro: Windows Desktop Automation
Windows (Adv) Project & Application
Object Learning (Using UFT One)
Converting TSR Files to TSRx
Importing/Updating TSRx Files
Test Cases for Windows Automation
Error Handling Post TSRx File Update
Test Data Type: Mail Box
Testsigma provides a digital inbox called Mail Box to verify OTP accuracy, check for received emails, open and read them, process them, validate email content in various languages, and test the speed at which a user can read a promotional email during testing. This guide will help you access and manage the Mail Box.
Testsigma designed the Mail Box feature to retrieve relevant details from the first email, including content, OTP, and subject information.
Prerequisites
Before using Mailbox Test Data, ensure that you understand specific concepts such as creating a Test Case, managing Test Steps, and effectively using them with Test Data Types and Data Generators. Additionally, familiarise yourself with Regular expressions if necessary.
You can enable Mail Box for your account by contacting support@testsigma.com or using the instant chat option.
Adding Mail Box in a Test Step
Follow these steps to include an email address provided by Testsigma using the Mailbox test data type in a Test Step:
- Use NLP to create a new step in the Test Case and include a placeholder for test data.
- Click the test data placeholder to replace it, and then select the & Mail Box from the Test Data Types dropdown menu.
- Select the Email from the right-side panel.
Fetching OTP from Mail Box
Follow these steps to retrieve OTP or any data from the selected Mailbox using Test Data Generators in Testsigma:
- Use NLP to create a new step in the Test Case that adds a placeholder for test data and an element for entering the OTP code in the OTP field.
- Click the test data placeholder to replace it, and then select the ! Data Generator from the Test Data Types dropdown menu.
- On the right sidebar, select Data Generator type as the default, Function type as MailBoxFunctions, and choose the function as getEmailOTP from the dropdown menu.
-
Configure the Test Step by providing the necessary details for the function:
- Regex: A search pattern is created by a sequence of characters. For instance, \d{4} matches four consecutive digits (0-9).
- MailBox: Select Mail Box from the drop-down list. It stores incoming email messages.
- Timeout: Set the time for how long a program or system should wait for a specific task to finish. In this example, we will wait for 30 seconds.
- Click Save to store the provided arguments in the data generator for this test step.
Here is a quick GIF demonstrating the above workflow:
You must perform both Add Mail Box in Test Step and Fetch OTP from Mail Box for Two-Factor Authentication.
Store Data as a Runtime Variable from Mail Box
Follow the below steps to save the data obtained from the Mailbox as a runtime variable to use later in the test case using Test Data Generators in Testsigma.
- Create a new step in the Test Case using NLP that adds two placeholders for test data to store data as runtime variables.
- Click the test data-1 placeholder to replace it, and then select the ! Data Generator from the Test Data Types dropdown menu.
- On the right sidebar, select Data Generator type as the default, Function type as MailBoxFunction, and choose the Function as contentVerification from the dropdown menu.
-
Configure the Test Step by providing the necessary details for the function:
- Regex: A search pattern is created by a sequence of characters. For instance, \d{4} matches four consecutive digits (0-9).
- MailBox: Select Mail Box from the drop-down list. It stores incoming email messages.
- Compare String: Provide the CompareString function, which compares two strings and determines if they are identical.
- Timeout: Set the time for how long a program or system should wait for a specific task to finish. In this example, we will wait for 30 seconds.
- Click Save to store the provided arguments in the data generator for this test step.
- Substitute specific text for the test-data-2 placeholder and create a step to generate a runtime variable that stores the value in that text.
Here is a quick GIF demonstrating the above workflow:
You can store the subject by selecting the Test Data Generator function: ! MailBoxFunctions :: subjectVerification.
Create Mail Box Alias in Test Step
During a test step, you can create a mailbox alias that connects an additional email address to your primary email account. This allows you to generate multiple email addresses that all direct to the same inbox. When you execute the test, it generates a unique mailbox for each alias.
- Create a new step in the Test Case using NLP that adds two placeholders for test data to create a mailbox alias.
- Click the test data-1 placeholder to replace it, and then select the ! Data Generator from the Test Data Types dropdown menu.
- On the right sidebar, select Data Generator type as the default, Function type as MailBoxFunction, and choose the Function as generateMailBoxAlias from the dropdown menu.
- Select Linked Mail Box to create a unique mailbox every time and click Save.
- Substitute specific text for the test-data-2 placeholder and click Create Step to save the test step. It stores the mailbox within the text as a runtime variable.
For example, we store the email in a runtime variable named email1. You can use it in the Test Case by selecting $ Runtime from the test data types.
Here is a quick GIF demonstrating the above workflow:
Generate Mail Box Alias for Test Cases Execution
With Testsigma, you can generate new mailbox aliases every time during test case execution, improving efficiency and reusability by making it easy to use in many test steps or test cases. If you have only a few email addresses but need to test functions related to emails for various new accounts, Testsigma can help.
Data Generators | Actions | Inputs |
---|---|---|
! MailBoxAliasFunctions :: getEmailContent | This will get the entire email's content into a variable. | |
! MailBoxAliasFunctions :: getEmailSubject | This will get the entire email's subject into a variable. | |
! MailBoxAliasFunctions :: getOTP | This will fetch the OTP sent to the email box into a variable. | |
! MailBoxAliasFunctions :: urlWithText | This will fetch the URL that contains some required text. | |
! MailBoxAliasFunctions :: urlWhichContains | This will fetch the URL that contains some required parameters. | |
! MailBoxAliasFunctions :: urlMatchingRegex | This will fetch the URL that contains a URL matching the required regex. |
Below is a screenshot showing a test case generating a mailbox alias and getting content from the email.
Sample Test Case for 2FA using Mailbox
Two-factor authentication provides additional protection for your application. With Testsigma, you can easily set up Mailbox, retrieve OTP using mailbox functions, and perform tests securely. This article discusses testing 2FA for MailBox.
Prerequisites:
- You should know how to create a test case.
- You should know how to use mailbox & data generator test data types.
- You need to have a dedicated Mailbox for your account. Contact support@testsigma.com for more information.
Creating Test Case for 2FA Using MailBox
- Navigate to Create Tests > Test Cases, and click on Create Test Case.
- On the Test Case details page, create test steps manually or using the recorder.
- For Step 4, we use & Mailbox and enter the email linked to the account in the email input field.
- In Step 5, we click on the ! Data Generator. This will open ! Data Generator overlay.
- On the ! Data Generator overlay, select Type, Function Type, Function, Enter Regex, Runtime Variable, Timeout and click on Save. Here, we add regex [0 - 9]+, which extracts the first encountered series of numbers. The extracted data, which is OTP, will be stored in the runtime variable. For more information on examples of regex, refer to https://regex101.com/.
- This will help fetch OTP and enter it in the input element.
- Click on Run to execute the test case.
Setup the Email Forwarding for Automation Mailbox
In some cases, app restrictions will prevent the delivery of OTPs to the Testsigma Mailbox. In this case, you can use the Testsigma SMS Forwarder App, which forwards messages to a designated mailbox and allows you to retrieve OTPs conveniently.
Prerequisites
- You should have Testsigma SMS Forwarder application.
- You should know how to use mailbox & data generator test data types.
- You need to have a dedicated Mailbox for your account. Contact support@testsigma.com for more information.
Setting Up Forwarding Rules (Gmail)
Access Gmail Settings
- Open your Gmail account.
- Click on the gear icon in the upper-right corner.
- Select See all settings.
Navigate to Filters and Blocked Addresses
- From the settings, click on the Filters and Blocked Addresses tab.
- Create a filter to forward emails with specific content or subject. In this case, we can have text that is constant and is present in all emails that we want to forward.
Create a New Filter
- Click on Create a new filter.
-
Specify the criteria for the filter:
- Subject: Define the subject of the email that you wish to forward.
- Has the words/Doesn’t have words: Include text that is present in all emails you want to forward.
Configure Forwarding Address
- After creating the filter, click on Add forwarding address on When a message is an exact match for your search criteria overlay.
- Click on Add Forwarding address and add the designated automation email ID.
- Complete the setup by entering the OTP.
- You can contact the support team for OTP retrieval, which involves fetching data from the backend.
- For a sample test case associated with the Testsigma SMS Forwarder app, refer to setup & use message forwarding.