Looking for tool to do performance testing for desktop application.
I was trying to use Jmeter for performance testing but since my application uses UDP protocol so i think i cannot use jmeter record and replay functionality.
How can i record and replay desktop application which uses UDP using JMeter?
You need to add UDP Request plugin
This plugin adds UDP protocol support to JMeter. With this plugin you can load test DNS, NTP, TFTP, Boot servers
JMeter can record and replay only HTTP and HTTPS traffic (both are using TCP protocol as underlying transport) with its HTTP(S) Test Script Recorder therefore you will not be able to record the traffic using JMeter.
So I would recommend capturing raw UDP datagrams using a sniffer tool like Wireshark and building the JMeter test plan by manually adding and populating appropriate UDP Sampler requests. Check out Load Testing UDP - The Ultimate Guide article for detailed information.
Related
I want to load test a web application server which communicates through gRPC (which uses HTTP/2 for transport) with the clients.
It seems that Apache JMeter extended by the plugin JMeter gRPC Plugin and JMeter gRPC Request sampler would be perfect for this.
Among other things JMeter provides a Test Script Recorder which helps quickly generate scenarios by acting as a HTTP proxy between the client and the server.
Question 1: Is it possible to use the JMeter Recorder for recording the communication through the gRPC protocol?
Question 2: Is it possible to use the JMeter Recorder for recording the communication through the underlying HTTP/2 protocol?
I have tried already the JMeter Recorder to record the gRPC communication without success :-( Maybe caused by wrong configuration of the recorder?
No, at least not with JMeter 5.5
No, as of JMeter 5.5 the HTTP(S) Test Script Recorder doesn't support HTTP/2. Neither it does support .proto files so even if you record the raw packets you won't be able to decode them into anything meaningful
So I would recommend using a sniffer tool like Wireshark for capturing the packets between client and the system under test and then replicating the same using JMeter's GRPC sampler.
I have application which has multiple protocols ex. HTTP, SMTP,FTP, When i am trying to Record this application for load testing using JMeter, JMeter captured HTTP requests only, not FTP, SMTP, JMeter does not record multiple protocols?
is there any workaround to add all protocols in load testing,
Thanks in Advance
As of now (JMeter 5.0) JMeter is capable of capturing only HTTP or HTTPS traffic via its HTTP(S) Test Script Recorder (and actually it's reflected in its name)
Given the nature of the FTP and SMTP protocols it's better to mimic the required load using FTP Request and SMTP Sampler correspondingly.
If you have to do the recording you can consider capturing the underlying TCP traffic using low-level sniffing tool like Wireshark and replay it with TCP Sampler or HTTP Raw Request sampler but it is even more complex than going for manual creation of the FTP and SMTP requests as you will have to deal with "raw" TCP traffic which is not that pretty and human-readable.
Alternatively you can consider LoadRunner which is theoretically capable of recording both FTP and SMTP protocols and free for up to 50 virtual users
We have a legacy application developed in .net windows forms and it uses .net remoting to get the data from database/server.So when I open the winform desktop application and try to record it using recording option in jmeter , then it does not identify it and fails to record any calls.Is is even possible to record such calls using jmeter or any other tool?
Looking into Microsoft .NET Remoting: A Technical Overview
HTTP Channel
The HTTP channel transports messages to and from remote objects using the SOAP protocol. All messages are passed through the SOAP formatter, where the message is changed into XML and serialized, and the required SOAP headers are added to the stream. It is also possible to configure the HTTP Channel to use the binary formatter. The resulting data stream is then transported to the target URI using the HTTP protocol.
TCP Channel
The TCP channel uses a binary formatter to serialize all messages to a binary stream and transport the stream to the target URI using the TCP protocol. It is also possible to configure the TCP channel to the SOAP formatter.
JMeter's HTTP(S) Test Script Recorder is capable of recording only HTTP or HTTPS traffic, if this is the case - you'll need to configure your application to use JMeter as a proxy. If your application doesn't have proxy settings - most probably it respects system-wide proxy settings. See How to Run Performance Tests of Desktop Applications Using JMeter guide for configuration and troubleshooting instructions.
If your application uses TCP Channel - you should be able to record it using a 3rd-party tool like Wireshark and replay with TCP Sampler. Alternatively you can consider Grinder tool which comes with TCPProxy which theoretically should be able to capture requests on lower level.
I have a desktop based(.exe) application used for trading of equities.
1.Developed in VB uses TCP/IP.
2.Uses a database server which is an another server which the exe sends requests on.
3.I want to get the entire response using jmeter for 50 users at a time.
I wanted to record the responses for the transactions.I have worked with web applications where we create Http proxy server and start it and the recording happenes from browser but in this case i cant use browser.
Please guide me how to record the responses in jmeter with .exe applications.
Thanks and Regards,
Kumar
JMeter HTTP(S) Test Script Recorder is capable of recording only HTTP or HTTPS traffic so if following conditions are met:
Your .exe application talks to server using HTTP
Your .exe application can be configured to use HTTP proxy or respects Windows global HTTP Proxy settings from registry (or configured in Internet Explorer)
the answer is "yes", you can use JMeter to record the traffic. See Load Testing Mobile Apps. But Made Easy. guide for details on how to do it.
If one of above conditions cannot be satisfied there are following options available:
If you still want to use JMeter there is a possibility to use a sniffer tool like Wireshark to capture requests and manually construct them using JMeter HTTP Request or TCP Sampler.
Consider switching to Grinder tool which offers TCP Proxy
Hope this helps.
we have an application (client/server) which uses a GUI to communicates to the Tuxedo server. it uses TCP, FTP protocols for communication. can we use JMeter or any other open source tool for that?
JMeter does support both FTP and TCP protocol via FTP Request and TCP Sampler elements provided, so the answer is "yes", you can use JMeter.
You can also find How to Send Control Characters Using the JMeter TCP Sampler guide useful as it's rather common problem and frequently asked question.
However I doubt that JMeter can record TCP-based traffic types. You can try pointing your client application to server via JMeter HTTP Proxy server to see what requests it'll catch.