Robot Framework IMAP Mail Check Library
Project description
robotframework-imaplibrary is a Robot Framework test library to test mail validation tasks.
Installation
To install, just fetch the latest version from PyPI:.
pip install –upgrade robotframework-imaplibrary
Usage
Setup in the robotframework Settings section:
Setting |
Value |
---|---|
Library |
ImapLibrary |
These keyword actions are available:
Open Mailbox: Open the mailbox on a mail server with a valid authentication: Arguments: - server: the server name (e.g. imap.googlemail.com) - user: the user name (e.g. me@googlemail.com) - password: the user's password Wait for Mail: Wait for an incoming mail. Check the mailbox every 10 seconds for incoming mails until a matching email is received or the timeout is exceeded. Returns the mail number of the latest matching email. Arguments: - fromEmail: the email address of the sender (not required) - toEmail: the email address of the receiver (not required) - status: the status of the email (not required) - timeout: the timeout how long the mailbox shall check emails in seconds (defaults to 60 seconds) Get Links From Email: Finds all links in an email body and returns them Arguments: - mailNumber: is the index number of the mail to open Get Matches From Email: Finds all occurrences of a regular expression Arguments: - mailNumber: is the index number of the mail to open - regexp: a regular expression to find Open Link from Mail: Find a link in an email body and open the link. Returns the links' html. Arguments: mailNumber: the number of the email to check for a link linkNumber: the index of the link to open (defaults to 0, which is the first link) Get Email body: Returns an email body Arguments: mailNumber: the number of the email to check for a link Walk Multipart Email Returns the number of parts of a multipart email. Content is stored internally to be used by other multipart keywords. Subsequent calls iterate over the elements, and the various Get Multipart keywords retrieve their contents. Arguments: mailNumber: the index number of the mail to open Get Multipart Content Type Return the content-type for the current part of a multipart email Get Multipart Payload Return the payload for the current part of a multipart email Arguments: decode: an optional flag that indicates whether to decoding Get Multipart Field Names Return the list of header field names for the current multipart email Get Multipart Field Returns the content of a header field Arguments: field: a string such as 'From', 'To', 'Subject', 'Date', etc. Mark as read: Mark all received mails as read Close Mailbox: Close the mailbox after finishing all mail activities of a user.
For more informaiton on status see: Mailbox Status.
Here is an example of how to use the library:
Action |
Argument |
Argument |
Argument |
Argument |
Argument |
---|---|---|---|---|---|
Open Mailbox |
server=imap.googlemail.com |
password=mysecretpassword |
|||
${LATEST}= |
Wait for Mail |
status=UNSEEN |
timeout=150 |
||
${HTML}= |
Open Link from Mail |
${LATEST} |
|||
Should Contain |
${HTML} |
Your email address has been updated |
|||
Close Mailbox |
Here is an example of how to work with multipart emails, ignoring all non content-type=’test/html’ parts:
Action |
Argument |
Argument |
Argument |
Argument |
---|---|---|---|---|
Open Mailbox |
server=imap.googlemail.com |
password=mysecretpassword |
||
${LATEST}= |
Wait for Mail |
timeout=150 |
||
${parts}= |
Walk Multipart Email |
${LATEST} |
||
@{fields}= |
Get Multipart Field Names |
|||
${from}= |
Get Multipart Field |
From |
||
${to}= |
Get Multipart Field |
To |
||
${subject}= |
Get Multipart Field |
Subject |
||
:FOR |
${i} |
IN RANGE |
${parts} |
|
Walk Multipart Email |
${LATEST} |
|||
${content-type}= |
Get Multipart Content Type |
|||
Continue For Loop If |
‘${content-type}’ != ‘text/html’ |
|||
${payload}= |
Get Multipart Payload |
decode=True |
||
Should Contain |
${payload} |
Update your email address |
||
${HTML}= |
Open Link from Mail |
${LATEST} |
||
Should Contain |
${HTML} |
Your email address has been updated |
||
Close Mailbox |
License
The robotframework-imaplibrary is licensed under the Apache 2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for robotframework-imaplibrary-0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9ae0f0313f26ed87df88eae9f10b94d1bf9b27f38bb5f245da13268e6ed1baf |
|
MD5 | 10210ff0ad1070e7940fea6a35c5f4b0 |
|
BLAKE2b-256 | eb28c4cfc154f0c84b8bbdfee74d5b1f321cc1b30d06c917a79bb17e2b88010c |