Himanshu
Himanshu

Reputation: 1443

JMeter - Could not find the TestPlan class

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

Upvotes: 12

Views: 13005

Answers (7)

Erik Ostermueller
Erik Ostermueller

Reputation: 508

User @Marged's suggestion to do a "Save As" on the .jmx worked for me as well. I kdiff'd the .jmx before and after the "Save As" to show the exact changes that make this work. See image below. Actually, I got it to work by only adding the 2nd change in the image. Specifically, I added the following line as the last child tag of the .jmx's <ThreadGroup>.

<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>

kdiff showing the specific changes after the "Save As"

Upvotes: 0

Kingmenden
Kingmenden

Reputation: 31

  1. 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.
  2. Exit the GUI mode.
  3. Open command prompt, navigate to the bin file within the jmeter folder
  4. 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.

Upvotes: 3

Ivan Trechyokas
Ivan Trechyokas

Reputation: 517

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..."

Upvotes: 2

Jason
Jason

Reputation: 719

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.

Upvotes: 3

Marged
Marged

Reputation: 10963

I had the same problem today with JMeter 2.13. When I saved it using this entry from the menu I received a jmx file that was accepted in non-GUI mode:

enter image description here

Upvotes: 14

Renat
Renat

Reputation: 81

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

Upvotes: 2

UBIK LOAD PACK
UBIK LOAD PACK

Reputation: 34536

Use bin/jmeter instead of your command line:

Upvotes: 0

Related Questions