自然言語ステップ

Prev Next
  • 自然言語ステップの機能はNexus AIエージェントオプションをご契約のお客様のみ利用することが可能です。Nexus AIエージェントについてはこちらのドキュメントをご参照ください。

  • 自然言語ステップは現在ベータ版として提供されている実験的な機能です。今後、仕様が変更される可能性がありますので、あらかじめご了承ください。

自然言語ステップは、AIを活用した強力な機能です。通常のステップとは異なり、自然言語ステップではテスト実行のたびにAIがプロンプトを解釈し、その時点の画面状況に応じて操作を実行します。

この自然言語ステップは、以下のような場合に有効です。

  • ページ上に表示された情報を使う操作

    • 例:画面に表示されているユーザー名とパスワードを使ってログインする。

    • 例:毎回ランダムに生成される確認コードを読み取って入力する。

  • 動的に内容が変わる要素の検証

    • 例:アクセスするたびに値が変わるテーブル内の数値を比較・検証する。

  • より抽象的な指示に基づく操作

    • 例:「無効な認証情報でログインを試みる」など、具体的なデータを与えずにAIに操作を判断させる。

また、シナリオ全体を自然言語ステップで構成することも、動的なカレンダー操作など特定の部分だけを自然言語ステップに任せ、残りは通常のステップと組み合わせることも可能です。

自然言語ステップの作成方法

シナリオ詳細ページから作成

  1. シナリオ編集画面を表示し、ステップを追加したい場所でステップを挿入をクリックします。

  2. 表示された選択肢の中から自然言語ステップを選択します。

  3. プロンプト入力用のモーダルが表示されるため、AIに実行させたい操作を自然言語で入力します。

  4. 入力が完了したら、挿入をクリックし、保存をクリックしてシナリオを保存します。

レコーディング中に作成

  1. レコーディング中、レコーディングツールバーに表示されているAIエージェントをクリックします。

  2. 表示された選択肢の中から自然言語ステップを選択します。

  3. AIに実行させたい操作を自然言語で入力すると、AIによる操作が実行され、シナリオに自然言語ステップが追加されます。

自然言語ステップの特性

自然言語ステップは、機能の特性上、AIが期待の動作をしない可能性がございます。そのため、自然言語ステップの後続では、期待の状態になっているか確認するアサーションステップを追加することを推奨します。

プロンプトの記述例

プロンプトは、単一の操作から複数の手順を含むテストケースまで、柔軟に記述することができます。

  • より具体的な指示の例

    ユーザー名にtest@example.com、パスワードにpassword123と入力してログインし、ダッシュボード画面に「ようこそ、テストユーザーさん」というテキストが表示されることを確認する。
  • Gherkin形式を用いたテストケース全体の記述例

    前提:ログインページにいる
                                もし:ページに記載の正しい認証情報を入力する
                                かつ:ログインボタンをクリックする
                                ならば:ログインが成功する

実行結果の確認

自然言語ステップを実行すると、テスト結果詳細画面でAIが実際に行った一連の操作が以下スクリーンショットのように「子ステップ」として表示されます。

AIは最適な操作を見つけるために試行錯誤することがあるため、子ステップの一部が失敗と記録される場合があります。これはAIが別の方法を試している過程であり、必ずしもテスト全体の失敗を意味するものではありません。
また、テスト実行のたびにAIがプロンプトを解釈するため、子ステップの内容が実行都度変わる可能性があります。
テスト結果が期待通りのものでない場合、プロンプトの変更をお試しください。

AIの判断理由を確認する方法

AIがプロンプトをどのように解釈して操作を行ったか、その思考プロセスの一部を確認したい場合があります。プロンプトに指示を追加することで、AIに判断理由などを出力させることができます。

例えば、プロンプトの最後に「行った操作の理由をコンソールログに出力してください」といった一文を追記します。

これにより、AIが実行中に出力した情報が、テスト結果詳細画面のログタブ内にあるブラウザログに記録されます。テストが期待通りに動作しない場合のデバッグなどにご活用ください。

自然言語ステップの制約事項

  • AIによる修正: このステップではロケータを記録しないため、AIによる修正機能はサポートされません。

  • パフォーマンスへの影響: 自然言語の解釈には大規模言語モデル(LLM)の処理を伴うため、通常のステップよりも実行に時間がかかる可能性があります。多くの場合、AIが生成した子ステップの実行時間の合計よりも、自然言語ステップ全体の実行時間の方が1020秒程度長くなります。

  • Playwrightコードのエクスポート: このステップはコードを生成しないため、Playwrightへのコードエクスポートの対象外となります。

  • 変数の利用: ワークスペース変数や他のステップからの出力をプロンプト内で利用することはできません。

自然言語ステップをノーコードステップに変換する

テスト結果詳細画面において、自然言語ステップによって実行されたステップを、固定のノーコードステップとして保存できます。

自然言語ステップをノーコードステップへ変換することで、テストの再現性が向上する場合があります。

操作手順

  1. テスト結果一覧から該当のテスト結果を選択して、詳細画面を開きます。

  2. ステップ一覧を確認し、変換したい自然言語ステップの行にあるノーコードステップに変換ボタンをクリックします。

  3. 変換が成功すると「自然言語ステップをノーコードステップに変換しました。」というメッセージが表示されます。

仕様と挙動

変換を行うと、シナリオは以下のように更新されます。

  • 元の自然言語ステップ: 削除されずに残りますが、無効化(グレーアウト)された状態になります。

  • 生成されたステップ: 元のステップの直後に、ノーコードステップとして新たに追加されます。

  • スクリーンショット: 追加された各ステップには、実行時のスクリーンショット情報が含まれます。

以下の場合、ノーコードステップに変換ボタンはグレーアウトされ、変換することができません。

  • 元のステップが無効化されている場合: 無効になっている自然言語ステップは変換できません。

  • 成功した生成ステップがない場合: 自然言語ステップ自体が成功していても、その中で生成されたステップに成功したものが一つもない場合は変換できません。

注意点

  • 操作の取り消し不可: 一度変換を実行すると、元の状態に戻すことはできません。

  • 成功したステップのみ変換: 生成されたステップのうち、実行に成功したものだけが変換・保存されます。失敗したステップは除外されます。

  • 共有グループへの影響: 自然言語ステップが共有グループ内に存在する場合、変換を実行すると共有グループ自体が更新されます。その共有グループを参照しているすべてのシナリオに、変換後のステップが反映されます。