Attaching a Data File to an Email
This example demonstrates how within a test script you can implement the functionality of attaching a Data File to an email from within the context of an automated test in execution.
The script snippet in this example builds upon the script snippet of the example that covers the composing and sending an email within an automated test. It uses an additional command 'setAttachmentDataFile' to construct the email body and attach a data file that exists within your project that is included in instruction #8 in the script snipper provided below.
Solution:
# | Command | Target | Value |
---|---|---|---|
To begin the email service block | |||
1 | emailBlockStart | ||
To set the sender for the composed email | |||
2 | setSender | <sender> | |
To set the subject for the composed email | |||
3 | setSubject | <subject> | |
To set the ‘To’ recipient list for the composed email | |||
4 | setRecipientToList | recipient1@gmail.com | |
To set the ‘CC’ recipient list for the composed email | |||
5 | setRecipientCCList | recipient2@gmail.com, recipient3@gmail.com | |
To set the ‘BCC’ recipient list for the composed email | |||
6 | setRecipientBCCList | recipient4@gmail.com | |
To create the email body with a variable name | |||
7 | createBody | body_template | |
To create an email body part from Text or HTML string | |||
8 | createBodyPartFromTextOrHTML | Hi <mention recipient’s name here>, <mention your body text here> |
body_template |
Sets Data File as an attachment to the email | |||
9 | setAttachmentDataFile | <mention your data file name here> | |
To send the composed email to the sender’s specified in “To, CC and BCC” list | |||
10 | sendEmail | ||
It indicates the end of the email block | |||
11 | emailBlockEnd |
Tips, Tricks, Gotchas & Best Practices:
- The subject can be foreign language characters.
- You can also use css styles like underlines, font colour, and to highlight anything important in bold letters and the table background colour in the email body to make the email look effective.
Representative Use Cases for this Example:
Use Case #1:
After scheduling a run/batch of runs in Worksoft SaaS, the user has to login to Worksoft SaaS to know the run details, inputs and the screenshots of each and every test run as part of certification/CTC runs. The user can log in and search for the respective run details if the runs are in a single number.
What would be the case if there were hundreds of runs?
Consider a driver run, in order to trigger the batch of test runs at the scheduled time, we prefer using driver run which in turn triggers the actual runs.
If the user wants to know the run details in the driver runs like Run Definition Name, Run ID, Testing Context Key, Test Start time, failure reason, the instance of failure occurrence and the response of the scheduled run...and so on. Then the user has to check those scheduled runs in Home screen else, checks the count through the Test Cycles screen by searching the Test Cycle Identifier under which runs are grouped. This process involves multiple navigations, ambiguity and time consumption.
Also in case of failures, while triggering the runs, the triage to identify the root cause for failure would consume a lot of time if more runs are executed.
To enable the user to have access to the information faster w/ minimal actions; Worksoft SaaS allows to customize emails which can be triggered from the execution.
An email can be customized using the above commands in such a way that the below details will be sent to the user within the email.
- Run Definition Name
- Run ID
- Testing Context Key
- Test Start time
- Response of the scheduled run
- Input driver Data File
- Input file
- Output Data Set
- Error message
If the user wants to notify with the similar cases as mentioned above, an email can be customized in such a way that the input Data File will be sent as an attachment to the users specified in the "To", "CC" and "BCC" list.
Use Case #2:
Consider an e-commerce site https://www.amazon.com, add 5 or more products into the cart, verify the count of products in the shopping bag, proceed to checkout, add shipping details and complete payment method and then try to place an order.
In the above process, there are certain cases like
1. Products may or may not add into the cart
2. Product may available or may not available or out of stock
3. Payment process may successful or unable to process the payment details
4. The Order may be placed or may not be placed
If the user wants to capture all the above-mentioned cases w/ relevant details like product name, order number, payment details, etc.., an email can be customized using these commands and sent to the user using the email commands.