3

私がしなければならないこと:
1. 前の応答からすべての顧客 ID を抽出します。
2.すべての ID をシャッフルします。
3. 1 回のリクエストですべての ID を渡します。(例: custPref - 9768,7651,3215,....)

正規表現を使用して、すべての顧客 ID を 1 つの変数 (custID) に取りました (一致番号 = -1 を設定)。

For Each コントローラーを使用することで、1 つの要求で 1 つの顧客 ID を渡すことができます。
しかし、顧客 ID をコンマ区切りの値でシャッフルした後、顧客の設定を設定するために、1 つの要求ですべての顧客 ID を渡す必要があります。

また、顧客 ID の数は固定されていないため、変数を ${custID}_g1、${custID}_g0... として使用できませんでした。

顧客 ID をシャッフルし、すべての ID を 1 回のリクエストで渡す方法を提案してください。

4

2 に答える 2

3

ヒント:を使用して 顧客IDの数を取得できますcustID_matchNr

したがって、完全なBeanshellスクリプトは次のようになります。

import java.util.ArrayList;
import java.util.Collections;

ids = new ArrayList();
idCount = Integer.parseInt(vars.get("custID_matchNr"));
for (int i=0; i<idCount; i++){
  ids.add(vars.get("custID_" + String.valueOf(i+1)));
}

Collections.shuffle(ids);

builder = new StringBuilder();
for (String id: ids){
  builder.append(id);
  builder.append(",");
}
builder.deleteCharAt(builder.length()-1);
vars.put("custPref", builder.toString());
于 2012-12-08T19:14:36.607 に答える
0

jmeter を介して int の配列を Web メソッドなどに渡す必要がある場合は、ここに解決策があります。

  1. http リクエストでは、Post Body を使用します。

  2. 投稿本文では、json を渡す必要があります。次のように: {"language":"en", "translationIds":[10254, 3071, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086 、3087、3088、3089、3090、3091、3092、3093、3094、3095、3096、3097、3098、3099、3100、3101、3102、3103、3104、3105、3106、3107、3108、3109、3110、3111110、3111110、3111 、3112、3113、3114、3115、3116、3117、3118、3513]}"

  3. 次の HTTP ヘッダー マネージャーが必要です: Content-Type application/json

写真1

2 番目の画像

(CODE) 4. 最後に、メソッドを含むクラスに [ScriptService] 属性 (C#) を配置する必要があります。

于 2013-07-08T14:39:06.003 に答える