メインコンテンツまでスキップ

Eggplant FunctionalでのAutosnippet生成

Autosnippet機能は、テスト対象システム(SUT)内の検出された要素から自動的にSenseTalkスクリプトを生成できるAutoscanセッションの一部です。Eggplant Functionalが生成するスクリプトには、ボタンのクリックやフィールドへのテキスト入力などの一般的な操作を行う短いコードスニペットが含まれています。

Autosnippetスクリプトは、検出された要素ごとに短いセクションに分かれています。各セクションは、1つ以上のアクションハンドラで構成されています。生成されたスクリプトのハンドラは、SUT上のAutoscanセッションで識別された要素に対してアクションや検証を実行するために呼び出すことができます。

Autosnippetsは、スクリプトのモジュール化に役立ち、Eggplant AIのスニペットとしてインポートできます。

ステップバイステップ:Autosnippetsを生成する

  1. SUTのAutoscanセッションを実行し、スキャンが完了したらセッションを開きます。

  2. 生成されたコードスニペットが必要なスキャン内の要素に対してElement Typeを設定します。デスクトップSUTに対してテストを行う場合、セッション中に要素コードリストの下に表示されるClassify Imagesボタンを使用してこれを行うことができます。AutoscanセッションがAndroid GatewayまたはiOS Gatewayを介して接続されたモバイルデバイスSUTの場合、Element Typeが自動的に検出および設定されることがあります。ただし、設定が意図した用途と一致することを確認する必要があります。Classify Imagesボタンの動作方法についての詳細は、Autoscanを使用して画像をキャプチャするのステップバイステップの手順を参照してください。

    Element Typeドロップダウンリストから選択できる要素のタイプは以下の通りです。

    • None: 画像を生成しますが、コードは生成しません。
    • Checkpoint: 要素の存在を検証するために使用できる2つのハンドラを生成します。
    • Button: 要素をクリックするためのハンドラを生成します。
    • Field: フィールドにテキストを入力するためのハンドラとフィールドからテキストを読み取るためのハンドラの2つを生成します。
    • Checkbox: チェックボックスを選択するためのハンドラを生成します。
    • RadioButton: ラジオボタンを選択するためのハンドラを生成します。
    • DropDown_Mobile: モバイルデバイスSUTおよびモバイルブラウザ向けに最適化されたハンドラを生成し、ドロップダウンメニューからアイテムを選択します。
    • DropDown_Desktop: デスクトップSUTおよびブラウザ向けに最適化されたハンドラを生成し、ドロップダウンメニューからアイテムを選択します。
  3. Element Nameを設定します。このフィールドはAutosnippetsに必要です。生成されたスクリプトのハンドラ名に組み込まれます。

    AutoscanセッションがAndroid GatewayまたはiOS Gatewayを介して接続されたモバイルデバイスSUTの場合、要素名が自動的に検出および設定されることがあります。それ以外の場合、要素タイプを設定すると要素名がイメージ名に設定されます。画像名が設定されていない場合、値はimage0005のようなデフォルトになります。

    いずれにせよ、要素名フィールドを更新して、名前が意味を持ち、確立した命名規則と一致することを確認できます。たとえば、ハンドラ名と画像名が一致することを望まない場合があります。

  4. 含めたい要素のリストを順に進みます。セッションタブの右側にある上下矢印を使用して、検出された要素を移動できます。また、中央ペインのスキャン内の四角形のいずれかをクリックして選択することもできます。保持したいすべての要素を処理し、保持したくない追加の要素がある場合は、Delete unnamed imagesボタンを使用して不要なものを削除できます。

    ノート

    要素を選択すると(矢印を使用するか、中央ペインで直接)、デフォルト名が自動入力されます。その時点で、Delete unnamed imagesボタンを使用しても削除されません。ただし、必要のない要素は、四角形の左上隅にあるXをクリックして削除できます。

  5. ScriptImagesの両方のチェックボックスが選択されていることを確認し、スクリプトと画像を同時に生成するためにGenerateをクリックします。

Eggplant Functionalは、Autoscanセッションの名前を持つ新しいスクリプトを作成します。生成されたスクリプトはスイートウィンドウで開きます。

Autosnippetスクリプト

生成されたAutosnippetスクリプトには、Autoscanセッションを生成するときに、要素タイプがNone以外の各アイテムのコードスニペット(ハンドラ)が含まれています。このスクリプトは、すべての点で典型的なSenseTalkスクリプトです。必要に応じて編集し、追加のコードを追加できます。

生成されたスクリプトでは、Autosnippetsはコメントヘッダーと破線で区切られています。以下の例は、Checkpointタイプが割り当てられたSproutという画像に対する生成されたAutosnippetを示しており、2つのハンドラが含まれています。

(* Autosnippets for Checkpoint "sprout" *)

to handle sprout_Validate duration
if duration is not a number then set duration to 8
WaitFor duration, imageName:"sprout"
end sprout_Validate

to handle sprout_IsFound duration
if duration is not a number then set duration to 8
return imageFound(imageName:"sprout", waitFor:duration)
end sprout_IsFound

-----------------------------------

Autosnippetテンプレート

アクションハンドラを生成するために使用されるデフォルトのテンプレートは、AutosnippetTemplates.txtファイルに保存されており、Eggplant Functionalに格納されています。このファイルは、コンピュータのオペレーティングシステムに基づいて異なる場所に保存されます。

  • Mac:/Applications/Eggplant.app/Contents/Resources
  • Windows: C:\Program Files\Eggplant\Eggplant.app\Contents\Resources\

テンプレートをカスタマイズしたい場合は、まずファイルのローカルコピーを作成し、必要に応じてコードを調整します。

  1. Eggplant Functionalで、Eggplant > Preferences > Scriptに移動します。
  2. Generalタブで、Autosnippet Template FileセクションのCustomizeをクリックします。
  3. Save Asウィンドウが開きます。テンプレートファイルのコピーをどこに保存し、そのコピーに何という名前を付けるかを選択します。Eggplant Functionalは、カスタマイズされたファイルを保存し、その場所を保存します。
  4. 必要に応じてファイルを編集します。ファイルには、ガイドとなる手順が記載されています。

別のテンプレートファイルを選択するには、Browseをクリックして使用するファイルを選択するか、フィールドに直接ファイルパスを入力します。デフォルトのテンプレートに戻すには、フィールドからファイルパスを削除します。