Jmeter 2.10 HTTP recorder throws keytool exception

I am trying to research jmeter and quickly run into some problems. I am trying to follow the tutorial at http://jmeter.apache.org/usermanual/jmeter_proxy_step_by_step.pdf . When I try to start the recorder, I get can not create a proxy error. Logs give me this message:

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 

I do not know why exe will not be selected, since it is part of java and in my path, or why jmeter zip will exclude the necessary file, so I copied keytool from my java installation to the directory that it looked over for it and tried again. when i did this i got the following:

ERROR - jmeter.protocol.http.proxy.ProxyControl: Failed to initialize java.io.IOException key store:

I got the code -1073741515 , which, as a beginner, does not help. I tried these things with and without pointing to my proxy, no difference in results. I am on a Windows 7 64 bit system and am using jdk 1.7.

Any suggestions on what steps I can take to fix the problem?

Edit: here is the complete log

  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 
+6
source share
4 answers

Since JMeter 2.10, the record has been improved to better handle embedded resources and create certificates on the fly. This greatly simplifies writing complex HTTPS sites.

To add these features, JMeter now uses the keytool utility (available in the JDK), so you need to make sure your configuration is correct, read this wiki page before starting:

Also make sure you read:

Note that it is much better to use JDK7. (jdk7 must be installed on the system)

If you do not want to read the long answer (which you should :-)), then: Make sure JAVA_HOME and PATH are set correctly to do this: Open jmeter.bat and add this (at the top after launch.exe command):

SET JAVA_HOME = Path to JDK

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

Restart JMeter and retest.

If this does not work, you can workaround to define the following JMeter property in user.properties:

proxy.cert.alias = nothing

+10
source

Try running JMeter from the command line using admin privs, works for me!

+3
source

Since the version of JMeter is 2.10, you have to configure var PATH on Windows.

The problem is with the new PROXY HTTPS.

To avoid configuring JMeter and JDK from Oracle, I am making a package for installation.

New package created for JMeter 2.11

0
source

I would also advise you to consider alternatives in an automated script script. There are actually several ways to write .jmx scripts:

-1
source

Source: https://habr.com/ru/post/956589/


All Articles