2017-06-07 2 views
0

csvの値を読み取るヘッダー項目の行を持つWebサービスをテストする必要があります。JMeter Dynamic Request

<urn:Requisition_BudgetReqExportHeaderDetails_Item> 
     <!--Zero or more repetitions:--> 
     <urn:item> 
      <urn:CompanyCode> 
       <urn:UniqueName>?</urn:UniqueName> 
      </urn:CompanyCode> 
      <urn:ERPRequisitionID>?</urn:ERPRequisitionID> 
      <urn:HoldTillDate>?</urn:HoldTillDate> 
      <urn:IsServiceRequisition>?</urn:IsServiceRequisition> 
      <urn:Name>?</urn:Name> 
     </urn:item> 
</urn:Requisition_BudgetReqExportHeaderDetails_Item> 

1以上より2

がどのように私は、このWebサービス要求を処理することができ、私はCSVファイルから値を読み取ることができますが、このWebサービスが複雑で、アイテムがあるかもしれませんか?

答えて

1

あなたのようなJSR223 PreProcessorを使用することができます。

  1. 「スクリプト」エリア、1は次のようになります例にXMLペイロードを生成するためのコードを入れて、あなたの要求
  2. の子としてJSR223プリプロセッサを追加します。

    def writer = new StringWriter() 
    def xml = new groovy.xml.MarkupBuilder(writer) 
    
    xml.records() { 
        car(name:'HSV Maloo', make:'Holden', year:2006) { 
         country('Australia') 
         record(type:'speed', 'Production Pickup Truck with speed of 271kph') 
        } 
        car(name:'Royale', make:'Bugatti', year:1931) { 
         country('France') 
         record(type:'price', 'Most Valuable Car at $15 million') 
        } 
    } 
    
    sampler.addNonEncodedArgument("", writer.toString(), "") 
    

    あなたがテストJSRを実行すると、あなたの条件

  3. に一致するように、それを改正223プリプロセッサはリクエストボディを生成し、HTTP Requestサンプラー

参考にそれを設定します:

  • sampler - HTTPSamplerProxyクラスに速記、利用可能なすべてのメソッドとフィールド
  • Groovy - Creating XMLのJavadocを参照してください - Groovy言語を使用してXMLデータを作成する方法を学ぶ
  • Groovy is the New Black - JMeterのGroovyスクリプティングの紹介
+0

あなたの答えをありがとう。 csv値はどのように使用できますか? – ulysses

+0

あなたは[JMeterVariarbles](https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html)クラスのインスタンスを表す 'vars'省略形を持っていますので、' $ {foo } 'variableのようなものでなければなりません。' def myFooVariable = vars.get( 'foo') ' –