0

にある事前生成された SSH キーをロードしようとしています%USERPROFILE%\\.ssh\id_rsa.ppk

ユーザー定義変数を設定しました:

PAGEANT: "C:\Path_to_pageant\Pageant.exe"
   HOME: %USERPROFILE%
 ID_RSA: ${HOME}\.ssh\id_rsa_jmeter.ppk

OS プロセス サンプラーは次のように構成されます。

Command: ${PAGEANT}
  Value: "${ID_RSA}"

実行後、次のように表示されます。

Executing: "C:\Path_to_pageant\Pageant.exe" "${HOME}\.ssh\id_rsa_jmeter.ppk"

Pageant は、キーが見つからないことを警告し、キーがロードされていません。

ID_RSA を次のように変更すると%USERPROFILE%\.ssh\id_rsa_jmeter.ppk:

Executing: "C:\Path_to_pageant\Pageant.exe" "%USERPROFILE%\.ssh\id_rsa_jmeter.ppk"

Pageant は、キーが見つからないことを警告し、キーがロードされていません。

そのコマンドをコピーしてコマンド プロンプトに貼り付けると、キーが Pageant に追加されます。どちら${HOME}%USERPROFILE%拡張されていないようです。

注: パスを完全にハードコーディングすると、JMeter はキーをインポートできます。

4

2 に答える 2

1

あなたの

  • %USERPROFILE%
  • %HOME%

変数

  • ${__BeanShell(System.getenv("USERPROFILE"),)}
  • ${__BeanShell(System.getenv("HOME"),)}

によると。

上記のアプローチでは、System.getenv() Java SDK クラス メソッド呼び出しと JMeter の __Beanshell関数を組み合わせて使用​​します。

関数を使用して他に何ができるかについては、JMeter 関数の使用方法の投稿シリーズを参照してください。

于 2014-10-29T10:36:57.760 に答える
0

展開に失敗しているのは だけ%USERPROFILE%です ( に${HOME}展開し%USERPROFILE%、その後展開に失敗します)。

これは、OS プロセス サンプラーではなく、コマンド プロンプト シェルによって展開が行われるためです。

を取得する最善の方法は%USERPROFILE%、起動時にプロパティにロードしてから、そのプロパティを使用することです${HOME}

-DUSERPROFILE=%USERPROFILE%JMeter 起動コマンド ラインに追加し、${__P{USERPROFILE}}代わりにスクリプトで使用します。

別の方法として、コマンドを変更して実行することもできます"cmd.exe /C \path_to_pageant\pageant.exe"。これにより、コマンド%USERPROFILE%プロンプトが Pageant を呼び出す前に、コマンド プロンプトが呼び出されて展開されます。

于 2014-10-29T00:29:38.953 に答える