2017-11-17 1 views
0

レスポンスボディを動的に検証することを検討しています。私は、ユーザー権限に応じて、別のボディを返すエンドポイントを持っています。たとえば:Gatlingでダイナミックチェックを構築する

http("Request") 
    .get(url) 
    .header(user_a_token) 
    .check(jsonPath("one").exists) 
    .check(jsonPath("two").exists) 
    .check(jsonPath("three").notExists) 

はしかし、私はフィーダーを使用して、それが設定可能なようにしたいか:

user: a 
{ 
    "one": "a", 
    "two": "b" 
} 

user: b 
{ 
    "one": "a", 
    "three": "c" 
} 

私は、私は1つのJSONフィールドは、このように存在するかどうかを検証するためにjsonPathを使用することができることを知っています次のようなものがあります。

http("Request") 
    .get(url) 
    .header(user_token) 
    // iterate a list of Strings with the json field names 

思考?

答えて

0

この要件に対処する方法をついに見つけました。

まず第一に、あなたはチェックのリストを定義する必要があります。その後、

val jsonPathChecks: List[HttpCheck] = List(jsonPath("one").exists, jsonPath("two").exists, jsonPath("three").exists) 

そして、それを使用します。

http("Request") 
    .get(url) 
    .header(user_token) 
    .check(jsonPathChecks: _*) 

_ *演算子は、魔法が起こる作りを担当しています。

関連する問題