I need to perform load testing of java swing application. So there should be imitation of simultaneous actions on N instances of this application.
Is it possible to do it with jmeter?
I have doubts because of this statement in Jmeter introduction:
please note that JMeter is not a browser, it works at protocol level.
Does it works at protocol level
means that it will not work with swing app as a common functional testing tool e.g. UFT?
Or should load testing be like:
- Define requests that are sent from application to server (with e.g. JMeter Proxy Recorder, but application uses
t3
protocol of weblogic server so guess it is not applicable here) - Set up Jmeter to send this requests?
-
jmeter.512774.n5.nabble.com/…Yu Zhang– Yu Zhang2016年10月26日 19:09:45 +00:00Commented Oct 26, 2016 at 19:09
-
stackoverflow.com/questions/17802229/…Yu Zhang– Yu Zhang2016年10月26日 19:10:18 +00:00Commented Oct 26, 2016 at 19:10
-
stackoverflow.com/questions/20901988/…Yu Zhang– Yu Zhang2016年10月26日 19:10:41 +00:00Commented Oct 26, 2016 at 19:10
2 Answers 2
From Apache JMeter's website we get this,
Ability to load and performance test many different server/protocol types:
Web - HTTP, HTTPS SOAP / REST FTP Database via JDBC LDAP Message-oriented middleware (MOM) via JMS Mail - SMTP(S), POP3(S) and IMAP(S) Native commands or shell scripts TCP
So I'm guessing you can't use it to load test Swing Application.
BUT
If your application makes HTTP(s) requests to a remote server, you can get help from your development team to collect all such requests and then use JMeter to generate load for those requests!
JMeter doesn't mimic any UI actions so you won't be able to interact with Swing UI (at least not more than in 1 thread) so in fact you have 2 options:
T3 protocol is just a subset of Java RMI protocol which in its turn using TCP transport.So if you need to "record and replay" the T3 network activity you could use a sniffer tool like Wireshark and JMeter's TCP Sampler. Also as far as I recall Grinder tool comes with TCP proxy so you can consider changing the load testing tool if you decide to go the "record-and-replay" way.
A "smarter" approach would be replicating your desktop application functionality using JSR223 Sampler and either:
- your application librarie(s) (if you drop it (them) to JMeter Classpath you will be able to access your application API from JSR223 Test Elements
- WebLogic T3 standalong client library, see Developing a WebLogic Thin T3 Client for more details.