Stepping Thread Group throws error - jmeter

The Test looks like this:
"MAIN SCRIPT " -Test Plan
Stepping Thread Group
Test Fragment
Include Controller - TT3.jmx
Include Controller - TT6.jmx
"TT3" Thread Group
Does some actions like Login,Select Projoect,Logout
No.Of Users : 7
CSV Dats Config file : For UserName & Password(TT3.csv)
"TT6 End" Thread Group
Does some actions like Login,Select Projoect,Logout
No.Of Users : 2
CSV Dats Config file : For UserName & Password(TT6.csv)
When I exectued the test Throws below error:
2015/04/03 12:40:11 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT3_UsingPort8080.jmx
2015/04/03 12:40:11 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
2015/04/03 12:40:11 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT6_UsingPort8080.jmx
2015/04/03 12:40:11 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
2015/04/03 12:40:12 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT3_UsingPort8080.jmx
2015/04/03 12:40:12 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
2015/04/03 12:40:12 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT6_UsingPort8080.jmx
2015/04/03 12:40:12 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
2015/04/03 12:41:33 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT3_UsingPort8080.jmx
2015/04/03 12:41:33 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
2015/04/03 12:41:33 INFO - jmeter.control.IncludeController: loadIncludedElements -- try to load included module: E:\JMETER\J_Scripts\TT6_UsingPort8080.jmx
2015/04/03 12:41:33 WARN - jmeter.control.IncludeController: No Test Fragment was found in included Test Plan, returning empty HashTree
Could some one please advise me wher am I missing?
Thanks,
Raj

The correct way of including external JMX files is via Test Fragments
As per Include Controller documentation:
The include controller is designed to use an external jmx file. To use it, create a Test Fragment underneath the Test Plan and add any desired samplers, controllers etc. below it.
Looking into your log file TT.jmx scripts don't seem to have Test Fragments
References:
JMeter bug 55464
How to Manage Large JMeter Scripts With JMeter Test Fragments

Related

Taurus YAML Runtime Property Change for JMeter

I am trying to invoke Jmeter script with user defined properties with YAML which I am able to change and execute with below configuration.
However if the test started and I need to increase the user on any thread - without stopping the test, how can I achieve that? Let's say the test was started with Thread1 value as 30 and now if I need to change it to 50 dynamically on runtime. I did not find a way myself. Please advise.
execution:
- #concurrency: ${__P(my_conc,3)} # use `my_conc` prop or default=3 if property isn't found
ramp-up: 1
hold-for: ${__P(my_hold,1)}
scenario: simple
modules:
jmeter:
properties:
my_hold: 60
scenarios:
simple:
variables:
#User DEFINED variable
Sampler1 : TestSampler1
Sampler2 : TestSampler2
script: SampleYAMLJMeter.jmx
properties:
#Thread Level variable
thread1 : 30
thread2 : 45
Add the following global JMeter properties:
modules:
jmeter:
properties:
beanshell.server.port: 9000
beanshell.server.file: ../extras/startup.bsh
Create the setconc.bsh file under .bzt/jmeter-taurus/x.x.x/lib folder and put the following code into it:
org.apache.jmeter.util.JMeterUtils.setProperty("my_conc", args[0]);
That's it, whenever you need to change the concurrency of your tests just execute the following command from the .bzt/jmeter-taurus/x.x.x/lib folder:
java -jar bshclient.jar localhost 9000 setconc.bsh 1234
replace 1234 with the actual concurrency you want to achieve
More information:
Beanshell server
How to Change JMeter´s Load During Runtime

am trying a Spring boot example but it is showing following error.. what should i do?

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2020-03-26 11:37:05.248 ERROR 9332 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
APPLICATION FAILED TO START
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:175)
The following method did not exist:
org.apache.tomcat.util.modeler.Registry.disableRegistry()V
The method's class, org.apache.tomcat.util.modeler.Registry, is available from the following locations:
jar:file:/C:/Program%20Files/Java/jre1.8.0_77/lib/ext/tomcat-coyote.jar!/org/apache/tomcat/util/modeler/Registry.class
jar:file:/C:/Users/hp/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.31/tomcat-embed-core-9.0.31.jar!/org/apache/tomcat/util/modeler/Registry.class
It was loaded from the following location:
file:/C:/Program%20Files/Java/jre1.8.0_77/lib/ext/tomcat-coyote.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.apache.tomcat.util.modeler.Registry
please put some of your code snippet here, such as application.properties file, main and ... . or you can push your application to github and put your repository address here then i'll check it.

Spring boot logging file name

🐞 Bug report ??
image
logging:
level:
com.zaxxer.hikari: DEBUG
org.springframework: INFO
org.kafka.test: TRACE
file: "logs/%d{yyyy-MM-dd HH_mm_ss} pid-${PID}.log"
pattern.console: "%d{HH:mm:ss} - %msg%n"
Hello.
please help with the file name.
The time format does not work well.
I expected to see 1 file named "2020-02-07 10_38_40 pid-17996.log"
I got 2 files and the file names are bad.
Please do not advise using logback-spring.xml
I configure logs through .yml

MergeResults plugin throws Error parsing field 'timeStamp' at line 1. java.text.ParseException: Unparseable date:

When I tried to do merge using MergeResults plugin it throws error:
Error parsing field 'timeStamp' at line 1. java.text.ParseException: Unparseable date:"
TWO AggregateReport JTL files successfully converted into csv using the below CMD runner command
JMeterPluginsCMD.bat --generate-csv E:\JMETER\PROJECT_NGP\Results\SL_Rel\Build_165-20749\Reports_09-05-2017-17-07-07\NGP_LoadTest_Results_AgReport.csv --input-jtl E:\JMETER\PROJECT_NGP\Results\SL_Rel\Build_165-20749\Reports_09-05-2017-17-07-07\NGP_LoadTest_Results_AgReport.jtl --plugin-type AggregateReport
Below is the error log details from jmeter.log file
2017-09-06 12:35:40,963 INFO o.a.j.s.CSVSaveService: E:\JMETER\PROJECT_NGP\Results\SL_Rel\Build_165-20749\Reports_09-05-2017-17-07-07\NGP_LoadTest_Results_AgReport.csv does not appear to have a valid header. Using default configuration.
2017-09-06 12:35:40,963 WARN o.a.j.s.CSVSaveService: Error parsing field 'timeStamp' at line 1. java.text.ParseException: Unparseable date: "sampler_label,aggregate_report_count,average,aggregate_report_median,aggregate_report_90%_line,aggregate_report_95%_line,aggregate_report_99%_line,aggregate_report_min,aggregate_report_max,aggregate_report_error%,aggregate_report_rate,aggregate_report_bandwidth,aggregate_report_stddev"
2017-09-06 12:35:40,963 WARN o.a.j.r.ResultCollector: Problem reading JTL file: E:\JMETER\PROJECT_NGP\Results\SL_Rel\Build_165-20749\Reports_09-05-2017-17-07-07\NGP_LoadTest_Results_AgReport.csv
2017-09-06 12:35:40,963 WARN o.a.j.s.CSVSaveService: Unknown column name sampler_label,aggregate_report_count,average,aggregate_report_median,aggregate_report_90%_line,aggregate_report_95%_line,aggregate_report_99%_line,aggregate_report_min,aggregate_report_max,aggregate_report_error%,aggregate_report_rate,aggregate_report_bandwidth,aggregate_report_stddev
In user.properties file and properties file timestamp settings are same(see the below screenshots).
Not able to figured it out what was wrong, Please advise.
JMeter configuration on the machine where you are doing results merge must match configuration of the machine where tests were executed. If there are inconsistencies the majority of JMeter Listeners will fail, neither you will be able to generate HTML Reporting Dashboard
For example I see in your user.properties file the following issues:
You have duplicate jmeter.save.saveservice.timestamp_format property settings defining different timestamp formats
You have jmeter.save.saveservice.default_delimiter property set to \t while your results file is comma-separated
So you need to inspect JMeter's configuration of the machine where you are trying to merge results and make it inline with the machine where you ran the test.
References:
Configuring JMeter
Apache JMeter Properties Customization Guide
With the raw jtl files it's working as expected.

Spring Boot: Log to multiple files. All DEBUGs to debug.log, all INFOs to info.log

I'm using logging provided by Spring Boot in an application.yml like this:
logging:
file: log/info.log
level.com.mycompany.app: INFO
What I actually want is:
1) Log every DEBUG message from our application (com.mycompany.app) to debug.log,
(optional: every INFO message from the whole app / ROOT to debug.log, too)
2) log every INFO message from the whole app / ROOT to info.log
So in pseudo code, it should look like this:
logging:
level: DEBUG
file: debug.log
com.mycompany.app: DEBUG
level:
ROOT: INFO
file: debug.log
level:
ROOT: INFO
file: info.log
How can I achieve this? Please note, we're using SLF4j, not logback (I've read in other threads about logback for writing to multiple files).
Regards,
Bernhard

Resources