HTTPサービスへのファイルのアップロードを自動化するために、JMeterでHTTPリクエストサンプラーを作成しています。 「Send Files With the Request」の「File Path」をjmxファイルの場所からの相対パスに設定する方法はありますか?
はい。 (これはJMeter v2.9で確認されました)
ファイル名入力フィールドでは、次のBeanShell式を使用できます。
${__BeanShell(import org.Apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}<YOUR FILENAME HERE>
したがって、ファイル "pload.jpg"がJMXテストファイルと同じフォルダにある場合、完全な値は次のようになります。
${__BeanShell(import org.Apache.jmeter.services.FileServer; FileServer.getFileServer().getBaseDir();)}${__BeanShell(File.separator,)}upload.jpg
少しすっきりさせるには、式のベースを変数に割り当てる「ユーザー定義変数」設定要素を変数に追加します。
SCRIPT_PATH = ${__BeanShell( ...etc
次に、ファイルパスの入力値がより読みやすくなります。
${SCRIPT_PATH}upload.jpg
私はバージョン2.11の下にあり、BeanShellスクリプトは、CSVファイルを相対化するために機能せず、相対パスを作成するために、この~/filename.csv
を使用するだけで十分です。これは、CSVファイルがJMXファイルと同じディレクトリに存在することを意味します。しかし、たとえば~/../results_dir/filename.csv
などに変更できます。
幸運を。
私はここで答えを見つけました http://kisbigger.blogspot.com/2013/09/pointing-to-files-with-relative-paths.html これは...
jmxと同じフォルダにfilename.csvがあり、JMeter 2.11以降で〜/ filename.csvを配置すると、Javaが機能しませんでした