- getting started
- Introduction: Cloud
- Introduction: Community
- Testsigma Community Cloud
- FAQs
- Telemetry
- Testsigma Terminology
- Testsigma Sample Applications
- collaboration
- Invite Team Members
- Users & Role Management
- Assign Projects
- Review Management [Test Cases]
- Review Management [Elements]
- Delete Users from Project
- Control Who Can Stop Execution via Usage Details and Run Results
- test cases
- Manage Test Cases
- Test Case Details, Activity & History
- Test case list actions
- Test case filters
- Import and Export Test Cases
- Import Test Cases from YAML/GIT
- Import Postman's Collections and Environments
- Test cases for Desktop Windows
- Update Test Case result in a Test Plan
- Test cases for Mobile Web Application
- Test Step Types
- Create Test Steps in Testsigma
- Type: Natural Language
- Type: REST API
- Type: Step Group
- Type: For Loop
- Type: While Loop
- Type: Block
- Type: If Condition
- Nested Step Groups
- Create Test Steps
- Create Test Steps Using Simple English
- Test Step Settings
- Test Step Actions
- Test data in steps
- Reuse Elements
- Test Step Reordering
- Bulk Actions
- Add Steps Before & After
- Web Applications
- Test Step Actions
- Test Step Settings
- Test Data in Steps
- Add Steps Manually
- Reuse Elements
- Update Elements
- Create an Element
- Reorder Test Steps
- Bulk Actions
- Add Steps Before & After
- Record steps anywhere in a Test Case
- RESTful API Testing - Overview
- API Request
- Parameters
- Body Data
- Headers
- Authorization
- Verifications
- Store Variables
- Attachments
- Stored Objects
- Image Injection
- Cross-application testing
- Test Data Management
- 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
- How to add value to test data profile using NLP
- Import Test Data [Parameter]
- Bulk Deletion of a Test Data Profile
- Create Test Data [Environment]
- Elements(Objects)
- Web Applications
- Record Multiple Elements[Recorder]
- Capture Single Element[Recorder]
- Create Elements [Manually]
- Supported Locator Types
- Different Strategies for Formulating Elements
- Shadow DOM Elements
- Verifying elements in Chrome DevTools
- How to Handle iframe Elements?
- android apps
- Record Multiple Elements[Recorder]
- Capture Single Element[Recorder]
- Create Elements [Manually]
- Supported Locator Types
- Different Strategies for Formulating Elements
- ios apps
- Record Multiple Elements[Recorder]
- Capture Single Element[Recorder]
- Create Elements [Manually]
- Supported Locator Types
- Different Strategies for Formulating Elements
- Using Parameter Test Data for Dynamic locators
- Using Runtime Test Data for Dynamic locators
- Using Environment Test Data for Dynamic locators
- Import/Export Elements
- 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
- Disable Test cases in Test plans
- After Test in Test Cases and Step Groups
- Post Plan Hook
- AfterTest Suite
- Email Configuration in Test Plan
- Execute Partial Test Plan Run via API
- Ad-hoc Run
- Test plan executions
- Dry Runs on Local Devices
- 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
- 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
- Dashboard
- visual testing
- Visual Testing
- View & Debug Results
- Update Baseline
- Visual Testing - Configure Test Cases
- desired capabilities
- Most Common Desired Capabilities List
- Enable Browser Console Debugging logs
- Geo location for Localization(L10N)
- Avoid unsafe download prompt(Chrome)
- Set geo location(latitude, longitude) Chrome & Firefox
- Custom User Profile - Chrome
- Emulate Mobile devices with Chrome Browser
- Add Chrome Extension
- Network Throttling
- Network Logs
- Biometric Authentication
- Enable app resigning in iOS
- Enable capturing screenshots for Android and iOS
- Configure Android WebViews
- Run Browser in Incognito/Private mode
- 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
- How to 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
- Reset Password (Community)
- Storage Types (Community)
- 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 and update test data profile
- Trigger Multiple Test Plans
- Trigger Test Plan remotely and wait until Completion
- Run the same Test Plan multiple times in Parallel
- Schedule, Update and 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
- Unable to retrieve value stored in text element
- Unable to capture dropdown element
- Unable to Select Radiobutton
- Unable to Click Checkbox
- Why mobile device not displayed in Testsigma Mobile Test Recorder?
- Unable to create new test session due to unexpected error
Mailbox Test Data Types
Mailbox test data can be utilized in Testsigma for various purposes
- Verify the accuracy of the OTP delivered via email by receiving an email and authenticating its content.
- Validation of email content in numerous languages.
- Assessment of a user's ability to read an entire promotional email within a stipulated time.
Here's how you can use the built-in feature in Testsigma to access the mailbox, check if the mail has been received, open the email, read it, and process it.
Testsigma designed the Mailbox feature to retrieve only the first email's relevant details, such as content, OTP, and subject information.
Prerequisites
Provisioned mailbox - Contact Testsigma Support or use the Instant Chat option; we will provision a mailbox for you.
You should also be familiar with Regular expressions. If not, refer to the Regex guide - MDN Docs
Add Mailbox in Test Step
We will enter the Email Address provided by Testsigma using the Mailbox test data type in Test Step. Follow the steps below:
- Create a new step in the test case, including a placeholder for test data in the NLP.
- Replace the test data placeholder by selecting &|Mailbox| from the test data types dropdown menu.
- Select the Email from the right-side panel.
Here is a quick GIF demonstrating the above workflow:
Fetch OTP from Mailbox
We will use the Test Data Generators available in Testsigma to store the OTP/ any data from the Mailbox selected. Follow the steps below:
- Create a new step in the test case, including a placeholder for test data and an element in the NLP to enter the OTP code in the OTP field.
- Replace the test data placeholder by selecting !|Data Generator| from the test data types dropdown menu.
- Search and select the Test Data generator function !|MailBoxFunctions :: getEmailOTP|.
- Click the element placeholder and select an element from the right side of the panel.
-
Enter the required arguments for the function and create the Test Step.
- Regex: A sequence of characters defines a search pattern. Here, for example, we are given \d{4}, which is a pattern that matches any sequence of four consecutive digits (0-9).
- MailBox: It is an email mailbox that holds incoming email messages. Select Email from the drop-down list.
- Timeout: Enter the time a programme or system is willing to wait for a particular operation to complete. Here, for example, we are given 30 seconds to wait.
Here is a quick GIF demonstrating the above workflow:
For Two Factor Authentication, you must perform Add Mailbox in Test Step and Fetch OTP from Mailbox.
Store Data as a Runtime Variable from Mailbox
We will use the Test Data Generators available in Testsigma to store the OTP/ any data from the Mailbox selected. Follow the steps below:
- Create a new step in the test case, including two placeholders for test data in the NLP to store data in the runtime variable.
- Replace the test-data-1 placeholder by selecting !|Data Generator| from the test data types dropdown menu.
- Search and select the Test Data generator function !|MailBoxFunctions :: contentVerification|.
- Replace the test-data-2 placeholder by selecting $|Runtime| from the test data types dropdown menu. Select the runtime variable from the right side of the panel to store data.
-
Enter the required arguments for the function and create the Test Step.
- Regex: A sequence of characters defines a search pattern. Here, for example, we are given \d{4}, which is a pattern that matches any sequence of four consecutive digits (0-9).
- MailBox: It is an email mailbox that holds incoming email messages. Select Email from the drop-down list.
- Compare String: CompareString is a function used in programming languages to compare two strings and determine if they are equal or not.
- Timeout: Enter the time a programme or system is willing to wait for a particular operation to complete. Here, for example, we are given 30 seconds to wait.
Here is a quick GIF demonstrating the above workflow:
You can store the subject by selecting the Test Data Generator function: !|MailBoxFunctions :: subjectVerification|.
Create Mailbox Alias in Test Step
In the test step; you can create a mailbox alias that associates an additional email address with your primary email account. You can use it to create multiple email addresses that all lead to the same inbox. It generates a unique mailbox every time you execute it during test execution.
- Create a new step in the test case, including two placeholders for test data in the NLP to create a mailbox alias.
- Replace the test-data-1 placeholder by selecting !|Data Generator| from the test data types dropdown menu.
- Search and select the Test Data generator function !|MailBoxAliasFunctions :: generateMailBoxAlias|.
- Select Linked Mailbox to create a unique mailbox every time and click Save.
- Delete the test-data-2 placeholder and enter text by creating a runtime variable and storing the email. Here, for example, we are given Email1 as a runtime variable. Alternatively, select $|Runtime| from the test data types and store the email by selecting the runtime variable from the right side of the panel.
Here is a quick GIF demonstrating the above workflow:
Generate Mailbox Alias for Test Cases Execution
Sometimes, you may need to test email-based functionalities for multiple new accounts with limited email addresses. In such scenarios, Testsigma allows you to generate new aliases every time during the test case execution.
Below are the NLP tools that you can use for the same. It would be best to use add-ons such as Data Generators and Actions with the NLP tools mentioned below to store email in the runtime variable and verify the email messages.
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.