Creating JMeter scripts for ServiceNow applications - jmeter

I am wondering if anyone was able to successfully create JMeter scripts for ServiceNow applications?
My challenge is that there are way too many recorded HTTP requests and JSONs in POST requests & response are huge and extremely hard to correlate dynamic values.

Welcome to Web 2.0
I'm afraid you will have to perform the correlation as the times where you could just replay the recorded test has gone.
If you're looking for a way of reducing effort required for the correlation implementation you can consider trying out an automated correlation solution like:
JMX Enhancer
BlazeMeter Proxy Recorder with SmartJMX export option
Otherwise you will have to wait until it's implemented in JMeter

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.

Handle correlations in Load runner and use them in JMeter

I am trying to record SAP scripts in Load Runner and correlate the business flows. I want to convert the script to JMX to be used in JMeter.
My query is will this be a good option to go forward with running SAP business flow testing using JMeter? As the company won't spend money on Load runner enterprise version.
Secondly, if I convert the already correlated script in Load runner to JMeter will the script be auto correlated ? Or do I have to do the correlation back again?
Note: For the above point I have gone through one of the posts in Stack Overflow where they have mentioned how to convert the script from Load runner to JMeter.
First of all, SAP is a company which produces a lot of applications and these applications rely on different network protocols so you need to ensure that the protocol(s) in scope is (are) supported by JMeter which might not be the case especially when it comes to SAP GUI
For "normal" HTTP protocol it's not a problem to convert LoadRunner scripts into JMeter using HTTP(S) Test Script Recorder but you will have to perform correlation yourself. Alternative options are:
Use JMeter Correlation Recorder Plugin where you can define correlation rules and they will be applied to downstream HTTP Request samplers
Use external recording solution like BlazeMeter Proxy Recorder which is capable of exporting recorded scripts in "SmartJMX" mode with automated detection and correlation of the dynamic parameters

Is it possible can we performed performance testing of IVR application Using Jmeter?

I have IVR application Can anyone tell me how to performed Performance Testing using jmeter or suggest any other tool that supports.
JMeter can help you only in the situation when there is a backend which does the voice recognition and the voice in some form is being sent to this backend for parsing and converting into text.
If this is the case you can capture the requests using JMeter's built in HTTP(S) Test Script Recorder or alternative solutions like Badboy or BlazeMeter Proxy Recorder and replay them with increased number of users to get the associated metrics and determine the maximum throughput of the backend.

Describe the best practices to make data correlation simple in jmeter

What's the best strategy when doing data correlation with jmeter? I have some ideas/questions, that go along these lines: usage of automatic correlation solutions (http://jmeter.512774.n5.nabble.com/automatic-correlation-for-jmeter-td5531399.html), usage of post processing extractors that best suite the need, for example regexp for http headers, xpath exp for HTML, if using xpath, get assistance by using Firebug or similar plugins, usage of xpath vs css&jquery, don't correlate data that isn't checked on the server, for example, if http referer is not controlled, it would be a waiste of time to correlate it, ... and such, but I would like to hear from more experienced people.
JMeter doesn't have autocorrelation. However you have tools like JCorrelate to accomplish the same. JMX Enhancers have some good tools that can help you cut your JMeter scripting time by 95%. Vist www.jmxenhancer.com for more details.
On the other hand, Blazemeter also have Smart JMX in their plugin which gives us autocorrelated scripts.
There is no auto-correlation for JMeter. HP Loadrunner has this functionality however it often fails.
XPath vs CSS/JQuery:
if your page has a very complex DOM and low number of styles - go for CSS
if DOM of your page is simple and styles number is high - go for XPath
If you simulating a real user using real browser - JMeter test should replicate it as close as possible, so make sure that you have:
HTTP Cookie Manager
HTTP Cache Manager
HTTP Header Manager
HTTP Request Defaults configured to:
Retrieve all embedded resources
Use concurrent pool of 2-5 threads for it
Filter out any external domains via "URLs must match" input

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.

Resources