6

私はjmeterを調査しようとしていますが、すぐにいくつかの問題に遭遇しました。http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdfのチュートリアルに従おうとしています。レコーダーを起動しようとすると、プロキシを作成できませんというエラーが表示されます。ログには次のメッセージが表示されます。

2013/10/23 13:40:54 INFO  - jmeter.util.JsseSSLManager: Using default SSL protocol: TLS 
2013/10/23 13:40:54 INFO  - jmeter.util.JsseSSLManager: SSL session context: per-thread 
2013/10/23 13:54:32 WARN  - jmeter.protocol.http.proxy.ProxyControl: Could not open/read key store C:\apache-jmeter-2.10\bin\proxyserver.jks (The system cannot find the file specified) 
2013/10/23 13:54:32 INFO  - jmeter.protocol.http.proxy.ProxyControl: Creating Proxy CA in C:\apache-jmeter-2.10\bin\proxyserver.jks 
2013/10/23 13:54:32 ERROR - jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store java.io.IOException: Cannot run program "keytool" (in directory "C:\apache-jmeter-2.10\bin"): CreateProcess error=2, The system cannot find the file specified

exeがJavaの一部であり、パスに含まれているために取得されない理由、またはjmeter zipが必要なファイルを除外する理由がわからないため、keytoolをJavaインストールから探していたディレクトリにコピーし、再試行しました。私がやったとき、私はこれを手に入れました:

エラー - jmeter.protocol.http.proxy.ProxyControl: キー ストア java.io.IOException を初期化できませんでした:

のコードを受け取りましたが-1073741515、初心者には役に立ちません。プロキシサーバーを指定して、または指定せずにこれらのことを試しましたが、結果に違いはありませんでした。私は Windows 7 システム 64 ビットを使用しており、jdk 1.7 を使用しています。

問題を修正するために実行できる手順について何か提案はありますか?

編集:ここに完全なログがあります

    2013/10/23 15:34:06 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_US   
2013/10/23 15:34:06 INFO  - jmeter.JMeter: Loading user properties from: C:\apache-jmeter-.10\bin\user.properties   
2013/10/23 15:34:06 INFO  - jmeter.JMeter: Loading system properties from: C:\apache-meter-2.10\bin\system.properties   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: Copyright (c) 1998-2013 The Apache Software Foundation   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: Version 2.10 r1533061   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: java.version=1.7.0_21   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: java.vm.name=Java HotSpot(TM) 64-Bit Server VM 
2013/10/23 15:34:07 INFO  - jmeter.JMeter: os.name=Windows 7   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: os.arch=amd64   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: os.version=6.1   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: file.encoding=Cp1252   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: Default Locale=English (United States)   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: JMeter  Locale=English (United States)   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: JMeterHome=C:\apache-jmeter-2.10   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: user.dir  =C:\apache-jmeter-2.10\bin   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: PWD       =C:\apache-jmeter-2.10\bin   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: IP: xxxxxxxx Name: xxxxx FullName: xxxxx   
2013/10/23 15:34:07 INFO  - jmeter.JMeter: Loaded icon properties from org/apache/jmeter/images/icon.properties   
2013/10/23 15:34:07 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must contain the string: '.functions.'   
2013/10/23 15:34:07 INFO  - jmeter.engine.util.CompoundVariable: Note: Function class names must not contain the string: '.gui.'   
2013/10/23 15:34:07 INFO  - jmeter.gui.action.LookAndFeelCommand: Using look and feel: javax.swing.plaf.metal.MetalLookAndFeel [Metal, CrossPlatform]   
2013/10/23 15:34:08 INFO  - jmeter.util.BSFTestElement: Registering JMeter version of JavaScript engine as work-round for BSF-22   
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Cannot find .className property for htmlParser, using default   
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/html is    
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xhtml+xml is    
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for application/xml is    
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/xml is    
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.sampler.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser   
2013/10/23 15:34:08 INFO  - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.http.control.gui.WebServiceSamplerGui   
2013/10/23 15:34:08 INFO  - jmeter.gui.util.MenuFactory: Skipping org.apache.jmeter.protocol.http.modifier.gui.ParamModifierGui   
2013/10/23 15:34:08 INFO  - jmeter.protocol.http.proxy.ProxyControl: HTTP(S) Test Script Recorder SSL Proxy will use keys that support embedded 3rd party resources in file C:\apache-jmeter-2.10\bin\proxyserver.jks   
2013/10/23 15:34:09 INFO  - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times   
2013/10/23 15:34:09 INFO  - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1   
2013/10/23 15:34:09 INFO  - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true   
2013/10/23 15:34:09 INFO  - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000   
2013/10/23 15:34:22 WARN  - jmeter.protocol.http.proxy.ProxyControl: Could not open/read   key store C:\apache-jmeter-2.10\bin\proxyserver.jks (The system cannot find the file specified)   
2013/10/23 15:34:22 INFO  - jmeter.protocol.http.proxy.ProxyControl: Creating Proxy CA in C:\apache-jmeter-2.10\bin\proxyserver.jks   
2013/10/23 15:34:22 ERROR - jmeter.protocol.http.proxy.ProxyControl: Could not initialise key store java.io.IOException: Cannot run program "keytool" (in directory "C:\apache-jmeter-2.10\bin"): CreateProcess error=2, The system cannot find the file specified  
    at java.lang.ProcessBuilder.start(Unknown Source)
    at org.apache.jorphan.exec.SystemCommand.run(SystemCommand.java:142)
    at org.apache.jorphan.exec.SystemCommand.run(SystemCommand.java:125)
    at org.apache.jorphan.exec.KeyToolUtils.genkeypair(KeyToolUtils.java:123)
    at org.apache.jorphan.exec.KeyToolUtils.generateProxyCA(KeyToolUtils.java:181)
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.initDynamicKeyStore(ProxyControl.java:1275)
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.initKeyStore(ProxyControl.java:1205)
    at org.apache.jmeter.protocol.http.proxy.ProxyControl.startProxy(ProxyControl.java:431)
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.startProxy(ProxyControlGui.java:485)
    at org.apache.jmeter.protocol.http.proxy.gui.ProxyControlGui.actionPerformed(ProxyControlGui.java:370)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$200(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessImpl.create(Native Method)
    at java.lang.ProcessImpl.<init>(Unknown Source)
    at java.lang.ProcessImpl.start(Unknown Source)
    ... 46 more
4

4 に答える 4

10

JMeter 2.10 以降、埋め込みリソースとその場での証明書の作成をより適切に処理するために、記録が改善されました。これにより、複雑な HTTPS Web サイトの記録がはるかに簡単になります。

これらの機能を追加するために、JMeter は keytool ユーティリティ (JDK で利用可能) を使用するようになったため、構成が正しいことを確認する必要があります。開始する前に、次の wiki ページをお読みください。

また、必ずお読みください:

JDK7 を使用する方がはるかに優れていることに注意してください。(システムに jdk7 をインストールする必要があります)

長い答えを読みたくない場合 (そうすべきです :-) )、次に: JAVA_HOME と PATH が正しく設定されていることを確認してください: jmeter.bat を開き、これを追加します (launch.exe の後の上部に)指図):

SET JAVA_HOME=JDKへのパス

SET PATH=%PATH%;%JAVA_HOME%\bin

JMeter を再起動して再テストします。

うまくいかない場合は、user.properties で次の JMeter プロパティを定義することで回避できます。

proxy.cert.alias=なんでも

jmeter を正しく学びたい場合は、このが役に立ちます。

于 2013-10-23T20:17:08.880 に答える
3

管理者権限でコマンド プロンプトから JMeter を実行してみてください。

于 2014-10-16T20:28:03.687 に答える
0

バージョン JMeter 2.10 以降、Windows で var PATH を構成する必要があります。

問題は、新しい PROXY HTTPS から発生します。

Oracle から JMeter と JDK の構成を回避するために、インストール用のパッケージを作成します。

JMeter 2.11 用の新しいパッケージが作成されました

于 2014-01-06T09:42:23.310 に答える
-1

また、自動スクリプト作成の代替案を検討することをお勧めします。実際には、.jmx スクリプトを作成する方法がいくつかあります。

  1. あなたが与えたチュートリアルで説明されているようにプロキシを使用する

  2. badBoy ツールを使用します。

    http://www.badboy.com.au/ http://www.badboysoftware.biz/docs/ http://www.youtube.com/watch?v=OX9NbYuE07I

    利点: 簡単な記録、jmeter への簡単なエクスポート。

  3. blazemeter chrome 拡張機能を使用:

    http://community.blazemeter.com/knowledgebase/articles/231479-chrome-extension

    利点: jmeter やクラウドに記述されたスクリプトをエクスポートして、クラウド上で実行できます。

    これらのアプローチを試すとすぐに、見逃していたことがわかるでしょう。

于 2013-10-30T10:22:09.587 に答える