2015-02-24 24 views
0

Gatling可以在每次請求時使用不同證書的送紙器嗎?Gatling - 根據要求更改饋線中使用的SSL證書?

考慮試驗:

  • 爲多個用戶,每個用戶都有一個用於HTTPS連接爲每個用戶個人的,獨特的證書,
  • ,發送一個請求,使用該用戶的證書。

實現示例:

val feeder = Array(
    Map("data" -> data(user1_data), 
    "gatling.http.ssl.trustStore.file" -> "/tmp/test-data/rb.jks", 
    "gatling.http.ssl.trustStore.password" -> "password", 
    "gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user1.jks", 
    "gatling.http.ssl.keyStore.password" -> "password"), 

    Map("data" -> data(user2_data), 
    "gatling.http.ssl.trustStore.file" -> "/tmp/test-data/rb.jks", 
    "gatling.http.ssl.trustStore.password" -> "password", 
    "gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user2.jks", 
    "gatling.http.ssl.keyStore.password" -> "password") 
) 
... 
val scn = scenario.exec(reportableTest(
    repeat(feeder.length) { 
    feed(feeder) 
    .exec(http("test user personal data") 
    .post(user_url) 
    .headers(user_headers) 
    .body(StringBody("${data}")).asJSON 
    .check(
     status.is(201), 
     header("Content-type").is("application/json"), 
    ) 
})) 

我打過電話:在情景設置.disableClientSharing。

的怪異行爲,似乎只有第一

"gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user1.jks", 

處理。接下來不是(即使我創建另一個reportableTest)。我只是簡單地改變了順序來看到實際上在兩個請求中都使用了第一個「userX.jks」。

這是正常的行爲? 這是一個錯誤?

回答

0

在Gatling的Google Group上回答:可以爲每個虛擬用戶設置SSL配置,而不是針對每個請求。

+0

當然。在你的回答結束後,一位同事指出「重複」部分 - 導致所有支持請求被單個用戶使用。它沒有工作(2個用戶有2個請求)。感謝您的幫助和快速回復 – hauron 2015-02-24 21:17:15