Our application is a medical module & from the device we are getting continous ECG waveform & some vitals say Heart rate.
Application is using WebSocket protocol & the communication is happening via Signalr.
Using jmeter websocket plugin I am able to connect the device.
But unable to get the real time data as the ECG waveform is streaming continously.
For me its impossible to get the real time data via JMeter.
Is there any other way in Jmeter or except Jmeter, using which I can able to open multiple web browsers at a time & login with different user credentials & open live streaming page?
You can use "jp#gc - WebDriver Sampler" and "jp#gc - Chrome Driver Config" for chrome to run multiple browser. Config will have the path for chrome driver exe and sampler will have the code for user operation. Then, thread group can be used for multi-threading/multi browser.
Similarly you can use for IE and Firefox.
Documentation: https://jmeter-plugins.org/wiki/WebDriverSampler/
I have not used websocket but found below link.
https://www.blazemeter.com/blog/websocket-testing-apache-jmeter
Hope this helps.
Related
My scenario is given as below :
I login into application and upload a doc file then request send to server where thrid party tool (doc to pdf)is running and convert doc file to pdf and send file conversion status pass\fail on application. Can i Record scenarion in JMETER that access microsoft remote desktop protocol and check third party tool activity and come back to application?
Thanks,
Raman
If you want to "record" the RDP protocol the answer is "no", JMeter's HTTP(S) Test Script Recorder can only record HTTP or HTTPS protocols, other traffic will not be recognized.
If you want to take some screenshots of the remote Windows machine you can use i.e. JavaRDP library from JSR223 Test Elements
If you need to read the conversion log and add it to JMeter test results it might make more sense to consider connecting to the machine using PowerShell Remoting from the OS Process Sampler.
Check out How to Run External Commands and Programs Locally and Remotely from JMeter article for more information on the concept and example configurations.
I have followed most of the JMeter tutorials, but there's one thing that prevents me from testing our app specially iOS. I can't be in one network. We have a separate network for both Mobile and Desktop/Laptop. Is there any way that I can record JMeter using Wired Connection, instead of WiFi? Thanks!
If you have to use JMeter for recording mobile device activity you could go for USB Tethering, this way your computer becomes connected to the iOS device network hence JMeter should be able to capture the traffic.
An easier option would be going for BlazeMeter Proxy Recorder, as a bonus you will have possibility to export recorded scripts in "SmartJMX" mode with automatic detection and correlation of the dynamic parameters.
Could some one please help me on the below
Is it possible to record desktop applications using JMeter?
I just tried the following, but didn't work
File--->Template--->Create
Workbench--->Recording Script-->Start
Launched my application which is desktop and perform some actions
Workbench--->Recording Script-->Stop
When I expand Threadgroup--->Recording Controller-Nothing recorded
Where am I missing?
You miss one important step:
configure your desktop application to use proxy and provide host and port where JMeter is running (localhost and 8888 if they live on the same machine
Also be aware that:
JMeter can record only HTTP or HTTPS traffic, if your application uses other protocol - the calls will not be recorded. In that case you can consider The Grinder as an alternative, it comes with TCPProxy which is more low level therefore is cable to capture more protocols
If your application uses HTTPS protocol you will need an SSL certificate in order to decrypt and record the requests, you can configure your application to use JMeter's certificate or vice versa.
On MS Windows you may need to add a Loopback Adapter
See How to Run Performance Tests of Desktop Applications Using JMeter article for more details on simulating multiple desktop applications using JMeter
As help explains:
The recorder is implemented as an HTTP(S) proxy server. You need to set up your browser use the proxy for all HTTP and HTTPS requests.
Technically browser is also a desktop application, so to answer your first question, yes, you can record desktop applications using JMeter. However, just like browser, your desktop application must have an ability to connect to the internet via user-defined proxy. And also recorder will only record HTTP traffic from and to the application, it will not record client-only UI events, or traffic generated by any other protocols.
So to sum up:
Any desktop application can use JMeter recorder
But only if you can configure it to use JMeter recorder as a proxy
And only if your goal is to record HTTP traffic related to your desktop application, nothing else.
For load testing from different browser do we need to have all browser version on host machine or user agent change in existing script will work?
JMeter acts on protocol level, it builds HTTP requests using Java code and Apache HTTPClient libraries by default.
If application you're trying to test logic differs depending on browser you can mimic different browsers by sending the relevant User-Agent header via HTTP Header Manager.
Also consider the following settings:
configure your HTTP Request samplers to:
Retrieve all embedded resources
Use concurrent pool of 4-6 threads for this
This way you will be able to replicate browser behaviour when it comes to working with images, CSS files, JavaScript files, etc.
add HTTP Cache Manager to represent browser cache
add HTTP Cookie Manager to mimic simulate browser cookies, deal with cookie-based authentication, represent sessions, etc.
Check out How To Make JMeter Behave More Like A Real Browser guide for more detailed explanation of the above recommendations.
No.
A web-browser uses User-Agent to tell a server what kind of Browser and Operating System it uses. According to Wikipedia:
This allows the web site to customize content for the capabilities of a particular device
If you recorded your script with Chrome, JMeter would tell the server it was Chrome, and the server would respond to JMeter as if it were Chrome. JMeter, however, does not actually user Chrome in any way. Similarly, if you were to change you User-Agent to Android, the server would just respond to JMeter as if it were an Android device.
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.