I have a simple flume setup with a HTTP souce and a sink that writes the POST request payload to a file. (This complete setup is on a Linux machine).
After that my task is to do a performance test on ths setup. So I decided to use JMeter (this is the first time, I am using it).
So I created a test plan on my windows machine (using GUI) and then copied it to the jmeter/bin folder in the linux enviornment.
When I tried ruuning it -
java -jar ApacheJMeter.jar -n -t flume_http_test.jmx
I am getting this error ERROR - jmeter.JMeter: Error in NonGUIDriver java.lang.RuntimeException: Could not find the TestPlan class!
Any Suggestions?
Thanks in Advance
I too had the same error message. After creating the Test Plan and successful trial run on a Windows machine in GUI mode, I uploaded the JMX file to a Linux server to run in Command line mode.
After much searching and messing around I found that it was because I left the Test Plan name of the script to the default "Test Plan"!? When I changed it to "My Test Plan", for example, then saved and uploaded to the Linux server it ran successfully.
In testplan.jmx file contains:
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.8" jmeter="2.13 r1665067">
<hashTree>
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
...
</TestPlan>
That contains predefined variables. But sometimes when you save your testplan.jmx like "Save as" this section can be missed. For my case, answer from @Marged help me: "File > Save test plan as..."
- Open JMeter in GUI mode, open your .jmx test plan you have created or create a new test plan, attempt to run the test plan in gui mode. It should prompt you to save before attempting the run, save the .jmx.
- Exit the GUI mode.
- Open command prompt, navigate to the bin file within the jmeter folder
- enter the jmeter -n -t "C:/Username/location of the .jmx file" command This should run as intended without the error.
This is how I solved the issue.
Possible you incorrect save your test plan. Try to open your flume_http_test.jmx i guess it contains only http request element without test plan element. Try to save your test with test plan element selected. http://joxi.ru/E2pvg4GSeLblrY
Use bin/jmeter instead of your command line:
来源:https://stackoverflow.com/questions/18758705/jmeter-could-not-find-the-testplan-class