Jmeter-Recording issue - jmeter

I am trying to record a http web page using JMeter 2.3.3 version. I have setup the JMeter proxy and tried, but didn't work. I have followed the below steps.
Launch jmeter 2.3.3, added thread group to test plan
Under Workbench->add->non-test elements-> added HTTP proxy server. proxy server setting are port:9090, target:use recording controller, grouping:donot group samplers, Type:HTTp request and checked the boxes of all under http sampler settings
Saved the settings
Now in browser(IE 7.0 or firefox 3.0.16), under connection settings, setup the manual proxy settings as local host and port as 9090 (no auto detect settings nothing, only manual proxy). Setting saved
Now in the JMeter, started the http proxy server.
Open a browser and hit the webpage needs to be tested.
The page is not opened. In fact because of the changes made in browsers, no pages are opened. Whenever I try hitting a page, the pages are recorded in the JMeter. But without the page open, how can I test.
I looking for an immediate answer and my work is blocked. Immediate answer would be appreciated.

I suspect that you need to configure JMeter to use a proxy in order to load the pages you're trying to test.

Please Configure your browser with Address:localhost and port:8080. and then start recording the script.
Steps:
Open browser IE.
Go to option and select connection.
Select "LAN Setting".
set Address:"localhost" and port:8080.
Follow this step and start recording script.

Please check if you have checked the redirect automatically check box in the HTTP Proxy settings in JMeter.

Related

Jmeter Script recorder with Firefox not letting user bypass Authentication

I have an issue I'm facing which Jmeter Script recorder and Firefox browser in Windows 10.
I have managed to add a project in Jmeter with the Recorder template and imported the generated
Certificate into the Firefox browser and also changed the proxy settings to point to the port
I have in Jmeter Test script recorder (8888) by changing the proxy to manual configuration.
But when I start recording I get to a point in where I need to authenticate myself at a certain point in a webpage (a prompt showing up) and I also enter the correct credentials but it just keeps redirecting back to the prompt all over again so I can't bypass it.
Are there settings I should change in some of the Jmeter properties files?
I need to say that the computer I'm trying this with has proxy settings which are fixed and cant be changed when looking into wifi settings in control panel
JMeter provides HTTP Authorization Manager to deal with external authentication types like
basic HTTP
NTLM
Kerberos
So if you want to record the end-to-end flow you need to add properly configured HTTP Authorization Manager to your recording template test plan. The configuration details will differ depending on the server configuration, see Windows Authentication with Apache JMeter article for more details (you will need this setup in any case for replaying the recorded scripts)
Alternative solutions:
Disable proxy for this particular login request like:
Record all the steps including login - it will produce relevant HTTP Request samplers
Disable proxy
Perform login
Enable proxy
Continue recording
Use a 3rd-party recording solution like JMeter Chrome Extension

Why website is not accessible by clicking on login button while recording it with proxy server using Jmeter?

I have set up a proxy server and trying to record a script by adding "http script recorder", but the problem is I am able to access a website but not able to login.
my website has been loaded but once I enter credentials and click on the login button then a website is not behaving, login button also not responding.
In case of any problems with JMeter first of all you should look at jmeter.log file, if anything goes wrong JMeter normally writes an error message to this log file which in majority of cases is enough to get to the bottom of the issue.
With regards to your problem, my expectation is that login normally uses HTTPS protocol and you need to perform some extra configuration so JMeter would be able to intercept and decrypt HTTPS traffic.
You need to install JMeter's self-signed certificate to your browser, the file is called ApacheJMeterTemporaryRootCA.crt and it's being generated in "bin" folder of your JMeter installation when you start JMeter proxy.
You just need to import it into your browser and it should resolve you issue. Follow your browser documentation to learn more about certificates installation processes, some hints are also given in the HTTPS recording and certificates chapter of the HTTP(S) Test Script Recorder JMeter User Manual entry.
Alternative way is using JMeter Chrome Extension, in this case you won't have to worry about proxies and certificates so the recording process will be faster and easier.

JMETER not recording a particular site

Jmeter is not recording a particular site. However, it did record for the very first time, later something might have happened, below is the set up.
HTTP(S) Test Script Recorder > port 7878
Firefox > localhost (7878)
open firefox > start HTTP(S) Test Script Recorder and open WWW.xyzabc.com
Jmeter records perfectly as expected.
Now, after sometime i did the same, this time nothing is being recorded however, the site got opened on firefox.
Additionally, when i have stopped recording on jmeter, i was still able to open the site and perform actions on firefox, but for other sites i get "The proxy server is refusing connections"
Can anyone please explain this behaviour?
A couple of assumptions:
Your site uses HTTPS transport and Firefox isn't configured to record HTTPS traffic
Your site is running on your local machine and Firefox is configured to not to use proxy for local addresses.
In Firefox network configuration make sure:
Use this proxy server for all protocols box is checked
No Proxy for: input field is empty
If it doesn't help you can try out the following:
Add the next line to user.properties file
log_level.jmeter.protocol.http.proxy
Restart JMeter to pick the property up
Look for anything suspicious in jmeter.log file
If nothing help you can consider an alternative way of recording a JMeter test - JMeter Chrome Extension
Here is the step by step procedure to record a scenario in JMeter.
The easiest way to use recording is from "Templates" .
Step1: Open your Firefox browser and from Network Connection settings configure the proxy server as HTTP Proxy: 127.0.0.1, Port: 8888.
See image here
Step2: Run your Jmeter.bat file and open "Templates" under File dropdown list and click "Create".
See image here
Step3: Expand WorkBench and select "HTTP(s) Test Script Recorder". And click "Start" at the bottom of the page.You will have two pop up to Allow Firewall and Temporary Root CA Certification Installation.Allow all those and now go to your browser and do your browser activity.When it's done "Stop" the HTTP(s) Test Script Recorder.
Step4: After this you will get the recorded script in JMeter with all your activity in the browser.It will automatically update under Thread Group.This script will contain all your page requests during browsing activity. Sample script after recording is shown here.
If it's HTTPS, then you have to add its certificate to jmeter.

Can not record browser action in jmeter

I am using apache-jmeter-2.6. I want to record browser action using HTTP Proxy Server. But The actions are not recording.
I have defined HTTP Request Defaults under Thread Group,I have given value for the server name that looks like this:
http://www.xxxxx.com:81/
And I left the Port Number field empty as it is given with the Server Name.
In HTTP Proxy Server under workbench, I have given the Port value:81 and added ".*.html" in URL Patterns to include.
I have set the proxy server setting in firefox browser with Port:81 and Http Proxy: www.xxxxx.com
Now when I start the proxy server in jmeter and do different actions in my browser, i get nothing in my listener which is 'View Result Tree'.
I have searched for the ApacheJMeterTemporaryRootCA.crt file in different directories of my pc so that I can install it in my browser but did not find it anywhere, seems it is not created.
I have also deleted proxyserver.jks and then tried everything again, but no success.
What am i doing wrong here? How do i fix this?
My java version is 1.8.0_77.
Thank You.
First of all I recommend you to upgrade your JMeter version.JMeter 2.13 version is available.The performance of JMeter is being constantly improved, so users are highly encouraged to use the most up to date version.
Ensure you always read changes list to be aware of new improvements and components. You should absolutely avoid using versions that are older than 3 versions before the last one.
Here is the step by step process of recording browsers action.
Step1: Open your Firefox browser and from Network Connection settings configure the proxy server as HTTP Proxy: 127.0.0.1, Port: 8888
Step2: Run your Jmeter.bat file and open Templates under File dropdown list and click "Create".
Step3: Expand Work Bench and select "HTTP(s) Test Script Recorder". And click "Start" at the bottom of the page.You will have two pop up to Allow Firewall and Temporary Root CA Certification Installation.Allow all those and now go to your browser and do your browser activity.When its done "Stop" the
HTTP(s) Test Script Recorder.
Step4: After this you will get the recorder script in JMeter with all your activity in the browser.It will automatically update under Thread Group.This script will contain all your page requests during browsing activity. Sample script after recording is shown below.
Hope this will work for you.
You need latest JMeter first! Download here.
Check this tutorial on recording.
ApacheJMeterTemporaryRootCA.crt can be found in JMETER_HOME/bin folder.

JMeter : How to record HTTPS traffic?

I'm using Apache JMeter 2.3, which now supports "attempt HTTPS spoofing" under the Proxy Server element.
I've tried this on several different servers, and have had no success.
Has anyone been able to successfully record from an HTTPS source with this setting?
Or barring successfully recording, can anyone share a work-around? When available, I simply have HTTPS turned off at the server level, but this is not always feasible. Thoughts?
Starting from JMeter 3.0 default port for the HTTP(S) Test Script Recorder is 8888
The easiest way to configure recording is using JMeter Templates feature. From JMeter's main menu select:
File -> Templates -> Recording -> Create
Don't forget to start the recorder :
In JMeter < 4.0, Expand "Workbench", if >= 4.0, ignore this step
Select "HTTP(S) Test Script Recorder"
Click "Start" button
You will see a message regarding Root CA Certificate. Click OK:
it is OK, it informs you JMeter has created a Root Certificate Authority that you need to import in your browser to be able to record correctly HTTPS traffic.
To Import this Root CA certificate in Firefox (it is located in jmeter/bin folder) for example:
Configure browser to use JMeter as proxy:
It is now Ok.
You can navigate to your application, samplers will be created under "Recording Controller" which is under "Thread Group" element
While the JMeter proxy already has the ability to record HTTPS requests, a Chrome Extension that creates JMeter script came out recently:
https://chrome.google.com/webstore/detail/blazemeter-the-load-testi/mbopgmdnpcbohhpnfglgohlbhfongabi?hl=en
It uses a BlazeMeter as the middleman (a commercial JMeter in the cloud service) but you can use their free service forever and still use the plugin to record a JMX script and download it locally to your own machine even if you never use any of the paid plans.
What I do is:
Go to my website using my web server's IP-address (i.e. http://2.2.2.2/login.html)
Start the recorder and run through my test case
Stop recording
Replace all values of the IP address with the domain name (i.e. replace 2.2.2.2 with yoursite.com) from the HTTP Request Samplers
Set the protocol to https in the HTTP Request Samplers
If you have more than a few pages, it's easiest to create an HTTP Request Defaults item, and set your domain name and protocol there.
FYI, I'm using the latest stable build as of 2010-05-24: Jmeter 2.3.4 r785646.
The newest version of Jmeter (2.4) now supports HTTPS recording. Rejoice!
More details:
http://wiki.apache.org/jmeter/JMeterFAQ#Can_JMeter_record_HTTPS_requests_using_the_recording_proxy.3F
Is there any other way to record HTTPS than Bad boy and Https spoofing?
Yes--use a nightly build of JMeter, e.g. version r922204.
Https recording is successfully working in new version of Jmeter 2.9 as of today. I had to import proxy certificate and play around with Firefox to get this working.
Refer this link for more information
Https recording using Jmeter
Yes, I have used it with "attempt HTTPS spoofing" on. Things are simple enough:
Turn HTTPS Spoofing on (of course).
Make sure that the browser sends Http request to Jmeter, so that Jmeter can record it and then send the encrypted request back to the server. So, the URL in the browser should start with http:// (and not with https://). The details could be found in my blog.
Please let me know if it works for you.
I am using Webscarab to record https and ajax conversations.
It workd fine. I extended the Webscarab with export function for Jmeter.
Bugzilla 48898.

Resources