APIテストの実行
Eggplant FunctionalのAPIテストエディタでAPIテストを実行および編集できます。また、SenseTalkスクリプト、スケジュール、コマンドラインからAPIテストを呼び出すこともできます。
SenseTalkスクリプトからAPIテストを実行する
SenseTalkスクリプトからAPIテストを呼び出すのは、SenseTalkスクリプトから別のSenseTalkスクリプトを呼び出すのと同じように機能します。
このスクリプトは、ApiTest1
という名前のAPIテストを呼び出し、そのURL、レスポンスヘッダー、およびレスポンスボディを返します。
例
put ApiTest1() into foo
put foo.url
put foo.responseHeaders
put foo.responseBody
API関数
api()
関数を使用して、リクエストとレスポンスの両方を含む API テストのすべてのプロパティにアクセスします。この関数は常に、最後に実行された API テストからのプロパティを返すため、後で使用する場合は、個々のテストからのプロパティを変数として保存することをお勧めします。この例では、ApiTest1
という API テストを実行し、api
関数を使用して応答時間を TimeVar
という変数に保存します。
例
ApiTest1
put api().responseTime into TimeVar
api()
関数は、最新の API テストから次の値を含むプロパティ リストを返します。
- authenticationType: リクエストに使用された認証タイプを返します。
- httpMethod: リクエストタイプ(GET、POSTなど)を返します。
- mimeType: レスポンスで使用されるMIMEタイプを返します。
- oauth1Token: OAuth 1.0が認証方法の場合、トークンを返します。それ以外の場合は空です。
- password: 認証にパスワードが使用されている場合、検閲された文字列を返します。それ以外の場合は空です。
- requestBody: POST、PUT、PATCHリクエストのリクエスト本文を返します。それ以外の場合は空です。
- requestBodyFormat: リクエストBodyセクションで選択されたBody Formatタイプを返します。本文内容がないリクエストの場合、返される値は最後に選択されたBody Formatタイプです。
- requestHeaders: リクエストHeadersセクションで入力されたヘッダーをキー/値のペアとして返 します。それ以外の場合は空です。
- responseBody: サーバーからのレスポンスデータを返します。
- responseCookies: 必要に応じて、レスポンス内のCookieに関する詳細を返します。
- responseHeaders: レスポンスヘッダーをキー/値のペアとして返します。
- responseTime: サーバーからのリクエストのレスポンス時間を秒単位で返します。
- statusCode: サーバーから受信したステータスコードを返します(例:200、404)。
- url: リクエストURLを返します。
- userName: 認証に使用されるユーザー名を返します(使用されている場合)。それ以外の場合は空です。
API テストのプロパティをオーバーライドする
SenseTalk を使用して、API テストのプロパティをオーバーライドできます。これらのプロパティのリストを表示するには、まず API テストを実行します。次に、put api().keys.archive
を実行します。この関数は、参照された API テストに入力された値ではなく、設定できるプロパティ (キー) のリストを返します。
これらのプロパティをオーバーライドするには、関数呼び出しで辞書としてプロパティを指定します。この例では、myApiTest
という API テストで使用される URL とユーザー名を上書きします。
例
myApiTest(url: "http://www.google.com", username: "documentation")
チェーン API テスト
スクリプト エディタの SenseTalk スクリプトで API テストを連鎖させることができます。これにより、これらの API テストの結果を、SenseTalk を使用した大規模なテストで使用できるようになります。次の例では、エラー追跡システムの大規模なテストの一部として、2 つの API テスト、Get_BasicAuth_json
と Head_BasicAuth_json
の結果を使用します。
例
log "````````````````````````-----"
log " Feature #XXXX"
log " Support for Basic Authentication"
log "````````````````````````------"
BeginTestCase "Basic Authentication - Valid Authentication - Get Request"
Get_BasicAuth_json
EndTestCase "Basic Authentication - Valid Authentication - Get Request"
BeginTestCase "Basic Authentication - Valid Authentication - Head Request"
Head_BasicAuth_json
EndTestCase "Basic Authentication - Valid Authentication - Head Request"
BeginTestCase "Basic Authentication - Invalid Authentication"
set the suiteVariables.username to "xxxxx"
Get_BasicAuth_json
EndTestCase "Basic Authentication - Invalid Authentication"
コマンドラインからAPIテストを実行する
コマンドラインから API テストを実行するには、runscript
コマンドを使用します。スクリプト ログを出力するには、-CommandLineOutput
フラグを使用します。