jmeter unable to capture request from ERP application that uses own proxy - performance

I have been looking into testing an ERP application written in Java on top of Eclipse. The application comes with its own jre and so on. I don't have access to the source code but I do now from the developers and my own research that the application calls its backend hosted on Amazon cloud.
After setting up my jmeter proxy I noticed that it captures anything from chrome but not from my ERP application. The ERP application is able to just bypass any proxy settings I set.
The only interesting thing I noticed is that if I set my jmeter proxy as a SOCKS proxy in system settings (or just as SOCKS proxy for the VM running the ERP application) then entire application just crashes.
This leads me to believe that the application might be behind some kind of proxy itself which prevents jmeter from capturing the requests.
Does anybody have any suggestions?

Basically you need to complete 2 steps:
Start JMeter's HTTP(S) Test Script Recorder. The easiest way is using JMeter Templates feature:
From JMeter's main menu choose File -> Templates -> Recording and click "Create"
Expand Workbench -> HTTP(S) Test Script Recorder and click "Start"
Configure your application to use JMeter as a proxy. According to Java Networking and Proxies article you need to set the following System Properties:
http.proxyHost=localhost
http.proxyPort=8888
and just in case your application is using HTTPS transport:
https.proxyHost=localhost
https.proxyPort=8888
The properties can be set via -D command line argument like:
java -Dhttp.proxyHost=localhost -Dhttp.proxyPort=8888 ... your application
or you can add them to your application startup script.

Related

Record any application behavior or script in JMeter

I want to record my application behavior ex login in gui mode then want to find behavior and doing performance testing on that application using JMeter . so please help me to find out which plug ins or script to record particular application
JMeter's HTTP(S) Test Script Recorder can record only HTTP or HTTPS protocols so if your "any application" uses HTTP or HTTPS - it can be recorded using JMeter.
For web browsers the comprehensive instructions are provided in the HTTP(S) Test Script Recorder official documentation
For other applications i.e. desktop, mobile, etc. you need to
Configure the application to use JMeter's HTTP(S) Test Script Recorder as the proxy. If application doesn't have separate proxy configuration most probably it respects underlying operating system settings so you need to set the operating system to use JMeter as the proxy
In case of HTTPS you will also need to install JMeter's certificate into your operating system trusted certificates storage
The exact instructions depend on the operating system and the technology (ies) the application is built in, high-level instructions for Windows desktop applications can be found in i.e. How to Run Performance Tests of Desktop Applications Using JMeter article.

Issue with IE recording in Jmeter

I tried recording .net application with Jmeter. I kept getting 'Page can't be found' error during recording. I changed the IE proxy server setting and configured the port number.
Not sure why it's not able to capture anything within the page.
Prepare JMeter for recording, the fastest and the easiest way is using JMeter Templates feature
From JMeter's main menu choose File -> Templates -> Recording and click "Create"
Start the HTTP(S) Test Script Recorder:
Prepare Internet Explorer for recording:
Configure IE to use JMeter as the proxy:
Install JMeter's MITM certificate into IE:
If your machine uses corporate proxy for Internet access - configure JMeter to use this proxy
That's it, you should be able to record now.

How to execute Robotframework scripts in jmeter for performance testing.

We want to test windows app and through Jmeter we are not able to record the application so we will record it in robotframework tool and execute it in Jmeter. Kindly suggest us how we can do that as we have only these 2 tools.
You can record Windows application network activity using JMeter's HTTP(S) Test Script Recorder when the application uses (surprisingly) the next protocols:
HTTP
HTTPS
If you are sure that your application uses one of these (or both) protocols you can record it using JMeter, just double check the following:
Configure your application to use JMeter as a proxy. If the application doesn't have proxy settings it might respect Windows global proxy settings
You might need to install Loopback adapter
You might need to install JMeter's self-signed certificate
See How to Run Performance Tests of Desktop Applications Using JMeter article for more information on recording and replaying desktop applications network activity using JMeter.
As a last resort you can always run anything including Robot framework tests from command line using JMeter's OS Process Sampler (but in this case each JMeter thread - virtual user - will trigger a new instance of tests which can be very resource intensive)

Jmeter script Recording

What is the purpose of JMeter Recorder? With Work Bench, how can I record a Script for Android Native application? I need to record a Script for Native application, is that possible, and how can find errors for Tested Application? What is the procedure to do?
Thanks in advance.
If your application is using HTTP or HTTPS protocols you can record its network activity using JMeter's HTTP(S) Test Script Recorder
First of all make sure JMeter and Android device are on the same network (i.e. connected to the same Wi-Fi) and the machine running JMeter is not blocking port 8888 in the firewall
Prepare JMeter for recording. The fastest way is using JMeter Templates feature. From JMeter's main menu choose File -> Templates -> Recording -> Create, expand Workbench -> HTTP(S) Test Script Recorder and click Start button
Optional step (if your application is using HTTPS only). Locate ApacheJMeterTemporaryRootCA.crt file under JMeter's "bin" folder, send it to yourself by email, open the email on Android device and install the certificate from the attachment
Configure Android device to use JMeter as a proxy. Use IP address or hostname of machine running JMeter as a proxy host and 8888 as a proxy port. Depending on your application network transport and Android version you may have to use a 3rd-party tool like Proxy Droid to set up the proxy configuration
Start your application - JMeter should capture the network requests under the Recording Controller.
In case if you experience any problems update the question with the exact errors. Also it worth checking out A Step by Step Guide to Performance Testing on Native Mobile Apps for an alternative solution.

Jmeter - script recording

I am new to Jmeter and trying to learn it on my own. I am setting up proxy setting in the browser and trying to record the script. But as soon I set the proxy in the browser, am not able to access the internet through that browser.Which is preventing me from recording to the script?
Kindly help me with this issue.
Starting from JMeter 3.0 default port for the HTTP(S) Test Script Recorder is 8888
The easiest way to get JMeter configured for recording is using JMeter Templates feature. From JMeter's main menu choose:
File -> Templates -> Recording -> Create
Don't forget to start JMeter Proxy Server
Expand "Workbench"
Select "HTTP(S) Test Script Recorder"
Click "Start" button
You will see a message regarding Root CA Certificate - it is OK, just information regarding JMeter generated a dummy certificate - ApacheJMeterTemporaryRootCA.crt. If you will need to record the site which uses HTTPS - you will need to import it into your browser

Resources