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