Service Virtualization with JMeter - jmeter

I am using JMeter for API Testing. Using HTTP Request and Beanshell I am able to achieve this.
There are times where the Services are down for a weeks time.
Since I the have the Request and Response with me, I would like to implement Service Virtualization using JMeter.
Even when the Services are down, I should be able to continue my testing.
Can I achieve Service Virtualization in JMeter? If yes, can I request you to let me know the steps please.

No you can't.
I suggest you check out API simulation tools which will allow you to do service virtualization. You can then use JMeter to run your tests and an API simulation tool to mock the dependencies.

JMeter doesn't do Service Virtualization, but you can use JMeter in recording, see article:
You can import the incoming traffic to JMeter using tcpreplay and
JMeter Proxy. Run a test suite in your performance environment using
JMeter and use the virtual services to decouple yourself from other
dependencies. Just to be safe, repeat the recording process every
week. This could prove to be very easy or very difficult to implement
depending on the specifics of the system you are working with.

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.

I am not able to record the webrtc protocol using jmeter

I have an android app in which we can do video call peers to peers using webrtc protocol. I want to perform performance testing of this app using jmeter but I am not able to record this. So guyz Please help me if anyone knows.
Thanks in advance
As it's evidenced by its name, JMeter's HTTP(S) Test Script Recorder can record only HTTP and HTTPS traffic, moreover I don't think you will be able to record and successfully replay WebRTC calls as they will differ from one virtual user to another.
If you have to load test your service using JMeter I would rather come up with developing a plugin or using JSR223 Test Elements and Groovy language, the WebRTC client/peer libraries you can use are:
webrtc-java
gstreamer-java

how to open a webpage using Jmeter

How to resolve the below error in jmeter
1.) Request to open Google.com
2.)
P.S: I have just started learning jmeter.
Which is the best way to learn it, please advice.
The easiest way of creating a JMeter test is just recording it. JMeter comes with HTTP(S) Test Script Recorder which can be used for building a test plan skeleton via capturing browser requests, check out Apache JMeter proxy Step-by-step for more information.
I would recommend attending JMeter Academy, this way you will be able to quickly ramp-up in JMeter in particular and performance testing in general. Performance Testing Guidance for Web Applications book is also very useful
for performance testing greenhorns.
In regards to the possible error, I cannot see the details, just a blind shot: are you behind a corporate proxy/firewall? If yes, you will need to "tell" JMeter the details of this proxy so it could access the Internet (same applies to "recording" approach of tests creation), see Using JMeter behind a proxy chapter for the relevant JMeter configuration.
JMeter is not a browser
See first page of Jmeter
JMeter does not execute the Javascript found in HTML pages. Nor does
it render the HTML pages as a browser does

Jmeter script for Infinispan distributed mode using hot rod

I am new to Jmeter. I have requirement for run load test for Infinispan distributed mode using hot rod client server on Jmeter.I have Infinispan clusted server available and running using some application. Please someone guide me to write Jmeter script for this.
Thanks in advance.
Regards,
Mahesh Bubanale
As far as I understand you shouldn't be testing Infinispan itself, I believe that it's tested by other people and considered reliable. My expectation is that you need to test an application, which is using Infinispan to implement some clustering functionality. If so and your application is web-based you can use JMeter to produce load and insert some assertions into your code to check that your test data is being correctly replicated. The best way to start with web application testing is recording your test script via JMeter HTTP Proxy server.
If I'm getting you wrong and you need to explicitly test Infinispan HotRod endpoint, JMeter doesn't support HotRod protocol out of box. You'll need to get relevant libraries (.jar files) which implement org.infinispan.client.hotrod.impl.protocol with dependencies, drop them to /lib/ext folder of your JMeter installation and after that do one of following:
Develop a custom JMeter Sampler containing protocol implementation details, arguments, entrance and exit criteria, etc.
Create a Java Request similar to option 1
Use BeanShell samplers to represent your test cases.
Hope this helps
If you want to load test Infinispan Hot Rod server, you can use some Grinder scripts I created a while back. We've got some instructions here but they're a bit outdated. Maybe you can help us update them and convert them to talking to Infinispan Server distribution and update to version 6.0? :)
Otherwise, if you want to test Infinispan embedded/library mode, we've RadarGun which is a benchmarking framework for data grids.

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