Autify’s [Email Testing feature] allows you to test all of the following procedures:
- Create a test email account (email address and mailbox)
- Confirm that the email, which was sent as a result of a user workflow, has been received
- Verify the content of the received email
- Confirm that the user can navigate to other web pages by following a link(s) within the email
Previously, testing all of these would have required several tools.
Although [Email Testing] is a very powerful feature on its own, there are some tips and tricks that can be use to further this features capabilities.
Email Testing in Practice
To learn the basics on how to record [Test Scenarios] using the [Email Testing] feature, please read the Email Testing article.
With the basics down, let’s look at how to create [Test Scenarios] with more advanced Email Testing methods.
Sample Use Cases
Verify that the content displayed on a website is included in the body of an email
The following example is one a common use case for [Email Testing]:
- The user completes a workflow on a web page
- Your system sends an email as soon as the workflow is completed
- Autify verifies that the email contains the same string as what is displayed on the completion screen
This is commonly seen in [Test Scenarios] that verify online ordering or booking processes. What's the best way to create a [Test Scenario] to test these processes?
Here are the steps:
- Record the test until the point where the web page displays the target string.
- Insert a [JS Step], which captures the specified string and puts the string value in a return statement.
You can use this JS snippet as a template.
- Continue recording the Scenario until an email is sent. Then, open the target email to inspect from the Autify Recorder.
- Record an assertion for the text within the email and save the [Test Scenario].
- From the Scenario Details Page, click on the step in which you want to input the captured string. Select “Other step’s result” in the "Text" section dropdown and specify the [JS Step] which you created.
By creating a Test Scenario following these steps, you can verify that the email contains the string displayed on your website!
Enter the text from an email into a webpage
What if you want to enter the text contained in an email to your web app? A common instance where this is utilized is when verifying a two-step authentication code sent via email. You can see how to facilitate this workflow by viewing the How To Test Two-Step Verification via Email With Autify article.
Transition to the original screen or a specific page after opening an email
The [Email Testing] feature will open the specified email in the browser window you are recording on. If you wish to return to the website after verifying the email contents, please bear in mind you cannot record the clicking of the Back or Forward button in the browser. Instead, please record one of the following operations:
Method 1: Go back to the previous screen using a [JS Step]
- On the Test Scenario Details Page, insert a [JS Step] where you want to go back to the screen before opening the email and insert the following script:
Method 2: Open the email in a new window
- Before opening the email, add a Go to URL step with the "Open in new window" checkbox enabled (you can use any URL).
- Open the email in the newly opened window and continue recording any necessary assertions.
- Close the window you opened the email in. This will take you back to your original web page.
If you wish to go to a specific page after opening the email, please record the following:
- Add a Go to URL step after the step which opens the email, and specify the URL of the page you wish to navigate to.
- The specified page should then launch.
If a link is included in the email, you navigate to the linked page in the same window by clicking the link and from there, can continue the email flow and carry on recording.
Tips for Creating Stable Test Scenarios
When creating a [Test Scenario] using the [Email Testing] feature, here are a few things to keep in mind when creating tests, so that you get stable results.
Correctly Choosing Between Fixed and Random Email Addresses
The first step to using [Email Testing] effectively is to pick between a [Fixed email address]
or a [Random email address] based on the type of Test Scenario you wish to create.
Please see the following article on how to choose a suitable email address:
Always open emails sent by an operation in Test Scenarios
If operations from a [Test Scenario] send multiple emails, please avoid letting multiple unread emails sit in the inbox. You can ensure that the intended email is opened by opening all emails sent during a [Test Scenario] as they are received, so that the inbox always has only one unread email each time.
For test scenarios that may be executed simultaneously, use separate fixed email addresses
If you choose to use a [fixed email address], please be careful not to send multiple emails to the same inbox around the same timeframe. If you use [email testing] in multiple [test scenarios] that may be executed simultaneously, we recommend using a separate [fixed email address] for each [test scenario]. Alternatively, you could opt for a [random email address].
Sometimes unexpected errors occur when you run a [Test Scenario] that includes [Email Testing]. Here are some common issues.
Autify couldn't locate and opened email during test execution
- Autify didn’t receive an email from the application during the test
- The intended email had been opened by another [test scenario] that was being executed simultaneously (if using a [fixed email address])
- The “Open Email” step was performed, which opens emails received by the Autify over 30 minutes ago
If you can’t locate the email, please verify whether the email was sent out from your system when Autify ran the test.
If you are using a [fixed email address], you can check previously received emails from the [Email Address] section on the Workspace Settings Page.
Please contact us if you are unsure why your email cannot be located during the test, even though it appears to have been sent and received successfully.
The email opened during test execution was not the one that which was intended
- Multiple emails were received within the same [Test Scenario], and out of those, an unintended email was selected
- The target email was opened by another [Test Scenario] that was being executed simultaneously, and a similar email, which remained in the inbox, was opened instead (if using a [fixed email address])
In both cases, this issue can often be resolved by following the tips on creating [test scenarios] described above.
An email in the inbox cannot be opened when making additional recordings
Autify’s [email testing feature] only opens emails in the inbox once (only unopened emails are considered during test execution). Therefore, if you are making additional recordings after the step that opens the email, please perform a [local replay], including the step where the email is sent.
If you continue to encounter issues when using the [Email Testing] feature after reading this guide, or have any feedback regarding this feature, please feel free to contact us!