![見出し画像](https://assets.st-note.com/production/uploads/images/136404025/rectangle_large_type_2_b7d407b38af548d340f914b913b45678.png?width=1200)
MagicPodを触った話
Autify認定プログラム受講の次は何をしようか考えていたところ、約3日と短期間ではありますがMagicPodを触る機会に恵まれました。
経緯
所属会社でMagicPodを契約したとの噂を聞いてどうにか触れないか目論んでましたが、当時は客先に出社する日々で身動きが取れず…ようやくタイミングが重なりテスト自動化でお世話になった先輩が講師をしている研修に参加できた形となります。
MagicPodは2021年に一度トライアルで試したことがあり、その際はクラウド+アプリ環境の調査をしましたが、今回は会社都合でローカル+ブラウザ環境での操作となるため新鮮な気持ちで取り組めました。
操作内容
研修内容は本記事で触れませんが、リハビリもかねて操作した機能の一部を振り返ります。Webサイトはテスト自動化練習サイトのHOTEL PLANISPHEREです。
変数
変数に保存した値は${変数名}で参照する
変数名は日本語でも設定できる
![](https://assets.st-note.com/img/1712818839760-FrHPMyvYWr.png)
![](https://assets.st-note.com/img/1712818877221-YFtjEXEOoo.png)
日時の取得
日時を取得して変数に値を保存する
日時計算コマンドでは取得する値や表記を細かく設定できる
![](https://assets.st-note.com/img/1712825352462-KMskkshkFf.jpg)
![](https://assets.st-note.com/img/1712824638064-DAQti21B4U.png)
![](https://assets.st-note.com/img/1712825587267-6Ha5eIqcWG.png)
アサーション
指定したUI要素の値を比較する
![](https://assets.st-note.com/img/1712825717601-Lqwgr3ldA2.png)
画像差分の確認
コマンドを設定した画面の表示をチェックしてくれる
今回は会員種別の違いによる宿泊プランの差分を検出した
![](https://assets.st-note.com/img/1712821224727-hLPxbvkSHt.png)
![](https://assets.st-note.com/img/1712821386504-ePc7J39RtW.png?width=1200)
![](https://assets.st-note.com/img/1712821669828-ZulehBifys.png?width=1200)
アラートダイアログの操作
アラートダイアログに表示されるOK、キャンセルボタンを操作する
![](https://assets.st-note.com/img/1712826183769-pg2h8gcqvg.png)
条件分岐
条件に一致した場合に行われる処理を設定する
![](https://assets.st-note.com/img/1712829097739-Q934OuUYPe.png)
共有ステップ
ログインなど複数のテストで繰り返し使われる処理について、共有ステップを設定することで再利用ができるようになる
![](https://assets.st-note.com/img/1712823265053-yL1jwjd82U.png)
![](https://assets.st-note.com/img/1712823329630-tdFpwmctwm.png)
データ駆動テスト
データパターンを設定することにより、1つのテストケースで入力データを変えて繰り返しテストをすることができる
![](https://assets.st-note.com/img/1712827399259-DOjyQy7PH9.png?width=1200)
![](https://assets.st-note.com/img/1712827512486-VL5ojgFavv.png?width=1200)
![](https://assets.st-note.com/img/1712827771842-UmZ3SJc8tl.png?width=1200)
変数を使ったロケータ
ロケータに変数の追加や参照をすることができます。
この機能を使い、データパターンに設定した値と一致する文字列の要素をクリックするといった使い方が可能です。
https://support.magic-pod.com/hc/ja/articles/4408903612825
※データパターンに変数「カレー」と値「カツカレー(700円)」が設定されている
// AIが設定してくれたロケータ
x-path=//label[text()='カツカレー(700円)']
// 新たに追加したロケータ
x-path=//label[text()='${カレー}']
最後に
MagicPodの直感的に操作できるUIは以前と変わらず、ブランクがありましたが基本的な操作はすぐに思い出すことができました。
研修の参加者には自動テストやプログラミングが未経験の方もいましたが、大きく躓くことなく操作しているのを見て、自動化の心理的ハードルを下げつつ実績を積める良いツールだと改めて感じました。
また、今回は時間の都合により出来なかったのですが、MagicPodは実行回数が無制限となりますので「自動テストをガンガン回してエラー箇所をメンテする」といった実用的な使い方もトライしたいです。