Automating Correlation in JMeter - jmeter

My scripts have lot of dynamically changing variables for which I need to use correlation (regular expression / xpath extractor) Is there any way with which we can automate or minimize this and with which JMeter can identify the variables and auto find and replace it.
Your suggestion would be very helpful.
Thanks in advance

Have you considered the test development shell of OctoPerf? At least for me it takes an enormous amount of pain out of Jmeter test code development.
And no, I don't work for them....

It is possible using 3rd party recording service in SmartJMX mode which performs automatic correlation of any dynamic parameters including timestamps, usernames, etc.
See How to Cut Your JMeter Scripting Time by 80% guide for more details.

Related

Trying to Performance test an application developed in OJET technology. Which tool/protocol should I use for scripting?

Trying to Performance test an application developed in OJET technology. Which tool/protocol should I use for scripting? I tried HTTP/Web protocol with Jmeter and Load Runner. But that doesn't capture all the requests and responses at the javascript/browser level. Hence I am facing issues in correlating the dynamic values during test design. Hence, scripts fail during the replay. Currently trying to do it with Truclient Web protocol as an alternative. But I need to know which tool/protocol should I use for scripting?
According to OJET looks like this is a web app generator.
If you choose to start with JMeter use post-processor such as regex to catch and save every value that is needed for as arg in the next request.
Don't be afraid of these dynamic values. Try to follow next articles to get the idea.
None of tools will provide you automatic correlation without issue. Nor LoadRunner, nor Jmeter. It is always tricky.
Ask more specific questions when you start facing issue.
Jmeter catch correlations
You need to implement real user using your application with 100% accuracy in terms of network footprint
Both JMeter and/or LoadRunner are not capable of executing client-side JavaScript, the options are in:
Implement these JavaScript-driven network calls using scripting (in JMeter it will be JSR223 Test Elements)
Use a real browser, LoadRunner's Truclient protocol is basically a headless web browser, in JMeter can be integrated with Selenium browser automation framework via WebDriver Sampler
With regards to "which protocol/tool" to use:
Implementing JavaScript calls manually will take extra effort, however your test will consume less resources (CPU, RAM, etc.)
Using real browsers will take less efforts, but the test will consume much more resources (something like 1 CPU core and 2 GB of RAM per user/ browser instance) and you won't have metrics like Connect Time, Latency, etc.
LoadRunner TruClient. This will handle all of the Javascript executions and dynamic elements related to session, state, date/time, object identifiers, ... You will still need to appropriately handle user input items.

Is there any way to generate JMeter script on the fly for the existing Test automation script

I am just wondering is there any way or possible to generate JMeter script on the fly for the existing test automation script.
Basically the idea is to use the same Test automation script let's say Test automation script was created using selenium for the performance testing too using JMeter.
Any ideas or thoughts?
-Raj
Thanks,
Rajani
The solution is to record your Selenium test.
Start JMeter's HTTP(S) Test Script Recorder
Configure your Selenium scripts to use JMeter as a proxy
Start the test - JMeter will be recording.
This way you will get test "skeleton" however you will still need to handle dynamic parameters. To avoid this step you can try out an alternative recording solution, it is capable of exporting JMeter tests in "SmartJMX" mode with automated correlation applied. See How to Convert Selenium Scripts into the JMX article for more details.
The only way I am aware to achieve this is to record the selenium run and then save the jmeter script.
https://guide.blazemeter.com/hc/en-us/articles/206733979-Recording-a-user-session-with-the-proxy
Yes, it is.
You can run the JMeter stuff programmatically using JMeter API.
Using it, you can write your own test harness that creates the test items on the fly, then build the test plan out of them, and run it.
Or loads existing plan "template", access & alter the test elements in it, then, again run it.
Though that is kinda tricky part, so first ask yourself (then share with us here) what exactly do you need it for, and then try to consider the possibility to implement that using JMeter scripting components.
Basically, in your case, you can call the Selenium stuff in the JSR223/Beanshell components through Selenium API.
And moreover, there exist a plugin to do the things with Selenium stuff.
PS Although the very idea of using something all-purpose "to rule 'em all" usually doesn't pay off, 'cause the effort needed to maintain that "universality" often overcome the one smartly made for separate functional/load suites.

JAVA API performance testing using GRINDER

i'm not sure if GRINDER is still best tool so far JAVA API performance testing tool. If anyone is using it, could you share your feedback? tx
I have used JMeter and Grinder and can tell you that grinder is awesome . JMeter is also great . Not sure why you will be testing a JAVA API.
Grinder is more like a programmers performance tester tool. Once you get a hang of it you will not lean away from it . The only complex part could be the recorded scripts that grinder generates .The initial recorded script can get you overwhelmed and you might think what have i picked up .
But actually it just a step by step script and easy to modify as per your needs.
Any performance testing will have only these steps .
Record - Generates the Initial Script of what you want to test.
Modify - Modify it as per you needs.For grinder you may require a basic knowledge of some scripting language. Many times this may not be required.
Test - Put the load you want to .Here you need to decide the number of threads plus agents .
My vote is for grinder specially for complicated scenarios.

Can you performance test Siebel applications using JMeter?

Is it possible to record JMeter scripts for performance testing Siebel?
Siebel uses a custom format for ENCODING its requests plus some necessary technical parameters.
So it's possible provided it's the http module but rather hard job as there are a lot of correlations to do on technical IDs.
For recording, see this:
JMeter record Siebel CRM System
You can use this commercial plugin that will do auto-correlation for you:
https://ubikloadpack.com/
Yes, it is possible to test Siebel with JMeter. I have done so for one of my projects with my client TataSky where I have used JMeters distributed testing approach for generating upto 2000 users with 4 - 5 normal desktops. Siebel uses http protocol so it is finally about understanding the requests sent by browser and responses by the web-server and correlating between them. It gets really messy though, so my suggestion is correlate parameters which are mandatory.
You can use JMeter-Siebel-plugin which provides Siebel HTTP(S) Test Script Recorder test element handy for capturing and correlating Siebel traffic.
The plugin can be installed using JMeter Plugins Manager
Check out Introducing the Siebel CRM Correlation Plugin in JMeter article for comprehensive instructions.

performance testing tool with record &use function

I am looking for performance tool which should have record and use function, I looked into jmeter though. Is there any other tool? which has record option too
I understand manual editing will be there even we record and playback,but at least I don't need to give URL manually. I have used jmeter, manage engine Qengine too.
I also tried to convert my selenium scripts to jmeter performance testing ,but I am not able to get every URL's request /response.
requirements :
http/https
record and playback - I can write scripts
option to substitute parameter from response etc. (which is dynamic)
You may try Silk performer or HP Load Runner. But both the tools are expensive to buy. Other opensource tools include Grinder

Resources