スクリプトとAPIの呼び出し

以下のSenseTalkコマンドをEggplant Functional内で使用すると、その他のスクリプトやAPIテストを呼び出すことができます。

Runコマンド

挙動:別のスクリプトを、それがまるでコマンドであるかのように呼び出します。呼び出されたスクリプト内でエラーまたは例外が発生する場合は、呼び出したスクリプトも失敗となります。呼び出されたスクリプト内で捕捉されていない例外が存在する場合は、実行を終了します。

パラメータ:スクリプト名1つと、呼び出されたスクリプトが受け取ることができるパラメータ値。

構文:

Run "ScriptName"

例:

Run "Logout Procedure"//名前が「Logout Procedure」のスクリプトを呼び出します

例:

Run "Login", "SusanG76", "password123!@#"//名前が「Login」 でパラメータ値が「SusanG76」と「password123!@#」のスクリプトを呼び出します

ヒント:詳しくは、SenseTalkリファレンスドキュメントでrunコマンドを参照してください。
ヒント:その他のスクリプトが現在のスクリプトと同じスイート(または関連するヘルパースイート)内に存在し、その名前が文字で始まり、文字と数字とアンダースコアのみを含む場合は、現在のスクリプト内でコマンドとして呼び出すことができます。(Runコマンドを使用する必要はなく、呼び出そうとしているスクリプト名の後にパラメータを付けるだけで十分です。)

例:

Login "SusanG76", "password123!@#"

ヒント:呼び出そうとしているスクリプトに戻り値が含まれる場合は、the resultを利用してその戻り値をキャプチャすることができます。

例:

Run "ValidateOutput"//名前が「ValidateOutput」でコンテンツの戻り値が「Test passed!」のスクリプトを呼び出します

put the result into FormOutput//文字列「Test passed!」を 変数に格納します

RunFeatureコマンド

挙動:本コマンドは、フィーチャがまるでコマンドであるかのように、Gherkin Feature(.featureファイル)を呼び出します。本コマンドを利用して、ユーザーはSenseTalkスクリプトからフィーチャをトリガすることができます。フィーチャを実行する場合は、RunWithNewResultsによるスクリプトの実行と同様に、独自の結果ファイルが生成されます。

パラメータ:(必須)フィーチャ名1つ(オプションで任意の数のタグを含めることができます)。タグの前にチルダ(~)を使用すると、そのタグを含めるのではなく、除外することができます。

構文:

RunFeature "featureName", "@tag1,@orTag2 @andTag3", "@andTag4"

1組の引用符の中に複数のタグを含めることができます。コンマで区切られたタグは、OR論理に従います。スペースで区切られたタグは、AND論理に従います。ORおよびAND条件の両方が存在する場合は、常にORが先行して先に評価されます。別々の引用符にパラメータを入れる場合は、AND条件が強制されます。

例:

RunFeature FeatureTest1

例:

RunFeature "FeatureTest1", "@important,@regression" // FeatureTest1の中で、@importantタグまたは@regressionタグのいずれかを含むをエレメントのみを実行します

例:

RunFeature "FeatureTest1", "@important,@regression" // FeatureTest1の中で、@importantタグを含むが@regressionタグは含まないエレメントのみを実行します

例:

RunFeature "AccountingApp" "@over,@rcvd" "@billing" //実行するAccountingAppのエレメントは、@billingタグと、@overタグまたは@rcvdタグのいずれかを含む必要があります

関連:

RunWithNewResultsコマンド

挙動:Runコマンドで呼び出されるスクリプト(呼び出したスクリプトの一部として記録される)とは対照的に、独自の結果ログを生成する別のスクリプトを実行します。RunWithNewResultsコマンドは、ScriptResults()関数と同様の結果のプロパティリストを返します。詳細情報は、ScriptResults()関数結果のプロパティを参照してください。呼び出されたスクリプトが失敗しても、呼び出したスクリプトは自動的に失敗したり、例外を上げたりしません。ユーザーは結果のプロパティリストから返されるステータスプロパティに基づき、この挙動を記述できます。

パラメータ:スクリプト名1つと、実行に必要な任意のパラメータ。

構文:

RunWithNewResults "ScriptName"

戻り値:結果のプロパティリスト。詳細情報は、ScriptResults()関数を参照してください。

例:

RunWithNewResults "Logout"//名前が「Logout」のスクリプトを呼び出し、個別の結果を作成します

例:

RunWithNewResults "Login", "SusanG76", "password123!@#"//名前が「Login」で、パラメータ値が「SusanG76」と「password123!@#」のスクリプトを呼び出し、個別の結果を作成します

例:

put ("Member.txt", "Administrator.txt") into UserEnvironmentsList//ファイル名を表す文字列のリストを、名前がUserEnvironmentsListの変数に格納します

repeat with each item of UserEnvironmentsList//UserEnvironmentsList内の文字列のリストの各アイテムを反復処理します

RunWithNewResults "ConfigureEnvironment", it//名前が「ConfigureEnvironment」のスクリプトを呼び出し、「it」変数を使用して文字列をスクリプトに渡します

end repeat

ヒント:RunWithNewResultsとその結果のプロパティリストを利用して、結果のプロパティに基づくアクションを備えた洗練されたマスター管理スクリプトやカスタムレポートを作成できます。例えば、前のスクリプトが成功した場合に一方のスクリプトを呼び出したり、失敗した場合には別のスクリプトを呼び出すことができます。

例:

RunWithNewResults "Login"

if the result's status is "failure" then//ステータスプロパティの値をチェックして、失敗かどうかを確認します

LogError "Login failed. Performing cleanup."

CleanupScript//ステータスが失敗の場合は、名前がCleanupScriptのスクリプトを実行します

end if

例:

set ResultFile to ResourcePath("myTestResults.csv")//myTestResultsリソースファイルのファイルパスを変数に格納します

RunWithNewResults "Login"

set myResult to the result//RunWithNewResultsの結果を名前がmyResultの変数に格納します

put "Login" &comma & myResult.runDate & comma & myResult.status & CRLF after file ResultFile//myResultのコンテンツに基づき、リソースファイルの最後に新しい行を書き出します

API()関数

挙動:本関数を利用して、リクエストと応答の両方を含むAPIテストのすべてのプロパティにアクセスできます。本関数は、最後に実行したAPIテストに関する情報を返します。

パラメータ:なし

構文:

api()

the api

戻り値:以下の値を含むプロパティリスト。

  • authenticationType:リクエストに使用する認証タイプを返します。
  • httpMethod:リクエストタイプ(GET、POSTなど)を返します。
  • mimeType:応答に使用するMIMEタイプを返します。
  • oauth1Token:OAuth 1.0が認証方法の場合はトークンを返し、それ以外の場合はemptyを返します。
  • password:パスワードを認証に使用する場合は編集済みの文字列を返し、それ以外の場合はemptyを返します。
  • requestBody:POST、PUTおよびPATCHリクエストのボディコンテンツを返し、それ以外の場合はemptyを返します。
  • requestBodyFormat:リクエストのボディセクションで選択されたボディフォーマットのタイプを返します。リスエストにボディコンテンツが存在しない場合は、返される値は、直近で選択したボディフォーマットのタイプとなります。
  • requestHeaders:キー/値のペアとして、リクエストのヘッダーセクションに入力されたヘッダーを返し、それ以外の場合はemptyを返します。
  • responseBody:サーバーの応答データを返します。
  • responseCookies:存在する場合は、応答内のcookieに関する詳細を返します。
  • responseHeaders:キー/値のペアとして応答ヘッダーを返します。
  • responseTime:サーバーからのリクエストへの応答時間(単位:秒)を返します。
  • statusCode:サーバーから受け取るステータスコード(200、404など)を返します。
  • url:リクエストのURLを返します。
  • userName:認証用のユーザー名(使用する場合)を返し、それ以外の場合はemptyを返します。

例:

log api() //直近のAPIテストから返された値の完全なリストをログに記録します

例:

put api().statusCode into RetStatus // 最後のAPIテストからのサーバーのステータスコードを変数RetStatusに入れます

例:

put api() into res

put res.keys

put res.responseHeaders.archive

put res.responseHeaders into headers

assert that "content-length" of headers is 339

assert that res.responseBody contains "Bad Request"

assert that res.statusCode is 200

関連:

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant