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

テーブルパネルとキーワード駆動テスト

Eggplant Functional Suiteウィンドウのテーブルパネルは、キーワード駆動テストをセットアップし、管理する場所です。このテーブルベースのアプローチはスクリプトレステストとも呼ばれ、テーブル機能を使用してテストケースをパラメータ化し、アクション、そのアクションに渡す引数、アクションを実行する順序を定義することができます。

テーブルパネル

スイートウィンドウのテーブルパネルには、現在のスイートで定義されているすべてのテーブルが一覧表示されます。リストでテーブルを選択すると、テーブルタブがメインのスイートウィンドウでプレビューモードで開きます。テーブルを開くには、リスト内のテーブルを右クリックし、Openを選択するか、テーブルがプレビューモードで表示されているときにメインペインをクリックします。

新しいテーブルを作成するには、テーブルパネルで右クリックし、New Tableを選択します。Macでは、テーブルパネルのタイトルバーにある歯車アイコンをクリックし、New Tableを選択することもできます。新しいテーブルを作成すると、スイートウィンドウに新しいタブが開き、開発の準備が整った空白のテーブルが表示されます:

新たに作成されたテーブルを表示するEggplant Functionalのスイートウィンドウ内のテーブルパネル。

既存のテーブルの検索

スイート内の特定のテーブルを検索するには、スクリプトリストの上にある検索フィールドにテーブル名の一部を入力します。検索フィルタを設定するには、検索フィールドの隣の拡大鏡をクリックし、ドロップダウンリストからSearch AllSearch Names、またはSearch Contentsを選択します。

ノート

この検索機能は、左側のサイドバーにあるすべてのパネルを同時に検索します。

先端

検索は入力しながら動作するため、検索語を入力し終える前に結果が見つかるかもしれません。しかし、頻繁に繰り返す検索がある場合は、検索語を入力した後にReturnを押して検索を検索履歴の項目として保存できます。検索は拡大鏡の下のドロップダウンリストに保存されます。

スイートウィンドウでの検索と置換機能の使用に関する完全な情報については、検索フィルタの使用を参照してください。

テーブルの設定

新しいテーブルは1行の空白行で構成されています。テーブルの行を定義するたびに、新しい空白行が下に追加されます。また、ツールバーのActionドロップダウンリストから適切なオプションを選択するか、行を右クリックし、Insert 1 AboveまたはInsert 1 Belowを選択することで、行の上または下に新しい行を追加することもできます。

テーブルにはいくつかの列が含まれます:

  • Step: 最初の列にはステップ番号が含まれます。この番号は自動的に生成され、編集することはできません。また、この列をクリックしてドラッグすることでテーブルの並べ替えが可能で、その場合、ステップ番号は新しい位置に自動的に更新されます。

  • Action: この列には、このステップで実行したいアクションを選択するためのドロップダウンリストが含まれています。自動的に含まれるSenseTalkコマンドに加えて、各スクリプトのスクリプトエディタタブの情報ペインActionドロップダウンリストに自分のスクリプトを利用可能にすることができます。

  • Arguments: この列は、アクション列で選択されたコマンドまたはスクリプトに必要な引数を入力する場所です。引数についての詳細は、テーブル引数の指定を参照してください。

  • Expected Value: この列では、選択したアクションから期待する値を挿入できます。例えば、ブール式の場合、期待値はTrueまたはFalseになります。

    ノート

    スクリプトをテーブルアクションとして宣言するときは、期待値のプレースホルダーテキストを含めるか、具体的な値を含めることができます。

  • Actual Value: ステップが実行された後、この列はアクションまたはコマンドの実際の値を表示します。この値はユーザーによって編集することはできません。

  • Pass/Fail: 実行後、このフィールドは期待値と実際の値が一致するとPassと表示し、背景が緑色になります。一致しない場合は、Failと表示し、背景が赤色になります。ステップで例外が発生した場合、この列はErrorと表示します。行が正常に完了するが比較する値がない場合、テーブルセルが灰色になります。

  • Comment: コメントフィールドでは、このステップについての自分のメモを入力することができます。このフィールドはオプションであり、テーブル内のステップの実行には影響しません。

テーブル引数の指定

テーブルのArguments列では、必要に応じて、Action列で選択したコマンドに引数を渡すことができます。また、テーブルアクションとして選択したスクリプトにも引数を渡すことができます。単一のアクションに対して複数の引数を渡す場合、それらをカンマで区切ります。

アクション列のドロップダウンリストを使用してSenseTalkコマンドを挿入すると、必要な引数のトークンがArguments列に挿入され、そのトークンには期待する引数が何であるべきかを説明するテキストが含まれます:

  • 期待される引数が画像である場合、たとえばclickコマンドの場合、挿入されたトークンはドロップダウンリストとして機能し、現在のスイート内のすべての画像が含まれます。
  • 引数がテキストの場合、たとえばTypeTextの場合、トークンはプレースホルダーテキストとして機能します。トークンを選択し、使用するテキストに置き換えます。
ノート

スクリプトエディタタブでスクリプトをテーブルアクションとして宣言するとき、トークンとプレースホルダ引数テキストを定義するか、スクリプトがアクションとして選択されたときにここに表示される実引数を渡すことができます。このプロセスについての情報については、スクリプトエディタページを参照してください。スクリプトリストで右クリックしてShow > Table Actionsを選択すると、テーブルアクションスクリプトを強調表示できます。テーブルで使用可能にした任意のスクリプトはリスト内で青くなります。

結果をテーブル引数として渡す

テーブルステップは、以前のステップからの結果を引数として参照することができます。つまり、ステップが結果を返す場合、その結果はテーブルの後のステップで引数として使用できます。この能力は、実質的にテーブル結果を他のテーブルアクションに渡すことができます。

ステップ結果を引数として使用するには、ナンバーサイン (#) と特定のステップ番号を使用して行またはステップ番号を参照します:#<step>。例えば、ステップ3の結果を参照するには、引数として#3を使用します。前の行を参照するには#prevを使用します。

テーブル引数を使用して、テーブルの後のステップに結果を渡すことができます。 テーブル引数を使用して、テーブルの後のステップに結果を渡すことができます。

テーブルツールバーや行を選択して右クリックすることで、ステップ参照を挿入することもできます。ドロップダウンリストからInsert Referenceを選択し、ステップ番号または#prevを選択します。この方法で複数の引数を挿入すると、引数はカンマなしでリストされ、これも有効な構文です(ナンバーサインはセパレータとして機能します)。

引数内のステップ参照は、最初に参照した行に対して相対的です。後でテーブルの行を並べ替えると、引数内のステップ参照は自動的に更新され、新しいステップ番号の同じアクションを指し続けます。

ノート

テーブルの後のステップで発生する結果を参照することはできません。例えば、ステップ2では、ステップ5の結果を参照することはできません。テーブルを並べ替える場合は、参照がまだ有効であることを確認してください。無効な参照があるテーブルを実行しようとすると、エラーメッセージが表示されます。

データ駆動型テストのためのテーブルの使用

外部の.csvファイルから情報を引き出すテーブルを作成して、データ駆動型テストを行うことができます。データ駆動型テストについての情報は、データの収集と使用およびEggplant Functionalを使用したデータ駆動型テストを参照してください。

.csvファイルを添付するには、テーブルツールバー上のフォルダアイコンをクリックします。ファイルブラウザで使用したい.csvファイルを探し、Open(Windows)またはChoose(Mac)をクリックします。ファイルは相対パスで参照されます。ベストプラクティスは、ファイルにアクセスするスイートと同じフォルダ内に.csvファイルを保存することです。これにより、Eggplant Functionalにリモートで接続した場合やスイート自体を移動した場合でも、パスを指定したり再設定したりする必要なくファイルにアクセスできます。

ノート

.csvファイルには、最初の行としてヘッダ行を含める必要があります。ヘッダは単語でなければならず、アンダースコアを含めることができますが、他の特殊文字は含めることができません。

添付したデータファイルから値を引数列やExpected Value列で参照することができます。値を参照するには、.csvファイルの列名をドル記号($)で先行させて呼び出します。例えば、データファイルの最初の列がLocationと呼ばれている場合、その列から値を呼び出すには$Locationを挿入します。

Eggplant Functionalでデータ駆動型テストのためのテーブルを使用することができます。

通常のテーブルの実行では、各テーブルアクションが一度だけ実行されますが、データ駆動型テストのためのデータファイルを添付すると、テーブルはファイルの各データ行(ヘッダ行を除く)に対して一度完全に実行されます。各反復は一行のデータにアクセスします。その反復の中では、後のステップへの結果の受け渡しを含むテーブルのすべてのルールが適用されます。ただし、反復の間には値は受け渡されず、テーブルの各パスは.csvファイルから新しいデータ行で始まります。

テーブルによるレスポンシブテスト

テーブルの実行にどれだけ時間がかかるか、または特定のステップにどれだけ時間がかかるかをテストしたり検証したりすることがあるかもしれません。アクションドロップダウンリストのBeginTimerおよびEndTimerコマンドを使用して、レスポンシブテストを行うことができます。

BeginTimerコマンドを挿入するとき、タイマーの名前となる引数を含めることができます。この名前引数はオプションですが、タイマーに名前を付けることで、ネストされたタイマーを使用できます。例えば、テーブルの最初と最後の行にMainという名前のタイマーを持つことができ、これによりテーブル全体のタイミングを提供します。テーブル内で、Test1という名前のタイマーでステップのサブセットを囲むことができ、これによりテーブル内の特定の手順を検証できます。BeginTimerにはExpected ValueやActual Valueはありません。

EndTimerの引数は、停止させたいタイマーの名前です。タイマーに名前がない場合は、引数を空白にします。しかし、タイマーが実際には停止しないことに注意してください。代わりに、現在のタイマー値をActual Value列に出力し、タイマーは続けて動作します。したがって、一つのタイマーを開始し、その後、EndTimerを使用してテーブルの実行中に複数の点で時間値を確認することができます。

EndTimerのExpected Value列には、そのテーブルのステップに到達するための時間目標となる値を挿入できます。Actual Valueはその時点でのタイマーの値(秒単位)であることを覚えておいてください。使用するExpected Valueは、単純な比較として表現されるべきです。例えば、

  • < 1 minute
  • > 2 seconds
  • <= 42

単位を指定しない場合は、秒が想定されることに注意してください。Expected ValueはActual Valueと比較され、そのステップのPass/Fail値を提供します。

テーブルツールバー

ツールバーにはいくつかのコントロールが含まれています:

Tablesツールバーでは、キーワード駆動型テストのためのテーブルを操作できます The Tablesツールバーでは、キーワード駆動型テストのためのテーブルを操作できます。

  1. Run Table Script: このボタンは、テーブルの実行を開始します。通常の実行では、テーブル内のすべてのステップが一度に、順序通りに実行されます。ただし、データ駆動型テストのために外部ファイル(.csv)を添付している場合、実行はテーブルの各行を.csv内のデータ行ごとに一度ずつ実行します(ヘッダーは除く)。個々のステップが失敗しても、実行は次のステップに進みます。実行中は、RunボタンがAbort Table Scriptに変わり、実行を停止することができます。
  2. Run selection: このボタンを使って、テーブルから選択した行を実行することができます。実行したいステップをクリックしてハイライト表示します。Shift+クリックやCmd+クリック(Mac)/Ctrl+クリック(Windows)を使用して複数の行を選択します。Run selectionに選んだ行は連続している必要はありませんが、必ず順番に実行されます。
  3. Pause Table Script: このボタンを使用して、実行中のテーブルスクリプトを一時停止することができます。ボタンを再度クリックする(Continue Table Script)と、テーブルの実行が再開されます。
  4. Show results for this table: このボタンは、結果ペインに移動し、現在のテーブルのタブを開きます。
  5. **Action:**ドロップダウンリストには、テーブルを操作するためのオプションが含まれています。これらのオプションのほとんどは、テーブルで少なくとも一行が選択されている場合にのみ利用可能です。オプションは次のとおりです:
    • Insert 1 Above / Insert 1 Below: 現在選択されている行の上または下に新しい行をテーブルに挿入します。これらのオプションは、テーブルで一行だけが選択されている場合にのみ利用可能です。
    • Delete Row(s): 選択された行をテーブルから完全に削除します。
    • Disable Row(s): 現在選択されている行を無効にします。無効化された行は実行されません。無効化された行を再度有効にするには、クリックしてアクションドロップダウンリストから行の有効化を選択します。
    • Clear results: Pass/Fail列と実際の値列(実際の値を受け取る行)から、テーブルの最後の実行結果をクリアします。
    • Reset Arguments: 選択した行の引数を、現在選択しているアクションのデフォルト値にリセットします。アクションにデフォルト値がない場合、任意の値がクリアされます。
    • Reset Expected Value: 選択した行の期待値を、現在選択しているアクションのデフォルト値にリセットします。アクションにデフォルト値がない場合、任意の値がクリアされます。
    • Insert Reference: このオプションを使用すると、特定の行への参照を挿入し、その行の結果を引数として使用することができます。また、前の行の結果を参照するためにショートカット#prevを挿入することもできます。
  6. Data driven test file: データ駆動型テスト用に.csvファイルを添付している場合、このフィールドにはファイル名と相対パスが表示されます。
    • フィールドの右側にあるX(削除)ボタンを使用して、.csvファイルを削除します。
    • フォルダーアイコンボタンを使用して、ファイルブラウザを開き、データ駆動型テスト用に.csvファイルを添付します。
  7. Info: 情報ボタンは、追加情報のペインを切り替えます:テーブルの長さ(行数、つまりステップ数)、修正日、作成日、および現在のテーブルについてのメモを含めるために使用できる説明フィールド。
  8. **Save:**このボタンは現在のテーブルを保存します。通常、更新は自動的に保存されます。しかし、テーブルに未保存の変更がある場合、タブの閉じるアイコンのアイコンは黄色の円に変わります。タブを閉じたり、スイートウィンドウを閉じたりしようとすると、「未保存の変更」の警告が表示されます。
ノート

テーブルはスケジュールに追加することはできません。

キーワード駆動型テストの実装にテーブル機能を使用する方法について詳しくは、テーブル機能とキーワード駆動型テストをご覧ください。