JavaScriptスニペットは、日付形式の使用など、複雑なテストシナリオを処理するには非常に優れたツールです。しかし、目的の処理を正確に実行するコードを作成するのは、困難なときもあります。AI支援型スニペット生成機能を使用すると、スニペットで実行する内容を記述し、生成AIにコードを生成させることができます。
この記事では、AIスニペットジェネレーターのベストプラクティスを示します。
APIテスト用のGenAIスニペット
mablはAPIテスト用のGenAIスニペット生成もサポートしています。詳細については、APIテストでのカスタムスクリプトに関する記事をご覧ください。
明確なプロンプトの記述
まず、スニペットに実行させることを明確なプロンプトで定義し、必要に応じて例を示します。目的とする出力をプロンプトで確実に生み出すには、有効な結果と無効な結果のサンプルを盛り込みます。たとえば、過去20年以内の日付をランダムに返すプロンプトとして、次の例が考えられます。
「過去20年以内のランダムな日付をMM/DD/YYYY形式で返してください。2023年6月1日であれば、06/01/2023と返します。06/01/2035という応答は、未来なので無効です。14/35/2020という応答は、月フィールドと日フィールドが範囲外なので無効です。」
その他の例として、次のプロンプトが考えられます。
- 「現在のURLから、mblで始まるIDを返してください。たとえば、現在のURLがhttps://www.example.com/users/12345/?id=mbl309jd3であれば、結果はmbl309jd3となります。」
- 「POで始まり、ランダムな2文字の数字が続き、その後にランダムな3文字の英字が続く文字列を返してください。」
- 「18才から65才までのランダムな生年月日をMM/DD/YYYY形式で返してください。」
- 「ページ上で選択されているチェックボックスをすべてカウントしてください。選択されているチェックボックスの数を返してください。」
- 「ページの一番下までスクロールした後、一番上までスクロールしてください。」
ページを操作するプロンプトの記述
AIスニペットジェネレーターは、DOM(ウェブ)またはAppiumドライバーオブジェクト(モバイル)を介してページを操作するスニペットを作成できます。ただし、AIスニペットジェネレーターはHTMLやページのソースにはアクセスできません。スニペットに何を実行させたいかを説明するときは、アプリケーションに特化したビジネス用語ではなく、一般的な表現を使用してください。
例えば、プロンプトが「ページの直近の保険請求のボックスをチェックする 」であった場合、AIスニペットジェネレーターはページ上の「保険請求」が何であるか分かりません。プロンプトを「最新の日付を持つリストの項目に関連付けられたボックスをチェックする 」と言い換えると、AIスニペットジェネレーターはDOMまたはAppiumドライバーオブジェクトを介してこのアクションを実行する汎用スニペットを生成することができます。
スニペット生成前のパラメーターの追加
パラメーターを使用すると、スニペットの変更や、テスト間でのスニペットの再利用を簡単に行うことができます。パラメーターを使用したスニペットをAIで生成するには、プロンプトを記述する前にパラメーターを追加して、プロンプトがパラメーターを参照するようにします。
プロンプトでパラメーターを参照する例を次の表に示します。
パラメーター | プロンプト |
id | "id" の値に一致するチェックボックスを選択し、"Checked!" を返してください |
token | 指定されたtokenを使用してAPI呼び出しを実行してください |
valueToUpperCase | valueToUpperCaseの値をすべて大文字にして返してください |
必要なだけ反復
AIスニペットジェネレーターでは、コードエディターに表示されたスニペットに対して処理を繰り返すことができます。そのため、AIスニペットジェネレーターの最初の出力が目的と合っていない場合は、応答に満足するまで、指示とガイダンスを続けることができます。
たとえば、「今日の日付を返してください」というプロンプトを記述し、AIスニペットジェネレーターが日付をMM/DD/YYYY形式で返した場合は、既存のスニペットを変更するために、続けて「日付をDD/MM/YYYY形式で返してください」というプロンプトを送信します。
前のスニペットに戻る場合: 作業内容を保存していない場合は、コードエディター内をクリックし、キーボードショートカットCTRL + Z/CMD + Zを使用して変更を取り消します。