ここでは、MagicPod Autopilotで特定のテストケースを作成する際に有効なプロンプトをご紹介します。
また、MagicPod Autopilotの活用事例や有効なプロンプトに関する情報は、随時募集しています。MagicPod Slackコミュニティやお問い合わせから、ぜひお気軽にお知らせください。
目次
- Autopilot プロンプト集
- MCPサーバー プロンプト集
Autopilot プロンプト集
MailSlurpで最新のメールのタイトルを取得するテスト
関連ページ:MailSlurpを使用してEmailをテストする
事前に必要な操作:上記ヘルプページに従い、「API access key」「Inbox ID」の2つを取得し、MagicPodのシークレット共有変数にそれぞれの値をセットしてください。
プロンプト:
MailSlurpで最新のメールのタイトルを取得するテストを作ってください。 APIキーとInboxIDは共有変数に登録済みです。
MailSlurpでメール本文から情報を取得するテスト
関連ページ:MailSlurpを使用してEmailをテストする
事前に必要な操作:上記ヘルプページに従い、「API access key」「Inbox ID」の2つを取得し、MagicPodのシークレット共有変数にそれぞれの値をセットしてください。
プロンプト:
MailSlurpで最新のメールに記載の◯桁の認証番号を取得するテストを作ってください。 APIキーとInboxIDは共有変数に登録済みです。
Gmailで最新のメールのタイトルを取得するテスト
関連ページ:Gmail Web APIを使用してEmailをテストする
事前に必要な操作:上記ヘルプページに従い、「クライアントID」「クライアントシークレット」「リフレッシュトークン」の3つを取得し、MagicPodのシークレット共有変数にそれぞれの値をセットしてください。
プロンプト:
Web APIコールコマンドを用いて、最新のGmailのタイトルを取得するテストを作成してください。
Gmailでメール本文から情報を取得するテスト
関連ページ:Gmail Web APIを使用してEmailをテストする
事前に必要な操作:上記ヘルプページに従い、「クライアントID」「クライアントシークレット」「リフレッシュトークン」の3つを取得し、MagicPodのシークレット共有変数にそれぞれの値をセットしてください。
プロンプト:
Web APIコールコマンドを用いて、以下の内容に沿ったテストステップを作成してください。
①アクセストークンの取得
Web APIコール内は以下のように設定してください。
メソッド: POST
URL: https://accounts.google.com/o/oauth2/token
ヘッダー: キー「Content-Type」、値「application/x-www-form-urlencoded」
ボディ:「rawデータ」、「client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&refresh_token=${REFRESH_TOKEN}&grant_type=refresh_token」
結果: 変数「ACCESS_TOKEN」、Javascript「jsonResponse["access_token"]」
②メールIDの取得
メソッド: GET
URL: https://www.googleapis.com/gmail/v1/users/me/messages/
ヘッダー: キー「Authorization」、値「Bearer ${ACCESS_TOKEN}」
結果: 変数「MAIL_ID」、Javascript「jsonResponse["messages"][0]["id"]」
③メール本文の取得
メソッドに「GET」
URL: https://www.googleapis.com/gmail/v1/users/me/messages/${MAIL_ID}
ヘッダー: キー「Authorization」、値「Bearer ${ACCESS_TOKEN}」
結果: 変数「MAIL_CONTENTS」Javascript「const inlineMessagePart = function(messagePart) {
let messagePartBodies = [{"mimeType": messagePart.mimeType, "body": messagePart.body}];
if ("parts" in messagePart) {
for (const subMsgPart of messagePart["parts"]) {
messagePartBodies = messagePartBodies.concat(inlineMessagePart(subMsgPart));
}
}
return messagePartBodies;
};
atob([jsonResponse['payload']].map(inlineMessagePart).flat().filter(function(item) { return item.mimeType === "text/plain"; })[0]['body']['data']);
」
上記ステップの後、MAIL_CONTENTSから◯桁の整数部分を探し、変数「認証情報」に保存するステップも追加してください。
MCPサーバー プロンプト集
テストケースを作成する
https://app.magicpod.com/<organization_name>/<project_name>/ にテストケースを新規作成してください。
テスト設定番号は「〇」を使用してください。
以下の手順をテストステップとして作成してください。
1. <URL> を開く
2. メールアドレスに「test@example.com」を入力する
3. パスワードに「password」を入力する
4. 会員登録が完了するまで必要な操作を実施する
テストケースを編集する
https://app.magicpod.com/<organization_name>/<project_name>/<testcase_number>/ のテストケースを編集してください。
テスト設定番号は「〇」を使用してください。
以下の内容でテストステップを編集してください。
1. メールアドレスの入力値を「magicpod@example.com」に変更する
テストを実行する
(単体実行の場合)
https://app.magicpod.com/<organization_name>/<project_name>/<testcase_number>/ のテストケースを実行してください。(一括実行の場合)
https://app.magicpod.com/<organization_name>/<project_name>/ のプロジェクトで、
テスト設定番号 2 を使って一括実行してください。
https://app.magicpod.com/<organization_name>/<project_name>/ において、前回の一括実行で失敗したテストケースのみを再実行してください。
再実行時には、失敗したテストケースの番号を明示的に指定して、成功したケースはスキップしてください。https://app.magicpod.com/<organization_name>/<project_name>/ において、ファイル操作に関連するテストケースのみを番号で指定し、実行してください。 使用するブラウザは Chrome としてください。
テスト実行結果を調査する
最新の一括実行で失敗したテストケースの失敗原因分析:
https://app.magicpod.com/<organization_name>/<project_name>/ のプロジェクトにおいて、最新の一括実行で失敗したテストケースについて、それぞれの失敗したステップと失敗原因を教えてください。覧をください。GitHubのコミットログを元にしたテスト失敗理由の調査(GitHub MCPサーバーのインストールが必要です):
以下のテストの失敗について調査してください。 https://app.magicpod.com/OrganziationName/ProjectName/batch-run/XXX/pattern-index/X/XXX/ このテストの実行ログを参照し、失敗の原因となったであろうコードの変更を〇月〇日の <GitHub組織名>/<GitHubプロジェクト名> リポジトリにおけるコミットログから特定してください。
テスト実行結果分析:
https://app.magicpod.com/<organization_name>/<project_name>/ のプロジェクトにおいて、
過去7日以内に実行された一括実行結果をもとに、テスト設定ごとの結果をCSV形式で整理し、出力してください。
不安定なロケータを特定する
https://app.magicpod.com/<organization_name>/<project_name>/<testcase_number>/ のテストケース中に不安定なロケータがないか確認してください。
不安定なロケータが存在する場合は、それが使用されているステップ番号と、代わりに推奨されるロケータを提示してください。
使い方確認・トラブルシューティング
MagicPodでクリックコマンドが失敗したときの対処法を教えてください。
MagicPodの画像差分で特定の領域をチェック対象から除外する方法を教えてください。
その他
https://app.magicpod.com/<organization_name>/<project_name>/ プロジェクトのヘルススコアを教えて下さい。