2015-08-26 35 views
0

我正在嘗試將值映射到模板。我正在測試Web服務。我需要將第一個休息呼叫的響應填充爲另一個休息呼叫作爲請求。我在下面做。Gatling 2.0.3 - 將值映射到模板

第一次POST調用[BOLDED],我將響應保存爲兩個值。現在我將這些值傳遞給另一個POST調用[BOLDED ITALIC]。

我收到下面的錯誤。請幫助解決這個問題 的方法體的參數太多:

(BD:io.gatling.http.request.Body)io.gatling.http.request.builder.HttpRequestWithParamsBuilder

VAL授權=情形( 「授權」) .feed(correlationIdFeeder) .feed(dataFeeder) .feed(csvFeeder) .exec( HTTP( 「創建令牌TM給出一個外部令牌」) .POST(tokenization_endpoint) 。體(ELFileBody( 「tokenization.json」))。asJSON
。檢查(status.is(200))
。檢查(jsonPath( 「$。payment_token」)的saveAs( 「payment_token」))

。檢查(jsonPath( 「$。payment_transaction_id」)的saveAs( 「payment_transaction_id」)) ) .exec( HTTP( 「授權流程」) 。員額(authorization_endpoint) 。體(ELFileBody(「授權.json「),Map(」payment_token「 - >」$ {payment_token}「,」payment_transaction_id「 - >」$ {payment_transaction_id}「,」transaction_date「 - >」$ {current_date}「,」value「 - >」$ {amount}「)).asJSON
。檢查(status.is(200))
。檢查(jsonPath( 「$。transaction_details.transaction_status」)被(簡稱 「認可」))。檢查 (jsonPath( 「$。transaction_details.transaction_status_code」)。 (「0x20」)) .check(jsonPath(「$。transaction_details.payment_token」)。(「$ {payment_token}」)) .check(jsonPath(「$。transaction_details.payment_transaction_id」)。is(「 $ {} payment_transaction_id 「))。檢查 (jsonPath(」 $。transaction_details.transaction_date 「)。是(」 $ {} CURRENT_DATE「)) )

謝謝 穆拉利。

回答

0

兩件事:

  • 首先,你使用加特林2.0.3這是相當老了,會打噸已經被修復的bug,並錯過功能噸。當前最新版本是2.1.7。
  • 然後,看起來你正在嘗試做類似於Gatling 1中的工作,當我們使用Scalate進行模板化時。這不是現在的事情!使用ELFileBody,您可以直接在模板中使用Gatling EL。請閱讀文檔。