working with soapui properties soapui tutorial 8
このチュートリアルはすべてSoapUIプロパティに関するものです。前回のSoapUIチュートリアルで見た Groovyスクリプトにプロパティを追加する方法 。
のプロパティ 石鹸 は変数/パラメーターに似ており、このチュートリアルでは、サービス要求で1つを使用し、スクリプトを使用して応答値を割り当てる方法について説明します。後で、プロパティ転送テストステップに進み、プロパティをインポートします。
これは私たちの8番目のチュートリアルです SoapUIオンライントレーニング シリーズ。
このSoapUIチュートリアルから何を学びますか?
- プロパティのさまざまな面
- サービスリクエストへのプロパティの統合
- プロパティ転送テストステップを理解する
- プロパティを外部にロードする
二つありますSoapUIのプロパティの種類:
- デフォルトのプロパティ :SoapUIインストールに含まれています。デフォルトのプロパティの一部を編集できますが、すべてを編集することはできません。
- カスタム/ユーザー定義のプロパティ :これらは、グローバル、プロジェクト、テストスイート、テストケース、テストステップなど、必要なあらゆるレベルで定義されています。
ほとんどの場合、プロパティは データの保存と取得 テストケースの実行中。内部的にプロパティは、キーペア形式で値を格納します。
例えば 、以下のステートメントでは、「Local_Property_FromCurrency」はキー名であり、「USD」は値を示します。プロパティ値にアクセスするには、プロパティ名を使用する必要があります。
testRunner.testCase.testSteps (“ Properties”)。setPropertyValue
( ' Local_Property_FromCurrency '、 '米ドル' )
学習内容:
SoapUIProのさまざまなプロパティレベル
SoapUIProのさまざまなプロパティレベルについて説明します。 SoapUIには、3つのレベルのプロパティがあります。
レベル1。プロジェクトとカスタムプロパティ
このレベルでは、プロパティは2つのセクションに分かれています。それらはプロジェクトプロパティとカスタムプロパティです。これらは、プロジェクト名をクリックすると、ナビゲーターパネルの下部に表示されます。プロジェクトプロパティセクションには、名前、説明、ファイルなど、プロジェクトの作成中に作成されるデフォルトのプロパティがあります。
独自のプロパティを作成するために、カスタムプロパティタブを使用できます。プラスアイコンをクリックして、プロパティを作成します。
削除、上への移動、下への移動、追加の横の並べ替えなど、他にも多くのオプションを利用できます。プロジェクト内の任意のセクション(テストスイート、テストケース)で、任意の数のカスタムプロパティを追加して使用できます。
レベル2。 テストスイートとカスタムプロパティ
これらのプロパティは、テストスイートの下でのみ表示されます。テストスイートには、任意の数のプロパティを含めることができ、それらは、前述のテストスイートに属する任意のテストステップからアクセスできます。
プロジェクトの下にあるそれぞれのテストスイート名をクリックすると、テストスイートのプロパティが表示されます。必要に応じてカスタムプロパティを追加するには、(カスタムプロパティ)タブをクリックし、その下にある(+)記号をクリックします。
プロパティ#3。テストケースとカスタムプロパティ
テストケースのプロパティには、テストケース内でアクセスできます。これらは、他のテストケースステップやプロジェクトのテストスイートからもアクセスできません。
アンドロイドのためのトップ5mp3ダウンローダー
例を含むプロパティの詳細
プロパティは、エンドポイント、ログインの詳細、ヘッダー情報、ドメインなどを格納できます。プロパティとの間のデータの書き込みと読み取りについては説明しましたが、このトピックについては例を挙げて詳しく説明していません。
上記のプロパティのレベルは、データを読み取るためのスクリプトで使用されます。
#1。プロパティの読み取り:
groovyスクリプトでプロパティを読み取る方法を見ていきます。さまざまなレベルのプロパティにアクセスするための構文は次のとおりです。
プロジェクト:構文: $ {#プロジェクト名#値}
例:
def pr ojectPro = testRunner.testC に se.testSuite.project.getPropertyValue
(「Project_Level_Property」)
「project_Level_Property」)
log.info(projectPro)
テストスイート:構文: $ {#TestSuite#値}
例:
def testP ro = testRunner.testCase.testSuite.getPropertyValue( ‘Testsuite_Property’)
log.info(testPro)
テストケース:構文: $ {#テストケース#値}
例:
def テスト casePro = testRunner.testCase.getPropertyValue( ‘Testcase_Property’)
log.info(testcasePro)
以下のスクリーンショットを参照してください。
#2。プロパティへの書き込み:
これを行うには、使用する必要があります setPropertyValue 方法。
構文: setPropertyValue( 'プロパティ名'、 '値')
不明なプロパティに値を割り当てると、SoapUIはこれらのプロパティを新しく作成します。既存のプロパティの場合、割り当て中に値を受け取ります。
#3。スクリプトによるプロパティの削除:
これは、プロパティパネルからプロパティ名を右クリックすることで実行できます。次に、コンテキストメニューから(削除)オプションをクリックします。
カスタムプロパティを削除するスクリプトを使用してこれを行うには、プロジェクト、テストスイート、またはテストケースレベルにそれぞれ次のステートメントを使用します。
testRunner.testCase.testSuite.project.removeProperty(“ Testcase_Property”);
testRunner.testCase.testSuite.removeProperty(“ Testcase_Property”);
testRunner.testCase.removeProperty(“ Testcase_Property”);
上記のスクリプトは、各レベルに複数のプロパティがある場合、これらの手順をプロパティごとに数回繰り返す必要があるため、最適ではありません。別の方法は、以下のようにスクリプトを介してプロパティを繰り返すことです。
testRunner.testCase.properties.each
{{
キー、値->
testRunner.testCase.removeProperty(キー)
}
上記のスクリプトは、テストケースで使用可能な最後のプロパティまで繰り返されます。 「「 キー 」はプロパティの名前を指し、「 値 」は、プロパティの実際の値を示します。上記のスクリプトを変更して、さまざまなレベルに存在するバルクプロパティリストを削除できます。
#4。プロパティを追加します:
AddProperty メソッドは、構文が次の場合に使用されます。
addProperty(プロパティ名);
これは、以下のように各レベルに適合させることができます。
testRunner.testCase.testSuite.project.addProperty( ‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty( ‘TestsuiteProperty1’)
testRunner.testCase.addProperty( ‘TestcaseProperty1’)
上記のスクリプトを実行した後、プロジェクト/テストスイート/テストケース名をクリックします。プロパティパネルのカスタムプロパティタブを確認すると、作成されたプロパティがここに表示されます。以下を参照してください。
サービスでのプロパティの使用
このセクションでは、サービスでプロパティを使用する方法を学習し、上記のスクリプトを使用して、通貨コンバーターWebサービスでプロパティデータを追加、割り当て、取得します。
プロパティのサービスへの統合:
以下のスクリーンショットに示すように、テストステップの追加を開始しましょう。
上のスクリーンショットでは、AddProperties_Scriptテストステップに次のような2つのプロパティを追加するスクリプトが含まれています。 Property_FromCurrency そして Property_ToCurrency 。
//プロパティを追加します
testRunner.testCase.addProperty( ‘Property_FromCurrency’)
testRunner.testCase.addProperty( ‘Property_ToCurrency’)
//プロパティに値を割り当てます
testRunner.testCase.setPropertyValue( ‘Property_FromCurrency’、 ’USD’)
testRunner.testCase.setPropertyValue( ‘Property_ToCurrency’、 ‘INR’)
の中に ServiceRequest_CurrencyConverter_1 以下に示すように、入力パラメーターを含む要求が含まれています。
プロパティに割り当てられた値は、実行中にこれらのパラメータに転送されます。このテストステップに続いて、 GetResponseData_Script テストステップには、応答値を取得して結果をログに表示するスクリプトがあります。これがスクリプトです。
//サービスから応答データを取得します
def response = context.expand( ‘$ {ServiceRequest_Currency
Converter_1#Response} ’)
def parsedResponse = new XmlSlurper()。parseText(response)
文字列convertedValue = parsedResponse.Body.ConversionRateResponse。
ConversionRateResult.text()
log.info(convertedValue)
すべての手順の準備ができたら、テストスイート名をダブルクリックして、テストスイートを実行します。次に、をダブルクリックします ServiceRequest_CurrencyConverter_1 応答セクションを参照してください。
これは私たちが見つけるものです:
- 応答が受信されます
- スクリプトログを開いて、入力パラメータに基づいて変換された結果のデータを確認します
これは、パラメーターを入力要求に渡し、プロパティを使用してスクリプトを介して応答を取得する方法です。さらに進んで、応答値を入力として別のサービスに渡すこともできます。
財産譲渡
プロパティ転送テストステップは、実行中にプロパティデータをあるプロパティから別のプロパティに転送します。プロパティ転送テストステップを作成する方法と、プロパティ値が2つのプロパティ間で転送される方法を簡単に見てみましょう。
- テストスイートの下にあるテストケース名を右クリックします
- クリック ステップを追加 次にクリックします プロパティ コンテキストメニューのオプション
- 上記の手順を繰り返して、2番目のプロパティを作成します。以下のスクリーンショットを参照してください。
- 次に、プロパティ転送テストステップを追加する必要があります。
- テストケース名を右クリックし、コンテキストメニューからプロパティ転送オプションをクリックします
- 希望の物件譲渡名を入力し、(OK)をクリックします
- (追加)をクリックします。つまり、プロパティ転送ツールバーにプラス記号を入力します。
- 転送名を指定し、(OK)ボタンをクリックします
- 右側のパネルには、ソースとターゲットの2つのセクションがあります。
次のようにソースを選択します プロパティ とプロパティとして Property_Zipcode 。ターゲットセクションでも同じことを行います。選択 Target_Property プロパティドロップダウンから。アイコンを実行すると、プロパティ値はから転送されます Property_Zipcode に Target_Property 。
(画像をクリックすると拡大表示されます)
以下のスクリーンショットに示すように、転送された値を参照してください。
注意: ソースプロパティにはデフォルト値が含まれている必要があります。
これに加えて、プロパティ転送画面で利用可能な多くのオプションがあります。
- エラー時に転送に失敗する
- テキストコンテンツの転送
- すべてに転送
- 転送された値をエンティティ化する
- 欠落しているソースにNullを設定する
- 空の値/欠落している値を無視する
- XQueryを使用する
- 子ノードの転送
外部ソースからプロパティをロードします。
外部ソースからプロパティをロードするには、次の手順に従います。
- テストケースの下にプロパティテストステップを追加します
- プロパティのステップ名を入力し、(OK)をクリックします
- ナビゲーションパネルの下のプロパティパネルで、(カスタムプロパティ)タブをクリックします
- クリック
外部プロパティファイルからプロパティをロードするアイコン
注意: プロパティファイルは、コンピュータに保存または存在する必要があります。プロパティを保存するには、アイコンをクリックします。
次に、それぞれのドライブに移動し、以下に示すようにプロパティを選択します。
(OK)をクリックすると、読み込まれたプロパティとその値が(カスタムプロパティ)タブに表示されます。
結論
まあ、それは私たちの特性です!
各レベルのプロパティには独自の特性があります。 SoapUIの練習中は、プロパティデータを追加、削除、割り当て、取得するためのgroovyスクリプトテストステップで、可能な限りプロパティを含めるようにしてください。これは、サービスを練習するときに役立つだけでなく、この手法が非常に役立つため、実際のアプリケーションテストにも重要です。 テストケースを主張する 。
テストステップ間でプロパティを転送することは、新しいスクリプトを作成するために繰り返しスクリプトを作成するよりも簡単です。 SoapUIは、プロパティをインポートおよびエクスポートするための優れた機能も提供します。この機能は、ログインの詳細、セッションの詳細など、複数のプロジェクトに共通のプロパティを使用している場合に役立ちます。そうすれば、複数のプロジェクトに対して同じプロパティを何度も作成する必要がありません。プロジェクトに基づいて、プロパティに対するプロパティ値を簡単に変更できます。
次のチュートリアル#9 :次のSoapUIチュートリアルでは、 Groovyの条件文は次のようになります。
- ブールステートメント
- 反復ステートメント
- Groovyの配列
今日は以上です。読み続けてください。次のチュートリアルでお会いしましょう。以下に質問、コメント、経験を共有してください。
推奨読書
- SoapUI Groovyスクリプトでプロパティを使用する方法-SoapUIチュートリアル#7
- SoapUI Proでデータ駆動型テストを実行する方法– SoapUIチュートリアル#14
- 15以上のSoapUIチュートリアル:最高のWebサービスAPIテストツール
- SoapUIで基本的なGroovyスクリプトを作成する方法-SoapUiチュートリアル#6
- 初心者向けの詳細なEclipseチュートリアル
- SoapUIおよびSoapUIProの7つの重要な機能-チュートリアル2
- SoapUIのアサーションを理解する-SoapUIチュートリアル#5
- プロオーディエンス向けのSoapUIProの4つの重要な機能– SoapUIチュートリアル#12