You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

このセクションの内容:

概要

SOAtest は、Parasoft Recorder で記録された API トラフィックから API テストを自動的に作成できます。この方法で作成されたテストは、Smart API テストと呼ばれます。すぐに使用できる実装は、API テストをすばやく開始できるように設計されていますが、Smart API テストを生成する方法を SOAtest に「教える」こともできます。

また、SOAtest に付属のテスト作成プロパティ ファイルの 1 つで設定を構成することにより、テストの生成方法をカスタマイズすることも可能です。

  • tst_creation.properties - このファイルのプロパティを設定して、一般的な Web アプリケーションに対して行われた API 呼び出しからテストを生成します( Test Creation Properties を参照)。
  • salesforce_tst_creation.properties - このファイルのプロパティを設定して、Salesforce アプリケーションに対して行われた API 呼び出しからテストを生成します( Salesforce 用の Smart API テスト生成の構成 を参照)。
  • guidewire_tst_creation.properties - このファイルのプロパティを設定して、Guidewire アプリケーションに対して行われた API 呼び出しからテストを生成します( Guidewire用のSmartAPIテスト生成の構成 を参照)。 

SOAtest は、Parasoft Recorder の構成に基づいた適切なテスト作成構成ファイルを使用してテストを自動的に作成します。詳細については「Parasoft Recorder」を参照してください。

Smart Test Template とは 

Smart Test Template (.stt)ファイルを作成して、テスト生成の動作を決定するルールを定義できます。Smart Test Template ファイルは、1 つ以上の Resource Suite で構成されます。Resource Suite を使用すると、ルールを適用するパスを指定できます。 

Resource Suite には 1 つ以上の Resource Template が含まれます。これは、Smart Test を生成するときに含める API メソッドとリソースの範囲を定義します。Resource Template にツールを連結し、特定のテスト生成動作を定義するよう設定できます。Resource Template に連結されたツールは、Resource Template で定義された範囲に従って適用されます。 

SOAtest は、新しい Smart API テストを作成するとき、.stt ファイルで指定されたルールを読み取り、適用します。 

手動でのテスト テンプレートの作成および設定

Smart Test Templates ビュー を使用して .stt ファイルの作成と管理を行うことができます。また、複数の .stt ファイルを追加し、フォルダーを使用して整理することもできます。

  1. [Parasoft] > [ビューの表示] > [Smart Test Templates] をクリックして Smart Test Templates ビューを開きます (ビューがまだ開かれていない場合)。
  2. [Add Template] ボタンをクリックし、.stt ファイルの名前と場所を指定します。
  3. (オプション) ネストされたフォルダーを作成し、.stt ファイルを整理することもできます。
  4. [次へ] をクリックします。
  5. 作成する Resource Suite のタイプを選択します。空のスイートを作成することも、サービス定義に基づいてスイートを作成することもできます。

    定義ファイルを使用する場合の詳細については、以下のセクションを参照してください。

    OpenAPI/Swagger 定義からのメッセージレスポンダーの作成

    RAML 定義からのテスト作成

    WADL からのテスト作成

  6. サービス定義に基づいてスイートを作成する場合、[ 次へ] をクリックして、定義ファイルの場所を指定します。空のスイートを作成する場合は、このステップを省略します。
     
  7. [終了] をクリックします。
  8. .stt ファイルを展開して Resource Suite ノードをダブルクリックします。 
  9. (オプション) [デフォルト名の使用] オプションを無効化してファイルの名前を指定できます。
  10. このスイートのルールを適用するエンドポイントを識別するパターンを [一致] フィールドに指定します (「Defining Smart API Test Generation Scope」を参照)。[解決済み] フィールドにパターンのプレビューが表示されます。ネストされた Resource Suiteは親 Resource Suite から [一致] の設定を継承します。テンプレート ファイルの構築方法および一致するパターンを設定する方法を定義できます。よくあるユースケースについては「Example Smart Test Template」を参照してください。  
  11. Resource Suite を右クリックし、[新規追加] > [Resource Template] をクリックします。
  12. (任意) [デフォルト名の使用] オプションをオフにし、[名前] フィールドに Resource Template の名前を指定します。
  13. [メソッド] ドロップダウン メニューからメソッドを選択し、テンプレートのルールを適用するエンドポイントを識別するパターンを [一致] フィールドに指定します (「Defining Smart API Test Generation Scope」を参照)。[解決済み] フィールドにパターンのプレビューが表示されます。Resource Template は親 Resource Suite から [一致] の設定を継承します。[完全一致] オプションをオフにすると、 SOAtest は [一致] フィールドで指定されたすべてのサブパスに対してテストを生成します。[完全一致] オプションは、デフォルトでオフです。

    Resource Template の設定に一致する場合、すべての連結されたツールの設定が適用されます。テンプレート ファイルの構築方法および一致するパターンを設定する方法を定義できます。よくあるユースケースについては「Example Smart Test Template」を参照してください。

    JSON Assertor の連結

    JSON Assertor Resource Template に連結されたツールは、トラフィックからの値がある場合、それを使用するよう設定できます。詳細については「Adding JSON Assertions」を参照してください。 

  14. Resource Template を右クリックし、[出力の追加...] をクリックします。
  15. 生成されるテストに含めるツールを選択し、設定を指定します。たとえば、HTTP Authentication ツールを連結して設定し、テンプレートを使用して生成されるすべてのテスト スイートが自動的にテスト対象アプリケーションの認証を行うようにできます (詳細については「Enabling Authentication」を参照)。
  16. 必要に応じて他の Resource Suite および Resource Template を追加します。.stt ファイルは最初から最後の順で処理されます。各 Resource Suite がその階層に従って処理されてから、次のスイートの処理に移ります。任意の数のスイートおよびテンプレートを追加し、必要なだけツールを連結して SOAtest をトレーニングできます。 
  17. 変更を保存します。

既存のトラフィックファイルからテストを生成するか、Parasoft Recorder ブラウザー拡張機能を使用して新規テストを作成すると、.stt ファイルに定義された設定が適用されます。 

SOAtest Smart API Test Generator のスコープ定義

Resource Suite および Resource Template で定義されたパターンは、次のルールに従って比較されます。

  • 波括弧 {} はワイルドカードを表し、任意のテキストを含めることができます。たとえば、プロトコル、ホスト、ポートに変換されるパターンを指定できます。

    {scheme}://{host}:{port}
     
  • アスタリスク (*) もワイルドカードを表します。単一のアスタリスクと波括弧 {} は、同じように使用できます。

    {scheme}://{host}:*/parabank/*/accounts/{id}

  • 2 つのアスタリスクは、複数のディレクトリに一致します。

    {scheme}://{host}:*/parabank/**/{id}

  • プロトコル、ホスト、ポートを省略すると、すべてのプロトコル、ホスト、ポートに一致します。たとえば、次のパターンは任意のホスト、ポート、メソッドの特定のパスに一致します。

    /parabank/services_proxy/bank/accounts/{id}
     
  • ポートに負数または 65535 より大きい値を指定すると、ポートはワイルドカードとして扱われます。
  • Resource Template およびネストされた Resource Suite は親 Resource Suite から [一致] の設定を継承します。 
  • [完全一致] オプションをオフにすると、 SOAtest は [一致] フィールドで指定されたすべてのサブパスに対してテストを生成します。Resource Template では、[完全一致] オプションは、デフォルトでオンです。 

デフォルトスコープ

デフォルトでは、SOAtest はシナリオ内で呼び出されているすべてのリソースに対してテストを作成し、Resource Template ツールで識別されたリソースにだけトレーニング ツールを適用します。しかし、tst_configuration.properties ファイルの includeURLPatterns および excludeURLPatterns に Ant 形式のパターンを指定することで、指定された URL をテスト生成に含める、または生成から除外するよう SOAtest を設定できます。詳細については「テスト作成プロパティ」を参照してください。 

認証の有効化

SOAtest は HTTP Authentication ツールを使用してテストのための認証情報を設定します。HTTP Authentication ツールは、.stt ファイルでだけ利用できる特別なツールです。SOAtest が Resource Template ツールの設定と一致すると、生成されたテストに HTTP Authentication ツールで設定された認証情報が適用されます。 

  1. Resource Template ツールを右クリックし、[出力の追加...] をクリックします。
  2. リクエスト メニューを展開し、[トランスポート ヘッダー] を選択します。
  3. ツール パネルから [HTTP 認証] を選択し、[終了] をクリックします。 
  4. HTTP Authentication ツールで認証を設定します。次の認証タイプがサポートされています。
    • ベーシック (HTTP プロトコル組み込みのシンプルな認証)
    • NTLM
    • Kerberos
    • Digest

認証の設定については、以下のセクションを参照してください。

SOAtest

Virtualize

ヘッダーの追加

SOAtest は HTTP Header ツールを使用してテストのためのヘッダー フィールドを設定します。HTTP Header ツールは、.stt ファイルでだけ利用できる特別なツールです。SOAtest が Resource Template ツールの設定を照合すると、生成されたテストに HTTP Header ツールで設定された任意のヘッダー が適用されます。このツールを使用すると、テスト作成時にキャプチャされたヘッダーの値を上書きすることもできます。 

  1. Resource Template ツールを右クリックし、[出力の追加...] をクリックします。
  2. リクエスト メニューを展開し、[トランスポート ヘッダー] を選択します。
  3. ツール パネルから [HTTP ヘッダー] を選択し、[終了] をクリックします。 
  4. ツール設定セクションで [追加] をクリックして値を定義します。
  5. 変更を保存します。

JSON Assertion の追加

Resource Template ツールに JSON Assertion を連結して設定すると、トラフィックの値を使用できます。== または equals を演算子として使用し、[Smart - From Traffic] 値フィールドを設定します。

タイプごとの JSON Assertor の動作

テストで利用可能なアサーションにはいくつかのタイプがあります (詳細については「JSON Assertor」を参照)。次のセクションは、SOAtest が各タイプのアサーションに対してどのように設定を適用するかを説明しています。

値アサーション

  • 値アサーションの [期待値] フィールドは、[Smart - From Traffic] が指定されている場合、記録されたトラフィックから設定されます。
  • 値オカレンス アサーション、数値アサーション、文字列比較アサーションの要素値フィールドおよび期待値フィールドは、[Smart - From Traffic] が指定され、演算子が == または equal である場合、記録されたトラフィックに基づいて設定されます。
  • 値オカレンス アサーションの [期待値] フィールドは、[Smart - From Traffic] が指定され、演算子が == である場合、1 または 0 が設定されます。
  • 正規表現アサーション、式アサーション、カスタム アサーションのフィールドは、トラフィックからは設定されません。

構造アサーション

  • オカレンス アサーションの [期待値] フィールドは、[Smart - From Traffic] が指定され、演算子が == である場合、1 または 0 が設定されます。
  • Has Contents アサーション、Has Children アサーション、Type アサーションのフィールドは、トラフィックからは設定されません。

差分アサーション

  • ベース値フィールドは、[Smart - From Traffic] が指定され、トラフィック値が正常に検証された場合、記録されたトラフィックに基づいて設定されます。
  • 数値アサーションの [差分値] フィールドは、[Smart - From Traffic] が指定されている場合、0 が設定されます。
  • 日付差分アサーションおよび DateTime 差分アサーションの差分設定フィールドは、トラフィックからは設定されません。

範囲アサーション

  • 下限値および上限値フィールドは、[Smart - From Traffic] が指定され、値が正常に検証された場合、記録されたトラフィックに基づいて設定されます。この場合、同じトラフィック値がアサーションのすべてのフィールドに適用されます。

その他の JSON Assertor の動作

デフォルトでは、SOAtest はタイムスタンプを無視しますが、ニーズに合わせて他のパラメーターも無視するよう設定できます。詳細については「テスト作成プロパティ」を参照してください。  

.tst ファイルのアサーションに基づくテンプレートのトレーニング

既存の .tst ファイルからアサーション ロジックを適用して Smart API Test Generator をトレーニングすることができます。「Training Based on .tst Files」を参照してください。

テスト スイート参照の追加

.stt ファイルで他のテスト スイートを参照できます。すると、適切にテストを実行するために必要になる可能性がある追加のセットアップ ステップを含めることができます。1 つの Resource Template ツールに 1 つの参照テスト スイートを追加できます。参照によってインクルードされたテストは生成されたスイートの最初のテストとして追加されます。 

相対パスは、TestAssets プロジェクトを基準にしています。別のプロジェクトのテストを参照するには、${project_loc} 変数を使用します。 参照の詳細については「エンドツーエンド テストのためのテスト スイートの再利用 / モジュール化 」を参照してください。

  1. Resource Template ツールを右クリックし、[出力の追加...] をクリックします。
  2. Suite カテゴリを展開して [開始] を選択します。
  3. Smart カテゴリで [テスト スイートの参照] を選択し、[終了] をクリックします。   
  4. テスト スイートの参照エディターで参照するテスト スイートの場所を指定します。

    [ファイル システム] または [ワークスペース] をクリックして、参照する .tst ファイルの場所を選択できます。 
  5. 変更を保存します。 

.tst ファイルに基づくトレーニング

SOAtestに、既存の REST Client からの認証設定と JSON アサーション ロジックを含むテストを生成するように教えることができます。SOAtest は、REST Client で指定されたパスに最も近いリソース テンプレートの下に HTTP Authentication または JSON Assertor を作成します。一致がなかった場合、各 REST Client URL のリソース テンプレートを含む新しい .stt ファイルが作成されます。これらの .stt ファイルには、Resource Suite および Resource Template が含まれ、[一致] 設定は REST Client のエンドポイントに一致するよう設定されています。 

新規 .stt ファイルの一致パターンは、SOAtest をトレーニングしているルールのタイプに基づきます。認証の場合、REST Client の スキーマ、ホスト、ポートを使用して親スイートの一致パターンが設定されます。親スイートに含まれるリソース テンプレートは、REST Client の basePath およびすべてのサブパスとメソッド タイプと一致するよう設定されます。

アサーション ルールとテスト スイートの構造を SOAtest にトレーニング場合、REST クライアントの basePath を使用して、親スイートの一致が設定されます。サブパターンは、ネストされたスイートの一致パターンおよび/またはリソース テンプレートの一致パターンに設定されます。リソース テンプレートは、特定のメソッド タイプの "Exact" フィールドと一致するよう設定されます。

  1. テスト エクスプローラーで .tst ファイル、テスト スイート、REST Client ノードを右クリックし、[スマート テスト テンプレートのトレーニング] をクリックします。

  2. 確認を求められたら、サマリーを確認します。SOAtest は、既存の .stt ファイルのリソースを比較し、新しいルールを追加しようとします。一致する .stt が見つからない場合、新しいファイルが作成されます。   

    JSON Assertor を使用した Smart API Test Generator のトレーニング

    トラフィックに基づいて固定値を使用する等価性アサーション (== または equals 演算子を使用するアサーション) が作成されます。値が非等価性アサーションを使用してパラメータライズされる場合、リソースに連結されたアサータ―は [Smart - User Input] に設定された固定値に変換されます。  パラメータライズされた等価性アサーションの場合、値は [Smart - From Traffic] になります。

    .stt ファイルの既存のアサーションに新しいアサーションが追加されます。

  3. [OK] をクリックして更新するか、新しい .stt を REST Client の設定を含む Smart Test Template ビューに追加します。新しい .stt ファイルが作成されると、ファイルには元のクライアントの URL に従って名前が付けられます。テンプレート リソースは、ベース パス セグメントごとにグループ化されます。Smart Test Template ビューでファイルを右クリックし、名前を変更できます。 
  4. Resource Suite および Resource Template をダブルクリックし、[一致] 設定でテスト生成スコープを定義します。「Defining Smart API Test Generation Scope」を参照してください。 
  5. その他のリソースを手動で追加して .stt ファイルの設定を終了できます。「Manually Creating and Configuring Test Templates」を参照してください。

既存の .tst ファイルへの Smart Test テンプレートの適用

.stt ファイルで定義されたルールを使用するように既存のテストを更新できます。既に REST Client があり、テンプレートからアサーション、認証設定、ヘッダーの標準セットをすばやく適用したい場合、通常この機能を使用します。 

  1. ルールを適用する .tst ファイルを右クリックして [Apply Smart Test Template] を選択します。
     
  2. SOAtest は、リソース パスを REST クライアント URL と照合し、.stt で定義されたルールを、一致する URL を持つクライアントに適用します (一致条件の詳細については「Defining Smart API Test Generation Scope」を参照してください)。更新を確認し、[OK] をクリックします。    
     

Smart Test Template のサンプル

テンプレートの構造は、希望するアプリケーション テスト方法によって異なります。次の例の .stt は、テスト対象アプリケーション (CTP) の 1 つの方法を表しています。 

リソース スイートは、ホスト "emdemo" の任意のプロトコル、ポート、パスに一致するよう設定されています。結果として、emdemo に対して作成されるすべてのテストに Test Reference Suite のツール参照が含まれます。また、テストには HTTP Authentication ツールおよび HTTP Header ツールで設定された認証情報とヘッダーが設定されます。  

各 Resource Template は emdemo の下の特定のパスを指します。各 Resource Template で指定されたパスに対して生成されるテストには、連結されたツールの設定が含まれます。たとえば、"Resource 3" は "/em/virtualassets/manage" パスと一致するよう設定されています。結果として、このパスを含むテストには、レスポンスで返されるアセット設定を検証する JSON Assertor が含まれることになります。 

Salesforce 用の Smart API テスト生成の設定 

Salesforce アプリケーション アーキテクチャでは、特定の構成を実装してテストを適切に生成するために、Smart API テスト生成が必要です。SOAtestは、ワークスペースに TestAssets / test_templates ディレクトリを作成し、salesforce_tst_creation.properties 構成ファイルを生成します。このファイルには、デフォルトで次の推奨構成が含まれています。 

applicationType=Salesforce customHandlerClass.1=com.parasoft.webtool.testcreator.handlers.salesforce.AuraConfig includeContentTypes=application/json, application/x-www-form-urlencoded, text/html, text/plain disableDiffCreation=true includeURLPatterns=**.force.com,**.salesforce.com excludeURLPatterns=*/jslibrary/,/file-asset/,/auraFW/resources/,/auraCmpDef?**,*/LayoutMeta?**,*/cometd/,/_nc_external/system/,/apex/,/l/**,**/contentDoor?**,/customerportal/**,**/promos.html requestPayloadParameterizationExcludeNames.1=^pageSize$ requestPayloadParameterizationExcludeNames.2=^max[A-Za-z]+ requestPayloadParameterizationExcludeNames.3=^actionsRequestId$ requestPayloadParameterizationExcludeNames.4=^request$ requestPayloadParameterizationExcludeNames.5=^numRecordsToShow$ requestQueryStringParameterizationExcludeNames.1=^r$

ファイルの複数のインスタンスを作成し、構成をカスタマイズすることで、テスト ゴールを達成するのに役立つ Smart Test を生成するよう SOAtest を設定できます。salesforce_tst_creation.properties ファイルのさまざまなインスタンスを作成する場合は、applicationType プロパティを使用して一意の名前を指定することで、SOAtest インターフェースが構成のさまざまなインスタンスを区別できるように設定できます( トラフィックからの Smart API テストの作成 を参照)。 

Guidewire 用の Smart API テスト生成の設定

Guidewire アプリケーション アーキテクチャでは、テストを適切に生成するための特定の構成を実装するために、Smart API テストの生成が必要です。SOAtestは、ワークスペースに TestAssets/test_templates ディレクトリを作成し、guidewire_tst_creation.properties 構成ファイルをワークスペースに生成します。このファイルには、デフォルトで次の推奨構成が含まれています。 

applicationType=Guidewire includeContentTypes=application/json, application/x-www-form-urlencoded, multipart/form-data disableDiffCreation=true includeURLPatterns=**/cag/j_spring_security_check,**/bc/*.do,**/pc/*.do

ファイルの複数のインスタンスを作成し、構成をカスタマイズすることで、テスト ゴールを達成するのに役立つ Smart Test を生成するよう SOAtest を設定できます。guidewire_tst_creation.properties ファイルのさまざまなインスタンスを作成する場合は、applicationType プロパティを使用して一意の名前を指定することで、SOAtest インターフェースが構成のさまざまなインスタンスを区別できるように設定できます( トラフィックからの Smart API テストの作成 を参照)。 

テスト作成プロパティ

tst_creation.properties 構成ファイルで追加のテスト作成プロパティを定義できます。tst_creation.properties ファイルは、SOAtest ワークスペースの TestAssets/test_templates フォルダーの下にあります。デフォルトでは、SOAtest サーバーに接続するすべての Web Proxy が、このファイルの設定を使用します。 

ファイルの複数のインスタンスを作成し、構成をカスタマイズすることで、テスト ゴールを達成するのに役立つ Smart Test を生成するよう SOAtest を設定できます。tst_creation.properties ファイルのさまざまなインスタンスを作成する場合は、applicationType プロパティを使用して一意の名前を指定することで、SOAtest インターフェースが構成のさまざまなインスタンスを区別できるように設定できます( トラフィックからの Smart API テストの作成 を参照)。 

applicationTypeSmart API トラフィックの生成ウィザードなどのさまざまな SOAtest インターフェースから読み取ることができるように、構成ファイルの一意の識別子を定義します( トラフィックからの Smart API テストの作成 を参照)。 
customHandlerClass.<number>Salesforce 用の Smart API テスト生成の設定」を参照。
includeContentTypesトラフィック処理対象に含めるコンテント タイプのカンマ区切りリストを指定します。デフォルトは application/json,application/x-www-form-urlencoded です。
excludeContentTypesトラフィック処理時に除外するコンテント タイプのカンマ区切りリストを指定します。デフォルトは空です。
disableDiffCreation

diff の作成を有効化/無効化します。詳細については「Diff」を参照してください。デフォルトは false です。

disableDiffParameterizationdiff のパラメータライズを有効化/無効化します。パラメータライズを使用すると、diff でデータ バンクに格納された値を使用できます。diff のパラメータライズが無効な場合 (このプロパティに true が指定されている場合)、静的な値だけを利用できます。デフォルトは false です。
disableEnvironmentCreation環境および環境変数の作成を有効化/無効化します。デフォルトは false です。
disableDataBankCreation

データ バンクの作成を有効化/無効化します。詳細については「Data Exchange ツール」を参照してください。デフォルトは false です。

disableAssertorCreationJSON Assertor ツールの作成を有効化/無効化します。デフォルトは false です。詳細については「JSON Assertor」を参照してください。
diffToolIgnoreNames.<number>

diff 作成時に無視する要素名に一致する正規表現を指定します。デフォルトは (?i)^(time|date|url|href).* です。

プロパティを追加し、.<number> を付けることで、その他の名前のパターンを指定できます。

例:

diffToolIgnoreNames.1=<name_pattern_1>

diffToolIgnoreNames.2=<name_pattern_3>

diffToolIgnoreNames.3=<name_pattern_3>

diffToolIgnoreValues.<number>

diff 作成時に無視する値に一致する正規表現を指定します。デフォルトでは、タイムスタンプを無視します。

[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?

プロパティを追加し、.<number> を付けることで、その他の値のパターンを指定できます。

例:

diffToolIgnoreValues.1=<value_pattern_1>

diffToolIgnoreValues.2=<value_pattern_3>

diffToolIgnoreValues.3=<value_pattern_3>

assertorToolIgnoreQueryParameterNames.<number>

JSON Assertor ツール作成時に無視するクエリー パラメーター名に一致する正規表現を指定します。

デフォルトでは、"maxResultsSize" で始まるクエリー名を無視します。

(?i)^(maxResultSize).*

プロパティは大文字と小文字を区別しません。

プロパティを追加し、.<number> を付けることで、その他のパターンを指定できます。

assertorToolIgnoreQueryParameterValues.<number>

JSON Assertor ツール作成時に無視するクエリー パラメーター値に一致する正規表現を指定します。

パラメーター値のパターンに基づいてアサーションを作成する場合、クエリー パラメーターを無視します。

デフォルトでは、タイムスタンプを無視します。

[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?

プロパティを追加し、.<number> を付けることで、その他のパターンを指定できます。

assertorToolIgnoreFieldNames.<number>

JSON Assertor ツール作成時に無視するレスポンス ペイロード値に一致する正規表現を指定します。デフォルトでは、time、date、url、href、SessionId または transactionId で始まるレスポンス ペイロードの値を無視します。

デフォルトでは、タイムスタンプを無視します。

(?i)^(time|date|url|href|SessionId|transactionId).*

プロパティは大文字と小文字を区別しません。

プロパティを追加し、.<number> を付けることで、その他のパターンを指定できます。

assertorToolIgnoreFieldValues.<number>

JSON Assertor ツール作成時に無視する値に一致する正規表現を指定します。デフォルトでは、タイムスタンプを無視します。

[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?

プロパティを追加し、.<number> を付けることで、その他の値のパターンを指定できます。

例:

assertorToolIgnoreFieldValues.1=<value_pattern_1>

assertorToolIgnoreFieldValues.2=<value_pattern_3>

assertorToolIgnoreFieldValues.3=<value_pattern_3>

includeURLPatterns

テスト生成対象に含める URL パターンのカンマ区切りリストを指定します。Ant 形式の構文を使用して、大文字/小文字を区別したパターンを指定できます。デフォルトでは、すべての URL が対象になります。

以下は一般的な例です:

#ホスト 'www.example.com' のURLを含める  

includeURLPatterns=www.example.com 

# 'example' ドメインの URL を含める

includeURLPatterns=*.example.com 

# 'path' を含む URL を含める

includeURLPatterns=**/path/**

#'path' で終わり、クエリー文字列を含まない URL を含める

includeURLPatterns=**/path

#'path' で終わり、クエリー文字列がある URL を含める

includeURLPatterns=**/path?**

excludeURLPatterns

テスト生成時に除外する URL パターンのカンマ区切りリストを指定します。Ant 形式の構文を使用して、大文字/小文字を区別したパターンを指定できます。デフォルトでは、すべての URL が対象になります。

以下は一般的な例です:

#ホスト 'www.example.com' の URL を除外する  

excludeURLPatterns=www.example.com 

# 'example' ドメインの URL を除外する

excludeURLPatterns=*.example.com 

# 'path' を含む URL を除外する

excludeURLPatterns=**/path/**

#'path' で終わり、クエリー文字列を含まない URL を除外する

excludeURLPatterns=**/path

#'path' で終わり、クエリー文字列がある URL を除外する

excludeURLPatterns=**/path?**

includeTextResponseValues.<number>

データ バンクへの抽出の可能性のためにテスト ジェネレータが考慮する値に一致する正規表現を定義します。一致するものが見つかった場合、括弧で囲まれたパターンに一致するサブストリングが考慮されます。目的の値とその境界を定義するには、少なくとも 1 セットの括弧が必要です。 

デフォルトでは、2 つのパラメーターが次の正規表現パターンで設定されています。

includeTextResponseValues.1="([-A-Za-z0-9%_=+./]{10,})"

includeTextResponseValues.2='([-A-Za-z0-9%_=+./]{10,})'

includeTextResponseContentTypesテスト ジェネレータが includeTextResponseValues パラメーターに対して処理するコンテンツ タイプのカンマ区切りのリストを定義します。デフォルトは text/html です。 
requestPayloadParameterizationExcludeNames.<number>

パラメータライズから除外する必要があるリクエスト ペイロードのフィールド名に一致する正規表現を定義します。

次の例は、パラメータライズから日付と時刻のフィールド名を除外します。

requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

requestQueryStringParameterizationExcludeNames.<number>

パラメータライズから除外する必要があるリクエスト クエリーのフィールド名に一致する正規表現を定義します。

次の例は、パラメータライズから日付と時刻のフィールド名を除外します。

requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

useServerSettings

ローカルの tst_creation.properties 設定ファイルの代わりに SOAtest サーバーの tst_creation.properties ファイルの設定を使用するかどうかを指定します。デフォルト値は true です。
tst_creation.properties ファイルの例
includeContentTypes=application/json, application/x-www-form-urlencoded
excludeContentTypes=image/png,font/ttf,text/css,application/javascript
disableDiffCreation=false
disableDiffParameterization=false
disableEnvironmentCreation=false
disableDataBankCreation=false
disableAssertionCreation=true
# Ignore values that start with "time", "date", "url" or "href" in diff tool, case insensitive
diffToolIgnoreNames.1=(?i)^(time|date|url|href).*
# Ignore values that end with "time", "date", "url" or "href" in diff tool, case insensitive
diffToolIgnoreNames.2=(?i).*(time|date|url|href)$
# Ignore values like a timestamp in diff tool, e.g. 2018-03-21T07:00:00.000Z
diffToolIgnoreValues.1=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?
# Ignore query parameters when creating assertions based on parameter name pattern
assertorToolIgnoreQueryParameterNames.1=(?i)^(maxResultSize).*
# Ignore query parameters when creating assertions based on parameter value pattern
assertorToolIgnoreQueryParameterValues.1=[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}([.][0-9]{1,3})?(([+-][0-9]{2}:[0-9]{2})|Z)?
# Ignore fields in payload when creating assertions based on field name pattern
assertorToolIgnoreFieldNames.1=(?i)^(time|date|url|href|SessionId|transactionId).*
# Ignore fields in payload when creating assertions based on field value pattern
assertorToolIgnoreFieldValues.1=[0-9]\{4}-[0-9]\{2}-[0-9]\{2}T[0-9]\{2}:[0-9]\{2}:[0-9]\{2}([.][0-9]\{1,3})?(([+-][0-9]\{2}:[0-9]\{2})|Z)?
# Comma separated list of URL patterns where pattern matching is the same as Apache Ant. URLs can be case sensitive.
includeURLPatterns=http://{host}:8080/path/**/resources/*
excludeURLPatterns=https://{host}:8443/path/**/resources/*

# Exclude from being parameterized field names in request payload
requestPayloadParameterizationExcludeNames.1=(?i)^(time|date).*

SOAtest のアップグレード

SOAtest を新しいバージョンにアップグレードすると、既存の tst_creation.properties ファイルの前に、リリースに含まれている新しいパラメーターが追加され、バージョン番号が付けられます。例:

version=2

# ====== SOAtest 2020.2 RELEASE UPDATES ======
# Consider values in text responses as candidates to be databanked based on matching pattern.
# If a match is found, extract the substring that matches the pattern enclosed by the parentheses as the candidate.
# At least one pair of parentheses is required; otherwise, no value will be extracted.
includeTextResponseValues.1="([-A-Za-z0-9%_=+./]{10,})"
includeTextResponseValues.2='([-A-Za-z0-9%_=+./]{10,})'

# Consider only these text response types for extracting response values
includeTextResponseContentTypes=text/html


# ====== PREVIOUSLY CONFIGURED SETTINGS ======
includeContentTypes=application/json, application/x-www-form-urlencoded
#excludeContentTypes=
#disableDiffCreation=false
#disableDiffParameterization=false
#disableEnvironmentCreation=false
#disableDataBankCreation=false
#disableAssertorCreation=false
# Ignore values that start with "time", "date", "url" or "href" in diff tool, case insensitive
...

既存のファイルを移動または削除すると、すべてのデフォルト設定に加えて、最新の更新から追加された新しい設定が適用されます。元のファイルのバックアップは、.bak 拡張子で適用されます。

  • No labels