2017-12-02 14 views
0

私が扱っている問題があります。毎晩一緒に実行する100個のテストのフレームワークを作成しました。 すべてのテストでは、文字列のリストを作成するのと同じ手順があります。 私は新しい文字列名を与えるテストをしたい(私はそれを何度も複製するので、手動で変更することはできない)。 ランダムな名前を生成する関数を作成し、それをリスト名として使用したいと考えています。 私はそれを宣言するとき例外がある ランダムは、それが生成されたランダム化された名前を得た文字列です。この場合、 はランダム= 100545GKFNでした。 100545GKFNという名前のリストを作成したいのですか? Jmeterで各スレッドグループに同じリスト名を作成するとどうなりますか? Jmeterは同じ名前の複数のリストを扱うことができますか(それぞれ異なるスレッドグループにありますか)たとえば、my_listという名前の1000000リストそれぞれ異なるスレッドグループに入れ、各テストに応じて各文字列に追加しますか?jmeter - groovyに変数名の文字列のリストを作成

List<String> vars.get("random") = new ArrayList<String>(); 

答えて

0

それは私がそれにもかかわらず...完全 をあなたの質問を理解していない可能性があります、あなたには、いくつかの異なるデータ構造を使用することができ、このように:

Map<String, List<String>> domain = new HashMap<>(); 
    String name; 
    for (int i = 0; i < MAX_LISTS; i++) { 
     name = getRandomName(); //you provided this method 
     domain.put(name, new ArrayList<>()); 
    } 
0

宣言文は、そのVARSに奇妙に思えます.get( "random")はnullまたはインスタンス化されたオブジェクトを返します。戻り値をリスト<>として宣言することが問題です。

List<String> myRandomList = new ArrayList<String>(); 
// ... 
myRandomList = someFunctionThatReturnsARandomList(); 
// ... 
vars.set("random") = myRandomList; // Assuming vars is a key-value map type 

またはあなたがそれを直接アクセスしたい場合、あなたは私が解決

((List<String>) vars.get("random")).add(newRandomValue); 
0

のようなステートメントを試みることができる一覧

List<String> myRandomList = (List<String>) vars.get("random"); 

としてvars.get()の戻り値をキャストしてみてくださいランダムなIDを作成し、それをrun_idという変数に入れます。 このコマンドを毎回使用してリストを作成する

props.put("list_${ran_id}", my_list); 
関連する問題