こんにちは!SETチームの塩濱です。
hacomonoではニックネーム文化なのではまちゃんと呼ばれております。
今回はhacomonoで活用しているE2Eの自動化ツール、mablでメールの確認導線を自作API→mablのオプションであるMailBox機能に置き換えた話を書いていきたいと思います。
MailBox機能自体が気になる方は、mablの記事も貼り付けておきますので気になる方はこちらもどうぞ。 help.mabl.com
置き換える前の状態
hacomonoにはメールを送信する機能が備わっており、正しい文章でメールが送られたかどうかの確認をする必要があります。
mablでのMailBox機能は元々契約しているプランでは使用ができない機能だったので、
メールの送付確認部分だけを切り出してメールがきたことを従来通り、手動で確認する必要がありました。
ただメールの送付確認をするという箇所は各シナリオに散らばっており、
手動でそこだけ確認に切り出すというのも一つ手間に感じる部分でした。
せっかくならここも含めて自動化したいという思いがあり
JavaScriptのスニペット作成は自由度が高く扱えることが分かっていたので、mabl内でGmailのAPIを使用して、メールの取得・本文の確認をすることにしました。
置き換える前の課題点
GmailのAPIを叩くJavaScriptのスニペットを作成したことで、メールが届いたこと & メールの本文の内容確認はできるようになったものの
あくまで簡易的に作成しているスニペットなので、cloud実行時にネットワークの疎通の部分でFailedになってしまったりFlakyなテストにもなることがありました。
また、Gmail APIを叩くための認証情報などは私個人の会社アドレスを使用して取得をしていたので
実装当時は一人で開始したからまだよかったものの現在ではSETチームも3名に増えたので属人化しすぎている実装箇所でもあり、改善することは必須の状況と感じておりました。
MailBox機能を使用開始
前段であげた課題点をまとめた内容で稟議申請し、無事今回のメインテーマである「MailBox機能」が使用可能な状態になったので、早速今までGmail APIで使用していた箇所をMailBoxに置き換える作業に取り掛かり始めました。
結論から先に述べますと、置き換え作業自体はスムーズに進みました。
まず初めに、どのような変更が必要かの認識を揃えました。
- チームでまずMailBox機能がどんなものかお触り会を実施
- 触ってみた感触をまとめる
- このように置き換えようの方針を決める
実際にhacomonoでMailBox機能を触ってみたときに、mablのドメインを許可しないといけないことが分かったり多少インフラ作業も必要になったので
この時点で必要な事前準備について知ることができたこともスムーズにいった一つのポイントに思います。
その後に、元々使用しているFLOWを削除して、新たなFLOWを作成して置き換えるのではなく、
既存で使用していたメールの確認導線FLOWの中身だけをGmal API → MailBoxを使用する形に編集し一つの置き換えたFLOWをマージすれば基本的に全シナリオにも適用される状態としました。
その結果、1時間もかからずに30以上のシナリオで使われていたメール導線の置き換え作業が完了しました。
MailBox機能を使ってみて
hacomonoでは、以下部分で使用しております。
- 届いたメールの本文チェック
- 届いたメールからURL部分を抜き出して変数に格納
- こちらのURLに遷移することで擬似的にメール本文内のURLをクリックした操作を実現しています
置き換えたことで、cloud実行は安定し、属人化していた実装も無くすことができた点が最大のメリットに感じます。
最後に
まだまだ触りきれていない便利な機能が沢山あると思っていますので、もっと有効的に活用できるよう運用していきたいなと思っています!
hacomonoでは採用も行っておりますので、興味のある方は以下の採用ページも見ていただけるととても嬉しく思います!