SMS認証テストを自動化してみた(iPhoneのショートカットアプリ編)
こんにちは。MagicPod カスタマーサクセスのIshiiです。
「SMS認証が組み込まれているアプリの自動化はできますか?」というご質問をよくいただきます。
MagicPod単体では難しいという回答になるのですが、モバイル実機を組み合わせれば自動化することが出来ます。
iPhoneのショートカットアプリを用いた自動化を検証しましたので、本記事にてご紹介します!
目次
SMS認証とは
SMS認証(SMS Authentication)は、携帯電話番号宛に送信される確認コードを用いた本人確認手法です。
ユーザーが入力した電話番号にショートメッセージ(SMS)で認証コードが送信され、そのコードを入力することでログインやアカウント登録を完了させる仕組みです。
銀行やECサイト、各種クラウドサービスなど、セキュリティを重視するシーンで多く採用されています。
SMS認証はクラウド環境で自動化できる?
クラウド完結型の自動化は現状困難
理想はクラウド環境で完結する自動化ですが、現時点では難しいのが実情です。
Twilioなど電話番号を取得できるサービスは複数存在しますが、SMS認証の受信には対応していないケースがほとんどです。これは、多くのサービスがVoIPや仮想電話番号をSMS認証の対象外としているためです。
海外の電話番号であれば選択肢が広がる可能性もありますが、日本の電話番号で調べた限り、メジャーなクラウドサービスは見当たりませんでした。
※もしクラウド環境で完結できている方がいらっしゃいましたら、ぜひ情報共有いただけると幸いです!
モバイル実機を組み合わせて自動化する
一方で、電話番号を持つモバイル端末を活用すれば、SMS認証を自動化することが可能です。
実機を用いた方法であれば、クラウド環境単体での完結は難しいものの、SMS認証の自動化を現実的に実現できます。
本記事ではiOS端末とショートカットアプリを用いた自動化の事例をご紹介します。
Androidについては、先日のMagicPodユーザーミートアップにてMacroDroidという自動化アプリを用いてSMS認証を自動化している事例をユーザー様からご紹介いただきました。
Android端末での自動化を検討されている場合は是非こちらの記事をご覧ください!
【イベントレポート】オフライン ユーザーミートアップ 2025
iPhoneでSMS認証を自動化する方法
こちらが自動化の全体の流れです。
確認コードが書かれたSMSを受け取ったことをショートカットアプリで検知し、メールアプリからGmailに転送。そしてMagicPodのWeb APIコールコマンドでGmail APIをコールし、メール内容を取得します。
ショートカットアプリをインストールする
ショートカットアプリとは、iPhoneやiPadで様々な操作を自動化できるApple純正のアプリケーションです。複数のアプリや機能を組み合わせて、一連の処理を自動実行することができます。
端末にアプリがインストールされていない場合は、App storeからアプリを入手しましょう。
ショートカットアプリでオートメーションを作る
オートメーションとは、特定の条件やトリガーに応じて自動的に処理を実行する機能です。
今回は「SMSを受信したとき」をトリガーにして、メール転送を自動実行します。
ショートカットアプリを開く
ショートカットアプリを起動し、画面下部の「オートメーション」アイコンをタップします。
新規オートメーションを作成する
右上の「+」ボタンをタップし、トリガー一覧からメッセージを選択します。これにより、SMSを受信したときに自動処理が実行されるようになります。
条件を設定する
オートメーションの条件を設定してください。
まず「差出人」にはSMS認証の送り元の番号を入力します。
「メッセージが次を含む」を選択し、認証コードのSMSに含まれる特定のキーワードを入力しましょう。
(例:「確認コード」「認証コード」など)
これにより、認証コード以外のSMSでは動作しないようフィルタリングできます。
実行設定は「すぐに実行」を選択します。「確認後に実行」とすると、完全な自動化ができません。
メール送信フローを追加する
「新規の空のオートメーション」画面をクリックします。
「メールを送信」アクションを追加します。
ここではメールアプリを用いていますが、Gmailやメッセージアプリでも代用可能かと思います。
次に、メール送信設定を行なってください。
- 本文: 変数「ショートカットの入力」を挿入
- 宛先: 任意のGmailアドレス(MagicPodからGmail APIを用いてメールを取得する際に使用できるアドレスを設定してください)
- 件名:「認証コード転送」など分かりやすいタイトル
右上の「完了」をタップして設定を保存します。
これで、「認証コード」を含むSMSを受け取った時に、メールが送信されるオートメーションを組むことができました🎉
MagicPodでGmailに転送された認証コードを取得する
以下のステップを含んだテストケースをMagicPodで作成してください。
- ユーザー登録などのSMSが送信されるステップ
- Gmail APIで認証コードを取得するステップ
- 取得した認証コードをテスト対象アプリに入力するステップ
手元で試した限りでは、ほぼタイムリーにSMS認証コードが転送されましたが、テスト安定化のため条件に合致するメールIDが取得できるまでWeb APIコールを繰り返す作りにすることをおすすめします。
Gmail APIであれば、以下の画像のようにメールidを取得するAPIを呼び、条件に合致するメールが存在する(何らかのオブジェクトがある)ことを確認すればメール受信まで待機することができます。
もし上手くいかなければお気軽にMagicPodサポートにお問い合わせくださいませ。
最後に
SMS認証はテスト自動化の大きな障壁となりますが、工夫次第でSMS認証のフローも自動化することが可能です。
SMS認証が原因でテスト自動化を諦めていた方がいらっしゃれば、ぜひ本記事を参考に自動化にチャレンジしていただけると嬉しいです。
当社も精一杯サポートいたしますのでお気軽にご相談ください。
「SMS認証の自動化について口頭で相談したい」というお問い合わせも大歓迎です。
もしMagicPodが気になった方は、ぜひお気軽にご連絡ください!
https://magicpod.com/consulting/
\ MagicPodのの紹介資料を今すぐ入手 /
資料を無料でダウンロードする 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
