Outline
メールを受信して、そのメールのコンテンツからログインなどを行う、多要素認証MFAを使ったサイトがある。
このMFAを用いたサイトのテスト自動化では、メールの取得方法が重要になる。
前回、IMAPを用いてメールを取得する方法を記載した
今回、T-DASHテスト自動化でPOP3を用いてメールを取得する方法になる
POP3のテストサイト
POP3が使えるサイトとして5x2.deを用いた。
こちら、ドイツのサイトになりますが、IMAPを利用でき、無料です。
このメールサーバーではIMAPの情報は以下の通りです
パラメータ | 値 |
---|---|
POP3_SERVER | mail.5x2.de |
POP3_PORT | 110, 995 |
MAIL_USER | メールアドレス (ex. xxxx@5x2.me) |
技術情報
MailClientLibrary を用いた
POP3のサーバー情報を設定し、いくつかの手段でメールを取得することができる。
今回、senderを指定して、最初に見つかったメールを取得するものとする。
T-DASH
カスタム動作
以下設定なようをメール処理POP3.yamlのファイルで保存する
ACT-CAT-CUSTOM-ad35bd43-0bc3-443e-ba74-3421ca00fa5e:
action_category_name: MailPOP3
icon: ''
color: '#f96779'
custom_data:
file_name: MailPOP3
pip_list:
- robotframework-mailclient
library_list:
- MailClientLibrary
actions:
ACT-CUSTOM-6b11da19-93d6-4422-88ef-d079b0721824:
action_name: POP3で最新のメールを取得する
action_type: operation
action_format: sender=「設定値1」のメールを取得
action_note: ''
action_args:
- value1
action_def:
- - Set Test Variable
- ${POP3_SERVER}
- mail.5x2.de
- - Set Test Variable
- ${POP3_PORT_SSL}
- '995'
- - Set Test Variable
- ${POP3_PORT}
- '110'
- - Set Test Variable
- ${MAIL_USER}
- xxx@example.com
- - Set Test Variable
- ${MAIL_PASSWORD}
- xxxxx
- - Set Pop3 Server Address
- ${POP3_SERVER}
- - Set Pop3 Ssl Port
- ${POP3_PORT_SSL}
- - Set Pop3 Port
- '${POP3_PORT} '
- - Set Pop3 Username And Password
- ${MAIL_USER}
- ${MAIL_PASSWORD}
- - ${mail_count} =
- Get Pop3 Mail Count
- - Log
- mail_count = ${mail_count}
- - ${mail_content} =
- Open Pop3 Mail By Sender
- ${value1}
- - Log
- mail_content = ${mail_content}
- - Set Suite Variable
- ${share_value}
- ${mail_content}
次に、作成された POP3.yamlをT-DASHの動作定義 -> カスタム動作 -> カスタム動作をインポート にてインポートする
引数として、senderを指定することで、指定したsenderで最初に見つかったメールの、本文を変数${share_value}に格納します
スクリプト
TEXTメールを取得する
スクリプト
設定値1にsenderを指定します。
実行結果
件数と、みつかったメールの本文がログに出力され、かつ${share_value}に格納されます。