導入初期によくある質問や操作のコツについて紹介します。まだMagicPodを使ったことがない場合は、まずはスタートガイドを参考にしてください。
目次
テスト作成
UI、UI要素などMagicPod特有の用語がわからない
スタートガイド:4 - 5.用語説明で詳しく紹介しています。
UI要素が選択できない
該当のUI要素の上に、他のUI要素が重なっていて選択できていない可能性があります。「一時的に隠す」を何回か行うことで上に重なっている要素を隠し、選択したいUI要素を選ぶことができます。
それでも選択できない場合は、UI一覧の該当するUIのメニューから「このUIについて問い合わせる」からUI情報を送って問い合わせることができます。ロケータについては以下を参考にしてください。
参考: ロケータについて
操作したいUI要素が画面外にある
要素選択モードを解除した状態で、クラウドブラウザを手動でスクロールし、操作したいUI要素を画面内に表示させます。その後、キャプチャまたは再び要素選択モードを開始して要素を取得します。
何度もスクロールする必要がある場合、画面全体のUIをキャプチャする方がおすすめです。要素選択モードを解除した状態で、「ページ全体をキャプチャ」にチェックを入れキャプチャをクリックしてUIを取得し、要素を取り込みます。
実行時は、基本的にはスクロールコマンドを明示的に入れなくても、画面外にあるUI要素でも自動的にスクロールして操作してくれます。
参考: スクロールのある画面のテスト
どのロケータを使えばいいかわからない
基本的には提案されるロケータは、最初に指定されるもの、また候補の上から順におすすめです。実行ごとに変わる値が入っているロケータや長いロケータは不安定となるので、必要に応じて新しくロケータを追加してください。
参考: ロケータについて / 新しいロケータを追加・編集する
ログインなどテストケースをまたいで何度も行う複数の操作がある
同じ画面で入力→クリックのような複数の処理が、複数のテストケースに現れる場合、その処理を「共有ステップ」として定義することで、他のテストケースからも1つのコマンドとして利用できるようになります。修正が必要になった場合も、共有ステップの内容を1箇所書き換えるだけで済むので、テストケースのメンテナンスの手間が軽減されます。
参考: 共有ステップの活用
UI要素の特定の位置をクリックしたい
操作したいUI要素に他のUI要素が重なっている
重なっていない部分を「左端」のように指定して操作します。
MagicPodで認識できないUI要素
近くにある認識できる他のUI要素から座標X=50,Y=200のように、わざとはみ出して指定して操作します。(左上隅がX=0,Y=0で、右下隅がX=100,Y=100)
不安定になりやすいのでUI要素が選択できないを試しても解決しない場合にのみ行います。
通常の「クリック」コマンドはUI要素に紐づいているイベントなどを直接呼び出して操作しますが、「指定位置クリック」は「左端」「座標」など見た目の位置を元にクリックして操作します。
参考: 指定位置クリック
実行ごとに異なる文字列を生成したい
「現在時刻を元に生成したユニークな値を保存」コマンドを使って実行ごとに異なる変数を作成することができます。
その変数をそのまま使ったり、「名前_${変数名}」のように使ったりもできます。
アラートを閉じたい
「アラートを閉じる」コマンドで閉じることができます。
アラートとはJavaScriptのアラートダイアログです。
その他のダイアログ/ポップアップ/モーダル等はUI要素として認識できるので通常通り操作します。
異なるタブ、ウィンドウに移動したい
「新しいタブ・ウィンドウを選択」「前のタブ・ウィンドウを選択」コマンドで選択することができます。
参考: 別タブ・別ウィンドウのテスト
ベーシック認証が有効になっているサイトをテストしたい
例えばhttps://example.comに ユーザー名user1、パスワードpass1のBasic認証でアクセスする場合、https://user1:pass1@example.comというURLを使うことでアクセス可能です。
参考: ベーシック認証が有効になっているサイトをテストしたい
「ブラウザを開く」コマンドのオプションの違いがわからない
動きの違いは「ブラウザを起動」を参照してください。
動作速度は基本的に (初回のみプロセス再起動)、(初回のみプロセス再起動) (Cookieをクリア)、(プロセス再起動)の順で速いですが大きく差はありません。使い方としては、一括実行時に前のテストのログイン情報などを引き継ぎたくない場合は、(初回のみプロセス再起動) (Cookieをクリア)、auth0などに情報が残る場合は(プロセス再起動)を選択してください。
テストステップを管理しやすくしたい
テストステップのかたまりをわかりやすくしたい場合、「コメント」コマンドで内容を説明したり、「空行」コマンドで空行を入れることができます。
注意書きを入れたい場合は、「コメント」コマンドで絵文字を使って強調します。
他にどんなコマンドがあるか知りたい
コマンド一覧ですべてのコマンドを確認できます。
テスト実行
UI要素が見つからないというエラーになる
失敗したステップの前に待機時間を入れる
基本的には画面の読み込みが終わるまで自動で待つようになっていますが、読み込みが足りずUI要素が見つからない場合もあります。その場合、UI要素が表示/存在/一致するまで待機、または固定値で○秒待機するコマンドなどを、失敗したステップの前に入れます。
参考: 待機コマンド
失敗したステップのUI要素に指定しているロケータを変える
MagicPodがUI要素を探す際、ロケータを使用しています。例えば以下のように実行ごとに変化するロケータである場合、テスト作成時とロケータが異なるので見つけることができず失敗します。よって提案ロケータの中から別のものに変える、もしくは新しくロケータを追加する必要があります。
-
- 金額、日時を基準としているもの
例) xpath=//output[text()='7,000円']
- 変化する可能性のあるvalueやidなどを基準としているもの
例) xpath=//input[@value='mp62130']
- 金額、日時を基準としているもの
参考: テストが失敗した時のメンテナンス方法が知りたい - 実行ごとに変化する値をロケータに含んでいる
失敗メッセージを見ても内容がわからない
ヘルプページでその失敗メッセージを検索すると解決策が見つかる場合があります。見つからなかった場合、ヘルプページを読んでも原因特定が難しい場合は「テスト失敗の理由を問い合わせる」ボタンより問い合わせてください。
テストの失敗について問い合わせたい
エラー原因がわからない場合は「テスト失敗の理由を問い合わせる」ボタンより問い合わせることができます。
スケジュール実行したい
MagicPodのスケジュール実行機能を使って定期実行を設定します。
または、CircleCI、Bitrise、JenkinsなどのCIツールでMagicPodのWebAPIを呼び出し実行します。この場合GitにPushされる度に実行という方法も可能です。
テスト結果を通知したい
メールとSlackへ通知することができます。
参考: スタートガイド:3 - 1−2.メール通知/1−3.Slack通知
または、MagicPodのWebAPIを用いてTeamsなどへ通知することもできます。
一括実行に時間がかかる
並列実行する
テストを並列実行することで、実行時間を短縮することができます。
詳しくはこちらのページをご覧ください。
キャプチャを特定のステップだけとるようにする
デフォルトではすべてのステップに対しキャプチャを取りますが、特定のステップだけキャプチャをとるようにすると少し時間を短縮できます。
一括実行設定画面の「実行時画面キャプチャ」を「すべてのステップ」から「画面遷移時のみ」または「テスト失敗時のみ」を選択します。キャプチャを取りたい特定のステップがある場合は、そのステップ後に「画面キャプチャを取得」コマンドを追加します。
複数のブラウザパターンで実行したい
複数のブラウザパターンを並列に実行することができます。
詳しくはこちらをご覧ください。
単体実行から一括実行にすると失敗する
内部的な挙動として、単体実行と一括実行で大きな違いはありません。そのため、不安定なテストである、もしくは対象のテストの前に実行したテストの影響で失敗している、という可能性が高いです。
詳しくはこちらをご覧ください。
テスト管理
テストケースを管理する方法が知りたい
フォルダ管理機能やラベルを使用して整理することをお勧めします。
生成AI機能を有効化するとテストケースの説明が自動でテストケース一覧に表示されるのでわかりやすいです。
参考:テストケース要約機能
テスト結果を管理する方法が知りたい
- 生成AIツールを使う
- MagicPod MCPサーバーとClaudeなどの生成AIツールを使うことで、テスト結果管理用のダッシュボードを自動生成することができます。
- テスト結果を管理するクラウドツールを使う(Testrail、QualityForwardなど)
- MagicPodのWebAPIからテスト結果を取得することで、自動で結果データが蓄積されます。
- スプレッドシート/エクセルに結果キャプチャと結果URLを貼り付ける
- 一括実行のテスト結果からすべての結果キャプチャをダウンロードすることができます。また、「画面キャプチャを取得」コマンドを追加することで選択的にダウンロードすることもできます。
プロジェクトの分け方、数え方について知りたい
1つのプロダクトに対し1つのプロジェクトを割り当てるのがおすすめです。
参考:プロジェクトとは
共有UI、共有ステップはプロジェクトの中のテストケースを跨いで使えます。
例えば、開発環境と本番環境については対象のプロダクトは1つとなりますので、プロジェクトは分けず、テストケースを共通とすることをおすすめしております。設定からベースURLを変更することで、実行環境を変えることが可能です。
参考: テストの実行環境を切り替える(ドメインを切り替えてテストケースを使用する)
その他
どういった項目からテストを作成すればいいかわからない
優先順位の付け方については、テスト項目に対して自動化適性の高さから重みづけをし、点数を比較する方法などがあります。
参考: どんなテストから自動化すればいいの?自動化の対象となるテストを選ぶ際の方法3つ
まずはログインなどの基本的な機能、決済など品質保証におけるリスクが大きいものから作成します。
テストケースが数個できたところで毎日実行します。毎日テストを実行してみると、テストの安定性など、実行してみるまで気付かなかった様々な問題にぶつかります。これらを解決しながら、少しずつテストを増やしていきます。
そして広く浅く一通りの機能・画面を網羅します。手元にある手動用のテストケースを上から順番に自動化していくというよりも、優先順位をつけて、まずは基本的なテストケースだけを自動化した方が効率的です。