Create output JTL or log files when running with runTestNonGui argument - jmeter

SmartMeter does not create output JTL or log files when running with runTestNonGui argument.
It creates output files just fine if I open GUI and run it from there.

You have to add the Listener / et#sm - Controller Summary Report to your test plan. It outputs to results/[TIMESTAMP]-report.jtl.
The reason it works in GUI mode is that this component is added automatically (if missing). Unfortunately, it is not added automatically in NO GUI mode.

Related

When i run the Sonar-Scanner got Execution Failure in terminal or commandline

I want to generate reports through command line or from terminal NOT FROM BROWSER
NOTE:- I want to verify through typescript the code sonar-scanner
I have install sonarqube-8.5.1.38104 and sonar-scanner-4.5.0.2216-linux and react-app-sonarqube.
In react-app-sonarqube i have all files are there screenshot is
And here is my below screenshot which i have run from terminal
and
I’m new to sonar and i dont know to generate reports through terminal or command line
Please help me how can i solve and any link or commands
The failure is caused by problem with parsing the test-report.xml file. As you wrote in the comment this file is empty. Empty file is not a valid XML file.
If this file is:
generated by a tool - you have to check this tool configuration (it is broken)
added manually by you - you have to delete it

java.Nullpointer when read csv file performance test jmeter

I have issue, which is relate to read csv file. When i run jmx file with gui, everything is ok, but when run with non-gui always show error java.lang.Nullpointer exception.
Does anyone know how to fix it?
Have you tried to "See the log file for details"? The file is called jmeter.log and it's being generated in "bin" folder of your JMeter installation or in the folder where you launch JMeter from (if it differs from the above)
You can try troubleshooting the issue yourself by comparing JMeter log files from GUI and from non-GUI execution. Another suggestion is using full path to the CSV file instead of the relative one.
References:
JMeter Hints and Tips: Enabling debug logging
How to Configure JMeter Logging

Automatically running the same test plan multiple times with different variables

I've created a test plan to do some load testing against HTTP endpoints. I want to run the same test plan against multiple endpoints, and find myself having to do the following each time:
Change variable that determines which endpoint I'm hitting.
Run the test.
When complete, record results.
Clear all results.
Back to step 1.
I want to automate this. Is the following possible?
Define a list of endpoints as a variable.
For each endpoint in endpoints
Run test against endpoint
When complete, save results
Clear all results.
The things in particular that I don't know how to automate are:
Starting a test
Defining an list-style variable
Clearing all results
Any help would be greatly appreciated!
Please see answers below:
Starting a test
Apart from running JMeter from GUI there are several execution options such as:
Command line non-GUI mode - you can wrap JMeter execution line in operating system batch file
JMeter Ant Task - integration with Apache Ant build system, more powerful if you're comfortable with it
JMeter Maven Plugin - the same as Ant but for Apache Maven
Option to run JMeter with CI systems like Jenkins
Defining an list-style variable
JMeter offers "properties" which can be set via .properties files (see user.properties in /bin folder of your JMeter installation for example) or passed as name/value pairs to JMeter startup script. For instance instead of hard-coding your host in .jmx file you can use read a property function.
Set "Server Name or IP" field value to ${__P(myhost,)}
Add myhost=example.com line to user.properties file in /bin folder of your JMeter installation, restart JMeter and run the test. Request will go to example.com.
Alternatively you can pass myhost property to JMeter in command-line mode as follows
jmeter -Jmyhost=example.com
Multiple properties can be passed this way:
jmeter -Jproperty1=value1 -Jproperty2=value2 ....
And even files via -p or --propfile JMeter command line argument
See Apache JMeter Properties Customization Guide for more options and information.
Clearing all results
It depends on unattended execution option you'll choose, all of them provide at least one way to delete file and/or folder. Personally I wouldn't delete any results and would rather keep them for future reference. To distinguish different endpoints test runs and to avoid overwriting I would use timestamps like:
jmeter -Jhttp.endpoint=my.test.host -n -t your-script.jmx -l my-test-host-results-${date}.jtl
where
-J - sets endpoint to my.test.host
-n - tells JMeter to run in non-GUI mode
-t - specifies .jmx file to use
-l - specifies name and location of results file

Doxygen not running when started with the Windows task scheduler

I've started using Doxygen to document my team's project source code (we have C#, Objective-C, and Android/Java projects). I wrote up a Windows batch script which checks out the latest trunk versions of each project and uses the command-line Doxygen to generate HTML documentation sites and publish to a directory on the local file system which IIS 7 already hosts. This batch script works perfectly and does everything it needs to, though it takes 10 - 20 minutes to run completely.
Now I'm trying to automate the process so that it will run at the end of every day. I added a scheduled task which simply runs the batch script. Every part of the script seems to work except for the Doxygen part. I can log into the machine and watch the file system and see that working copies are being checked out with no problem and the cleanup stuff works. However it never generates the Doxygen HTML output. The output/target directories Doxygen is configured to use will stay empty every time. I'm finding no error messages of any kind (in Scheduled Tasks and eventvwr). It doesn't work whether I let the task scheduler start it on its own or I tell it to run the task now. As said earlier, I can double-click the batch file and run it normally and everything works fine that way.
The process is done on our development server, it's an older Dell workstation running Windows Vista Business 32-bit. I have the scheduled task running on the "System" account though I have also tried "Local Service" and my own Active Directory domain account (which is an administrator on this server) and it still doesn't work.
Has anyone else successfully used the task scheduler to automate Doxygen? I have no idea what I'm doing wrong. What should I look for next?
I can post slightly anonymized versions of my batch file and Doxygen config files if necessary.
In your batch file, try adding redirection of the doxygen output to a log file. Then run it through the scheduler and see what output was generated. If doxygen encounters an error when run that way you should see it in the log file.
doxygen doxyfile > doxygen.log 2>&1
Also make sure that your bat file runs correctly, even if invoked from another directory than the one where the doxygen stuff resides. When run through the task scheduler, I think that the current directory will be c:\windows\system32, so try this:
c:\windows\system32>c:\path\to\batchfile\mybatch.bat
If that gives path errors you have to fix them.

How do I troubleshoot when VSDBCMD does not deploy, but shows no errors?

I am trying to use VSDBCMD.exe (Visual Studio 2010 version) to deploy the output of a database project. I am including the /dd:+ switch in my command line. Every time I run the command, I get one message:
TSD00566 Deployment script generated to:
C:\Deploy\SqlServerDB.txt
There are no errors, but the deployment script is not executed and no deployment happens. I do not have the /Quiet switch turned on.
I have tried both specifying all parameters on the command line and using the .deploymentmanifest file. I get the same results either way: a script file is generated, but not executed. No schema changes are deployed.
I do know that my connection string is correct, because the deployment script that is generated is valid (and even references file paths that only exist on the target SQL server).
My current command line (as in, most recent attempt) is
vsdbcmd.exe
/a:Deploy
/cs:"Data Source=[the correct server];Integrated Security=True;Pooling=False;Initial Catalog=[the correct database]"
/Quiet-
/dd:+
/p:TargetDatabase="[the correct database]"
/dsp:Sql
/Model:"C:\[output path]\SqlServerDB.dbschema"
Can you please help me figure out how to troubleshoot this command, since I am not getting any error messages or useful output?
When VSDBCMD generates a delta script and detects that there are no changes between the database project and the target database, it does not execute the deployment step.
However, it also does not display any message indicating why it id not deploy. So, there were no errors (ergo no error messages) but it did not deploy because the source scripts were identical to the destination database after the first time we ran the command.
It would be nice to have some kind of message indicating "no changes to deploy," but at least I know now that it is working as designed, and that there was no deployment necessary.

Resources