質問

これが私の状況です:

私はこれをやりたい:

私は、応答が404のHTTPステータスコードであるかどうかを確認するためにHTTPリクエストを使用してヒットしたいMySQLデータベースにURLのリストがあります。

私はこれをしました:

  1. jdbc config要素を追加および設定した。
  2. JDBC要求サンプラーを追加および設定した。基本的に8列のテーブルを返すSELECTステートメント。 JDBC要求の結果がこれらの変数名で識別できるように、「変数名」フィールドに8つのコンマ区切り変数を提供しました。
  3. 'サーバ名またはIP'フィールドに$ {url}のいずれかを使用するHTTPリクエストサンプラーを作成しました。
  4. JDBC要求は完全に機能していますが、一時張りの行でテーブルを返しますが、これに関する問題は、HTTPリクエストサンプラーがJDBC要求結果から変数を拾わないことです。 HTTPリクエストは、[結果ツリーの表示]:

    のようになります。
    GET http://${url}/
    
    .

    私はこれらの解決策を試しました:

    1. JDBCリクエストに「ファイル」リスナーへの応答を追加します。これにより、「.plain」と型のファイルが作成され、CSVではなくなります。それがCSVだったので、CSVデータ・セット設定を作成することによってCSVファイルを利用した可能性があります。だからこの試みは失敗しました。
    2. 上記の試みでファイル名を強制することを試みました。「c:\ jmetertest \ data.csv」を使用しようとしました。しかし、 'C:\ JMetertest \ Data.csv1.plain'という名前の新しいファイルを作成します。この試行は失敗しました。
    3. URL列を$ {url_1}として参照しようとしました。動いた。しかし、結果は結果ツリーでは、結果セットの最初の行のみからURLのみをすべての要求に行くことが現在、すべての要求が行われていることです。これが上記の$ {url_1}で指定された行番号 '_1'が原因であることがわかります。誰かが「_1」をループスルーする変数にパラメータ化する方法を提案できる場合(おそらく 'counter'要素を使用して)。参照名 'LoopCounter'でカウンタ設定要素を作成しました。 HTTPリクエストの[サーバー名]フィールドにこれを使用しました:

      $ {URL _( "$ {LoopCounter}")}

    4. しかし今私のhttpリクエストはラメラ:

      GET http://${url_("${loopCounter}")}/
      
      .

      これはうまくいきませんでした。

      ソリューション3は、行番号のパラメータ化を解決できる場合にのみ、より切断可能に見えます。 私はJMETERプラグインの提案にも開かれています。 私が行くように試してみる他の何かを更新します。

      p.S。とにかく私の質問が明確でないかどうか私に知らせてください。

役に立ちましたか?

解決

HTTPサンプラーをforeachコントローラ(親)でラッピングしようとしました。コントローラの変数は、JDBCサンプラから取得したURL変数です。

また、foreachの出力変数は、HTTPサンプラーで使用する変数になります。

それは各変数をインデックスの先頭から最後まで反復し、毎回サンプラーを実行します。

他のヒント

「ファイルの返信をファイルの保存」リスナーで、「サフィックスを追加しない」を選択します。これら2つのオプションを確認すると、正確なログファイル名が正確になります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top