ClassNotFoundException in JMeter - jmeter

Hi I am totally new to JMeter. I am trying to record a UI (web) Test and is using BlazeMeter. I have recorded a test and opened it in JMeter (jmx file), then had added listeners. But when I run I cannot find any resukts and its showing
ERROR - jmeter.threads.JMeterThread: Test failed! org.apache.jmeter.protocol.http.parser.HTMLParseError: java.lang.ClassNotFoundException: org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
Caused by: java.lang.ClassNotFoundException: org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
I am not able to find what is to be done. Please help.

What is your JMeter version? My expectation is that you are using something very outdated, make sure you always use the latest version of JMeter, moreover it is recommended as one of JMeter Best Practices
You can grab one at JMeter Downloads page at any time
There might also be the case that BlazeMeter can be not in sync (i.e. 1 version behind the JMeter release) so I would recommend contacting BlazeMeter Support if the situation won't be solved by upgrading your JMeter version to the latest one.

Related

Setup Thread Group doesn't run in JMeter

I am trying to run the JMeter test plan in the GitLab pipeline and facing a strange issue that Setup Thread Group doesn't run when the test plan is triggered.
JMeter Version : 5.4.1
Java : Open JDK 11
System : Linux
The test plan starts running all the other thread groups without running the Setup Thread Group first causing the test to fail completely. I am running JMeter in non gui mode.
Tried disabling all other thread group and still the problem persists
I can think of 2 reasons for not running the Thread Group, no matter whether it setUp, tearDown, normal or custom:
The number of threads is 0
The Thread Group has CSV Data Set Config and the CSV file is not present
The Thread Group has a JMeter Plugin and the plugin is not installed
Normally JMeter reports the fact of starting and stopping threads in jmeter.log file, you can take a look there and see what's going on. Additionally you can increase JMeter's logging verbosity to DEBUG level if normal level doesn't show the root cause of the unexpected behaviour.
And last but not the least according to JMeter Best Practices you should always be using the latest version of JMeter so consider upgrading to JMeter 5.5 (or whatever is the latest stable version available at JMeter Downloads page)

How to display assertion error message in dashboard report?

The question was already posted by Chintamani here however it has not been answered.
I'm trying to get the details of my error through the generated dashboard report by JMeter but it's not detailed out in the report. It just indicates that an assertion failed.
Rather than just indicating Assertion Failed in the Type of error. I would want for the report to display the custom response assertion error message that I indicated in the response assertion. I hope someone can help. Thanks!
EDITS:
I have replicated the issue here. It still indicating assertion failed. Not sure what I'm missing here. Also, I am using the updated JMeter version 5.2.1.
This is my result save configuration on my simple data writer.
I cannot reproduce your issue using latest stable JMeter version 5.2.1:
According to 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure you should be using the latest version of JMeter so consider upgrading to JMeter 5.2.1 (or whatever is the latest stable JMeter version which is available at JMeter Downloads page) and the issue will go away.
If you're using the latest version already it might be the case you're looking into "old" results, re-run your test providing -f command-line argument so JMeter would overwrite the previous .jtl results file and the dashboard folder with the new results
Check for properties jmeter.save.saveservice.assertion_results_failure_message=false
This should be equal to true or just remove/comment before running again.

Why we get Error in NonGUIDriver java.lang.IllegalArgumentException in blazemeter while execution?

I am getting below error while executing test in blazemeter.
jmeter.JMeter: Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/home/jmeter/abc.jmx', missing class com.thoughtworks.xstream.converters.ConversionException:
Have anyone face this issue....
Also i am using random csv data set plug-in in my jmeter script which i have uploaded in blazemeter.
There are 3 possibilities:
Either you forgot adding a plugin your test plan requires
Or you forgot adding a dependency that a used plugin requires
Or there is an incompatibility between the jmeter version used locally and on Blazemeter
Encountered this issue this morning. To solve it:
1) Add the jmeter plugin manager.
2) Close jmeter and reopen it.
3) It then suggested the plugins I was missing and allowed me to add them.
It worked fine after this. Hope this helps

jmeter response time got increased by 4times after java upgrade

I am using Jmeter 3.3 for executing performance script. Currently Java got upgraded in server from 1.7 to 1.8. Now while executing script on submitting SSO stub page for doing SSL handshake where there is redirection from one end point URL to another exists, its taking more than 60secs to redirect, whereas manually it hardly takes15-20 secs. Same script took hardly 10secs before java upgrade. Any idea how to resolve this Jmeter issue
This might be due to JEP-115 which adds GCM algorithm which is on one hand secure and on another is quite slow or other security enhancements
If it impacts your tests you can disable the algorithm by taking the next steps:
Create java.security file in "bin" folder of your JMeter installation
Add the next line to it:
jdk.tls.disabledAlgorithms=SSLv3,GCM
Then add the next line to system.properties file (lives in "bin" folder of your JMeter installation)
java.security.properties=java.security
Also consider upgrading to JMeter 4.0 as you should be always using the latest JMeter version according to JMeter Best Practices

Controlling the number of requests in Taurus

I am just wondering how I can control the number of requests in Taurus / Jmeter?
Let's say I have to use an external file where there are prepared data for the test. I have to know how many data I should make for data (i.e. how many requests will be fired by Taurus / JMeter).
I found this article which says that the throughput setting can be used for that. However I got the following exception when I added this single setting (throughput: 2) to my yaml file:
2018-05-31 13:08:11,743 ERROR o.a.j.JMeter: Error in NonGUIDriver
java.lang.IllegalArgumentException: Problem loading XML from:'/home/vikhor/projects/temp/taurus/test_SOAP/2018-05-31_13-07-54.930576/modified_requests.jmx', missing class com.thoughtworks.xstream.converters.ConversionException
...
Caused by: com.thoughtworks.xstream.mapper.CannotResolveClassException: kg.apc.jmeter.timers.VariableThroughputTimer
I haven't installed JMeter, let Taurus installed it.
Any idea how to fix this issue (found this link but didn't help) or how to control the number of the requests?
Please check if you have JPGC# Throughput Shaping Timer plugin installed with the jmeter.
Please check the below image:-
If you didnt find it then it may be the cause. Then, you can install it by any of the two methods:-
1- Use Jmeter plugin manager
2. Direct download the plugin
Prefer plugin manager as it will be helpful in future to install other plugins.
Hope it helps.

Resources