WinInet Implementation in JMeter - jmeter

I am looking for a small help regarding JMeter. I have one application that is recorded in LoadRunner using WinInet setting (Port Mapping => Capture Level as WinInet).
Is there a way in Jmeter where we can have WinInet setting?

Out of the box it is not possible, JMeter uses either Java sockets or Apache HttpComponents in order to execute HTTP Requests with its HTTP Request sampler. No OS-specific code is included into JMeter so it can be run on all platforms
If your test relies on some very specific features of Windows Internet, be aware that there is no easy way of adding this functionality to JMeter
Developer audience
WinINet is designed for use by C/C++ programmers. It requires a basic understanding of the FTP and HTTP protocols.
So theoretically you can load the .dll(s) implementing WinInet protocol using JNI from JSR223 Test Elements using Groovy language and call the function(s) you need.
However my expectation is that you don't need this and you can just simply convert your LoadRunner script to JMeter using HTTP(S) Test Script Recorder or online LoadRunner/SoapUI to JMeter script converter
Check out How to Convert LoadRunner Tests to JMeter article for more details.

Related

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

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

Can we do Load testing for Video or Audio call in jmeter

Is there any way we can do performance testing for voice or video call ? Jmeter or any other open source tools provide anything ? Please reommend any tool if we can achieve this.
It depends on a network protocol which is being used under the hood of the video and/or audio call.
First of all you need to determine which protocol(s) is (are) used by your application. It can be done using a sniffer tool like Wireshark. Once you know the protocol(s) you should be able to check whether JMeter (or other open source tool) supports this protocol or not.
The options could be in:
JMeter supports the protocol out of the box via one of its Samplers. For example if the protocol is simple enough and can be recorded and replayed you can capture the requests using the aforementioned Wireshark and simulate them with the TCP Sampler, however the chance it will work is minimal
JMeter supports the protocol via one of its Plugins
There is a Java (or other language) client library implementing the protocol, in this case you will be able to use JSR223 Sampler and implement the use cases in Groovy (or other language, but it has to be JVM/JSR223 compabitle) or JUnit Request sampler and implement the use cases in Java
The protocol is proprietary and there are no client libraries for it. In this case you won't be able to conduct the load test without reaching out to the call system vendor and asking them for the implementation details and instructions on how it can be tested.
You can use UBIK Load Pack which is a paid version for load test videos using JMeter with free trail
Realistic and Scalable Load Testing for MPEG Dash, Apple's HTTP Live, Microsoft Smooth and Adobe HDS Streaming formats

JMeter vs Gatling protocol flexibility

I read JMeter vs Gatling article and confused over section 9 Flexibility about JMeter:
Flexibility It supports only the HTTP protocol.
And Gatling
It supports HTTP protocol and also a few other protocols as well.
while in introduction it states other protocols for JMeter:
The different types of services can be tested by using the Apache JMeter tool such as Web Services, HTTP, FTP, JMS, LDAP, generic processes or different TCP connections etc.
What is the HTTP protocol restriction the article is referring to? what are Gatling other protocols that defer it from JMeter?
EDIT
Found another discrepancy in section 8 Ease of use, while JMeter describe as
It is a bit difficult to use.
And Gatling:
It is easier to use
It states the opposite in conclusion:
Finally, to conclude JMeter has more number of features and easier to use compared to Gatling.
JMeter supports multiple protocols:
HTTP 1.0
HTTP 1.1
HTTP 2 with 3rd party plugin
JMS
JDBC
LDAP
FTP
SOAP
UDP with 3rd party plugin
MQTT with 3rd party plugin
XMPP with 3rd party plugin
RTE with 3rd party plugin
SSH with 3rd party plugin
And it's highly extensible since its architecture is built with plugins in mind, as of now there are at least 73 OSS plugins and more than 10 commercial plugins.
There is no particular HTTP protocol restriction.
I think the blog is just wrong in formulation and considering all the other errors in it, I am not sure it is worth reading or trusting what is written.
As examples of errors or false statements:
it says JMeter has no dashboard which is wrong since it has the HTML report which contains 17 graphs and 4 tables since version 3.0
difficulty is relative and really depends on type of test being built. Is customization through scala in Gatling simple ?
do you understand this, I don't :
Apache JMeter supports recording the users’ clicks or actions while testing the web applications where as Gatling also supports the user actions and also any other simulated scenarios.
What about those statements :
Apache JMeter is less efficient and effective to be used with odd GUI features that are difficult to use where as Gatling has GUI as well as command line features that provide efficient and effective outputs.
=> What are odd GUI features ?
=> JMeter is an IDE for test building, Gatling uses the test as code approach
Apache JMeter does not have code scripting facility whereas Gatling has the code scripting facility. => Does the author know about JSR223 Test Elements ? functions ?
Apache JMeter has more number of lines of code to configure and setup the testing where as Gatling has less number of lines of code to be used in its’ configuration to run the load tests. => Really ? what are those ?
...

Jmeter wamp-protocol integration

Here is the story:
we have several servers connected to wamp (crossbar.io)
I am creating load tests for part of this system and need a way to get info from wamp server to Jmeter.
So far I found only WS plugin for Jmeter, but it wont work with wamp.
Any bright ideas?
Clearly wamp is a whole new protocol and JMeter doesn't support it out-of-the-box. Thankfully you can extend JMeter quite easily. If there are java or java family language bindings for your protocol system, you can use beanshell sampler (relatively less performant) or groovy through JSR223 sampler (better performance)
If you feel like it, you can always write up your own Wamp sampler as well.

Resources