How to integrate Jenkins with Jmeter - jmeter

I have requirement for jmeter integrate with jenkins.
could you please some one help me on this.
I'm working on integrating performance tests with Jmeter.
My performance testing tool is JMeter and appserver is Jenkins

JMeter is normal Java application which can be kicked off as a Jenkins build step via command-line using jmeter.bat or jmeter.sh scripts
With regards to deeper JMeter and Jenkins integration there is Jenkins Performance Plugin which can be either used for triggering a JMeter test
or publishing a performance report if you run JMeter using command-line build step or JMeter Maven plugin or whatever
As the result you will see performance trend charts at your build dashboard:

Related

Configure Bamboo to call SonarQube to analyze Servlet Based Java Application

We have one old Servlet based application and we use bamboo for continuous integration and build. Is there any way to call sonarqube to analyze the code. There is one Sonar For Bamboo plug in but that's not for free.
You don't need it. The plugin just let you configure the Sonar steps in a more friendly way and put the configurations about the SonarQube server in the plugin configuration.
What you can do is to install in the Bamboo server (or where the agents are running) the SonarClient for the technology that you want to analyze. And you just need to configure in the properties of that client, the url and credentials of the SonarQube server.
Even you can do this last thing directly when you are running the analyze, using the client parameters.

Performance testing on jnlp application

We have a web application from where we launch a jnlp application. This jnlp application is developed in Java and is used for image viewing. This application interacts with server.
We need to do a performance testing of this application. I tried with JMeter, it records properly the actions of web application but unable to record anything for jnlp application.
Has someone done the performance testing of jnlp application using Jmeter ? If Jmeter does not support it, is there any other tool which I can use to do the performance testing on it.
Any help is appreciated.
Thanks.
See this answer on how to record with JMeter:
https://stackoverflow.com/a/49569079/460802
How to record a JNLP/ Java Web Start application with JMeter
Then you will need a plugin that transforms your Requests/Responses (binary) to a readable (XML) format so that you can variabilize, asserts ... ie , make the test realistic:
https://www.ubik-ingenierie.com/blog/load-testing-java-serialization-applications-with-jmeter/
You'll need this JMeter plugin:
JavaSerialization plugin for JMeter
Disclaimer:
We develop this commercial (not free) plugin.

how use tests written in Selenium and Cucumber-JVM with JMeter?

I have set of functional tests written in Selenium and Cucumber-JVM, I use maven to run them by Cucumber tags.
Now I need to use some of those tests with JMeter to check performance. How can I do it?
I believe that you can just
Compile your tests into .jar file(s)
Copy the .jar file(s) into JMeter classpath
tests files - under /lib/junit folder of your JMeter installation
dependency files - under /lib folder
Add JUnit Request Sampler and choose required test from "Classname" and "Test Method" dropdowns
Configure JMeter as per your load scenario and run the test
See How to Use JUnit With JMeter guide for details on working with JUnit tests from JMeter perspective.
You can use JMeter sampler called BSF Sampler. This one allows to execute java class from JMeter. Please choose beanshell in the scripting language field.

Parallel testing a Jenkins with specific tests from a maven project

I currently have a maven project with ~500 tests. These are webdriver test with the Thucydides framework. There are several types of tests such as swiping tests, article link tests, sharing tests, etc.
Details of the current setup:
* Selenium
* Thucydides
* Jenkins
I would like to run parallel tests in Jenkins but I want each jenkins job to only run a specific type of test. Is there anyway of using the "Goals and options" in the Build section in jenkins job configuration page to only run a specific type of test i.e. run only the swiping tests? or are there other options available?
Ideally I Would like to run separate jobs for each type of tests and run in parallel all those jobs together.
Not sure how to achieve it purely in Jenkins, but the first option coming to my mind is that you could create separate maven profiles for each test type and create one jenkins job per profile.
For more info on maven profiles, see official docs: http://maven.apache.org/guides/introduction/introduction-to-profiles.html

Why use SonarQube plugin for Jenkins rather than simply use maven goal sonar:sonar?

I want to launch SonarQube analysis with Jenkins for a Maven 2 project. I first used the goal sonar:sonar in the build configuration.
But I just found the SonarQube plugin for Jenkins. Why use it? Is it a better practice and why?
You can of course do a simple mvn sonar:sonar, this will work.
On the other side, there's the SonarQube plugin for Jenkins that will make the configuration easier. For instance you will be able to define information about your SonarQube server (URL, DB user and password) or your multiple SonarQube servers in a single place (the configuration section of Jenkins) so that you don't have to repeat it everywhere.
The plugin also offers the ability to run a SonarQube analysis on the fly (without Maven): you just have to provide some mandatory properties (like sonar.projectKey and sonar.projectVersion for instance) and the plugin will start the Java Standalone Runner transparently for you (this is helpful mostly for other languages than Java which don't rely on Maven for their build).
So if you're just making some tests, you don't really need this plugin. But if you're setting up a production instance of Jenkins, then it's best to use the SonarQube plugin.

Resources