Eggplant FunctionalでのAutosnippet生成
Autosnippet機能は、テスト対象システム(SUT)内の検出された要素から自動的にSenseTalkスクリプトを生成できるAutoscanセッションの一部です。Eggplant Functionalが生成するスクリプトには、ボタンのクリックやフィールドへのテキスト入力などの一般的な操作を行う短いコードスニペットが含まれています。
Autosnippetスクリプトは、検出された要素ごとに短いセクションに分かれています。各セクションは、1つ以上のアクションハンドラで構成されています。生成されたスクリプトのハンドラは、SUT上のAutoscanセッションで識別された要素に対してアクションや検証を実行するために呼び出すことができます。
Autosnippetsは、スクリプトのモジュール化に役立ち、Eggplant AIのスニペットとしてインポートできます。
ステップバイステップ:Autosnippetsを生成する
-
SUTのAutoscanセッションを実行し、スキャンが完了したらセッションを開きます。
-
コード スニペットを生成するスキャン内の要素に対して、要素タイプを設定します。デスクトップ SUT に対してテストし ている場合は、セッション中に要素コード リストの下に表示される [画像の分類] ボタンを使用してテストできます。自動スキャン セッションが、Android ゲートウェイまたは iOS ゲートウェイを介して接続されたモバイル デバイス SUT 用の場合、要素タイプ が自動的に検出され、設定される可能性があります。ただし、設定が意図した用途と一致していることを確認する必要があります。 [画像の分類] ボタンの動作の詳細については、自動スキャンを使用して画像をキャプチャするの詳しい手順をご覧ください。
[要素タイプ] ドロップダウン リストから選択できる要素のタイプは次のとおりです。
- None: 画像を生成しますが、コードは生成しません。
- Checkpoint: 要素の存在を検証するために使用できる2つのハンドラを生成します。
- Button: 要素をクリックするためのハンドラを生成します。
- Field: フィールドにテキストを入力するためのハンドラとフィールドからテキストを読み取るためのハンドラの2つを生成します。
- Checkbox: チェックボックスを選択するためのハンドラを生成します。
- RadioButton: ラジオボタンを選択するためのハンドラを生成します。
- DropDown_Mobile: モバイルデバイスSUTおよびモバイルブラウザ向けに最適化されたハンドラを生成し、ドロップダウンメニューからアイテムを選択します。
- DropDown_Desktop: デスクトップSUTおよびブラウザ向けに最適化されたハンドラを生成し、ドロップダウンメニューからアイテムを選択します。
-
Element Nameを設定します。このフィールドはAutosnippetsに必要です。生成されたスクリプトのハンドラ名に組み込まれます。
AutoscanセッションがAndroid GatewayまたはiOS Gatewayを介して接続されたモバイルデバイスSUTの場合、要素名が自動的に検出および設定されることがあります。それ以外の場合、要素タイプを設定すると要素名がイメージ名に設定されます。画像名が設定されていない場合、値は
image0005
のようなデフォルトになります。いずれにせよ、要素名フィールドを更新して、名前が意味を持ち、確立した命名規則と一致することを確認できます。たとえば、ハンドラ名と画像名が一致することを望まない場合があります。
-
含めたい要素のリストを順に進みます。セッションタブの右側にある上下矢印を使用して、検出された要素を移動できます。また、中央ペインのスキャン内の四角形のいずれかをクリックして選択することもできます。保持したいすべての要素を処理し、保持したくない追加の要素がある場合は、Delete unnamed imagesボタンを使用して不要なものを削除できます。
ノート要素を選択すると(矢印を使用するか、中央ペインで直接)、デフォルト名が自動入力されます。その時点で、Delete unnamed imagesボタンを使用しても削除されません。ただし、必要のない要素は、四角形の左上隅にあるXをクリックして削除できます。
-
スクリプトとイメージを同時に生成するには、スクリプト チェックボックスと イメージ チェックボックスの両方が選択されていることを確認し、生成 をクリックします。
Eggplant Functional は、Autoscan セッションの名前で新しいスクリプトを作成します。生成されたスクリプトがスイート ウィンドウで開きます。
Autosnippetスクリプト
生成されたオートスニペット スクリプトには、オートスキャン セッションの生成時に「なし」以外の要素タイプを持つ各項目のコード スニペット (ハンドラー) が含まれています。このスクリプトは、あらゆる点で典型的な SenseTalk スクリプトです。必要に応じて編集し、追加のコードを追加できます。
生成されたスクリプトでは、オートスニペットはコメント ヘッダーと破線で区切られます。以下の例は、Checkpoint タイプが割り当てられた Sprout というイメージに対 して生成されたオートスニペットを示しています。これには 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テンプレート
アクション ハンドラーの生成に使用されるデフォルトのテンプレートは、Eggplant Functional の AutosnippetTemplates.txt
ファイルに保存されます。このファイルは、コンピュータのオペレーティング システムに基づいてさまざまな場所に保存されます。
- Mac:
/Applications/Eggplant.app/Contents/Resources
- Windows:
C:\Program Files\Eggplant\Eggplant.app\Contents\Resources\
テンプレートをカスタマイズする場合は、まずファイルのローカル コピーを作成し、必要に応じてコードを調整します。
- Eggplant Functionalで、Eggplant > Preferences > Scriptに移動します。
- Generalタブで、Autosnippet Template FileセクションのCustomizeをクリックします。
- Save Asウィンドウが開きます。テンプレートファイ ルのコピーをどこに保存し、そのコピーに何という名前を付けるかを選択します。Eggplant Functionalは、カスタマイズされたファイルを保存し、その場所を保存します。
- 必要に応じてファイルを編集します。ファイルには、ガイドとなる手順が記載されています。
別のテンプレート ファイルを選択するには、[参照] をクリックして使用するファイルを選択するか、フィールドにファイル パスを直接入力します。デフォルトのテンプレートに戻すには、フィールドからファイル パスを削除します。