To record a browser scenario in Apache JMeter, use the built-in HTTP(S) Test Script Recorder as a local proxy. Start a Recording plan from Templates…, set the target in HTTP Request Defaults, start the recorder, point your browser’s manual proxy to JMeter (Apache’s example uses localhost:8888), and perform one clean journey. For HTTPS, install and trust the generated ApacheJMeterTemporaryRootCA.crt certificate in the browser. Stop recording, then clean, parameterize, correlate, validate, and execute the resulting plan before treating it as a load-test script.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
What JMeter recording does—and what it does not do
JMeter recording captures the HTTP and HTTPS requests produced by a browser and adds corresponding sampler objects to a test plan. Apache describes the recorder as allowing JMeter to “intercept and record your actions while you browse your web application with your normal browser.” The recorder therefore observes network traffic; it does not understand your business transaction automatically and it does not produce a production-ready load model by itself.
As an Amazon Associate I earn from qualifying purchases.
A recorded plan commonly contains static assets, analytics calls, duplicated requests, browser-generated headers, one-time tokens, and values tied to the original user session. Turning that draft into a reusable scenario requires filtering, cookie management, data parameterization, and correlation of dynamic values. Recording is the fast way to discover the request sequence; deliberate editing is what makes the sequence reliable and repeatable.
Before you press Record
Install JMeter and choose a test target
Use a JMeter installation that can run the application you are authorized to test. Decide the application host or IP address, the exact user journey, and the data that journey needs. Recording against a test environment is safer than pointing an exploratory recording at production.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
- Identify the server name or IP address that should be placed in HTTP Request Defaults.
- Write down the journey in business order, such as sign in, search, open an item, submit a form, and sign out.
- Prepare test credentials and records that can be used repeatedly.
- Plan filters for static resources and unrelated hosts before the plan becomes large.
- Use a private browsing session when you need a clean cookie and cache state.
A browser can continue to work even when JMeter is stopped if it is bypassing the proxy. That makes proxy verification part of the setup, not an optional troubleshooting step.
Start a recording plan in JMeter
- Start JMeter and open Templates….
- Choose the Recording template and create the plan. The template supplies the basic elements needed for proxy recording.
- Open HTTP Request Defaults and enter the target server name or IP address. Set a port or protocol there when your application requires one, rather than repeating it in every sampler.
- Locate the HTTP(S) Test Script Recorder. Confirm the recorder host and port. Apache’s example uses
localhostand port8888. - Configure the recorder’s include and exclude patterns before starting if you already know which hosts or resources are noise. This prevents the plan from filling with images, style sheets, JavaScript, analytics, and other assets that are not part of the business transaction.
- Start the recorder. JMeter now listens as a proxy and creates test sample objects from traffic that passes through it.
Keep the recorder window visible while configuring the browser. You should be able to see that it is running and listening on the expected address and port.
Configure the browser proxy
Set a manual proxy for all protocols
In the browser’s network or connection settings, select a manual proxy and enter the recorder host and port. For the standard local setup, use localhost and 8888. Enable the proxy for HTTP and HTTPS, and for other protocols when the browser exposes a single “use this proxy for all protocols” option. If the browser treats localhost specially, replace localhost with the machine’s hostname or IP address.
Do not leave an old corporate proxy, VPN exception, or “bypass proxy for local addresses” rule in place without checking its effect. A bypass rule can send the application directly to the server, so JMeter receives nothing.
Trust JMeter for HTTPS interception
HTTPS protects the browser-to-server connection, so a recording proxy needs a certificate that the browser trusts. When JMeter starts HTTPS recording, it generates ApacheJMeterTemporaryRootCA.crt. Install that certificate in the browser’s trusted certificate store for the recording session, following the browser’s certificate-import workflow. If the browser reports unknown_ca, it does not trust the JMeter-generated CA; install or accept the certificate and restart the affected browser session if necessary.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
The certificate is a testing aid for traffic interception, not a replacement for the application’s production certificate. Remove or disable the temporary trust after recording if the browser is used for ordinary browsing.
Free tools Windows power users keep installed
One-click scans. No signup required.
Verify that traffic really goes through JMeter
- With the recorder running, open the target application and confirm that samples appear under the recording controller or designated destination.
- Stop the recorder briefly. A browser that still reaches the application normally is usually bypassing the proxy.
- Restore the recorder, correct the host, port, or bypass list, and repeat the check before recording the full journey.
Record one clean browser journey
Perform the scenario once, in the order a real user would follow it. Avoid opening unrelated tabs, refreshing repeatedly, or changing application state while the recorder is running. Each extra action becomes another request to inspect.
- Open a private browsing window if a clean session is required.
- Navigate to the application’s starting page.
- Complete the login and business actions that define the scenario.
- Use deliberately chosen test data, noting which values should become variables later.
- Finish at a meaningful end state, such as a confirmation page or completed transaction.
- Stop the recorder immediately after the journey. Save the JMeter plan.
Reset the browser’s proxy after recording. Otherwise, normal browsing will continue to depend on a recorder that may no longer be running.
Make the raw recording usable
Group requests with a Recording Controller
Use a Recording Controller to group the samplers that belong to the scenario. A controller gives the journey a visible boundary and makes later maintenance easier. Keep unrelated traffic outside the group or remove it after inspection.
Filter noise before and after recording
Include patterns for the application hosts and paths that matter. Exclude patterns for irrelevant hosts and static resources such as images, CSS, JavaScript bundles, fonts, telemetry, and advertising calls. Filtering before recording is preferable because it avoids generating a large plan, but review the recorded tree afterward as well: a request that looks like static noise may still be required when it returns a token or configuration value.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Do not remove a request solely because it has no visible page content. Keep requests that change server state, establish authentication, return a session identifier, or supply a value referenced by a later request.
Add an HTTP Cookie Manager
Browsers send cookies during recording, but those forwarded cookies are not automatically saved as reusable runtime state in the plan. Add an HTTP Cookie Manager so each JMeter thread can receive and update cookies as the scenario runs. This is essential for login sessions and applications that use cookies for routing, preferences, or anti-forgery state.
Replace fixed values with variables
Recorded requests often repeat the host name, account identifiers, search terms, and form values. Replace repeated host or input values with User Defined Variables. A variable lets you change the environment or scenario data in one place instead of editing every sampler.
Keep environment-specific values, such as a server name, separate from user-specific values, such as an account or product code. That separation makes it possible to run the same plan against another test environment without rewriting the journey.
Recommended Free Tools
Feed data with CSV Data Set Config
For multiple users or records, add CSV Data Set Config and reference the columns in requests. A CSV file can provide usernames, passwords, search terms, identifiers, or other test records. Decide whether each thread should use a distinct row and ensure that the file contains enough valid data for the planned concurrency and loop count.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Use functions for generated values
JMeter functions can supply values that should not be hard-coded. The __counter function can produce an incrementing value, while __time can produce a time-based value. Use generated values only when the application accepts them and when uniqueness or freshness is actually required; generating a value that violates the application’s format or business rules will create a false test failure.
Correlate dynamic responses
Many applications return a session identifier, anti-forgery token, order number, or other value that changes on every run. A recorded literal value will expire or belong to the original browser session. Extract the value from the response and reference the extracted variable in subsequent requests.
- Use a JSON Extractor when the value is in a JSON response.
- Use a Regular Expression Extractor when the response format requires a regular-expression match.
- Place the extractor where the response is available, then replace later hard-coded values with the extractor variable.
- Check the extractor’s result during validation; an empty variable can cause a later request to fail in a way that hides the real problem.
Correlation is different from parameterization. Parameterization supplies intentional test data; correlation captures a value that the server generated and that the next request must reuse.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsValidate the scenario before generating load
Use the built-in validation path
Save the plan and use Thread Group → Validate while debugging. Validation helps expose broken variables, missing cookies, failed extractors, incorrect hosts, and requests that depend on state created earlier in the journey.
Inspect failed samplers and response data rather than increasing users immediately. A plan that fails for one thread is not made valid by running it with more threads; additional load only makes the diagnosis harder.
Best Value
Check the journey’s assertions and state
- Confirm that authentication succeeds and that the next request receives the expected session state.
- Confirm that each extracted token or identifier is populated before it is used.
- Verify that CSV rows contain valid, non-conflicting records.
- Check that the final response represents the intended business outcome, not merely an HTTP status code.
- Remove listeners and debugging elements that are not needed for the load run after you have inspected the plan.
Run substantial tests in non-GUI mode
The JMeter GUI is appropriate for building, inspecting, and debugging a plan. It is not the preferred execution mode for substantial load generation because the interface consumes resources and can distort a run. Use non-GUI mode for the actual load test, for example:
jmeter -n -t test.jmx -l results.jtl -e -o report
-nruns JMeter without the GUI.-t test.jmxselects the saved test plan.-l results.jtlwrites the result log.-egenerates the HTML dashboard after the run.-o reportplaces the dashboard in the specified output directory.
Review failures and response data before increasing users, ramp-up, or loop count. First prove that one clean execution is correct, then establish a small repeatable run, and only afterward scale the load profile.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallRecording versus building the plan manually
Proxy recording and manual construction solve different problems. Recording discovers the browser’s request sequence quickly; manual construction gives finer control over exactly what the test sends.
| Decision axis | Proxy recording | Manual plan construction |
|---|---|---|
| Setup speed | Fast for discovering a browser journey after proxy and certificate setup. | Slower initially because each request and dependency must be identified and configured. |
| Control over request structure | Captures what the browser sent, including headers and incidental calls that may need editing. | Provides deliberate control over samplers, headers, bodies, controllers, and pacing. |
| Cleanup required | Usually substantial: filter static assets, remove noise, add cookies, and organize controllers. | Less recorded noise, but the author must know the required request sequence. |
| Dynamic values | Requires explicit parameterization and correlation after capture. | Can be designed with variables and extractors from the start, but still requires knowledge of application state. |
| Non-browser protocols | Best suited to traffic that a browser sends through HTTP or HTTPS; it does not automatically model every protocol. | Better when the target protocol or business operation is not represented by ordinary browser traffic. |
A practical approach is to record a representative journey, use the result to learn the request sequence, then simplify or rebuild the parts that need precise control.
GUI debugging versus non-GUI execution
| Use case | GUI | Non-GUI |
|---|---|---|
| Plan authoring | Convenient for navigating controllers, samplers, extractors, and variables. | Not intended for interactive plan editing. |
| Failure investigation | Useful for inspecting response data and confirming variable flow. | Useful for repeatable runs whose logs and reports can be examined after completion. |
| Load generation | Resource-heavy and unsuitable as the normal mode for substantial load. | Preferred for serious load generation because it avoids the interactive interface. |
| Observability | Immediate visual feedback while debugging. | Result files and the generated HTML dashboard provide post-run analysis. |
Troubleshoot common recording failures
| Symptom | Likely cause | Fix |
|---|---|---|
| No samples appear in JMeter. | The browser is not using the recorder proxy, or the host and port are wrong. | Set the browser’s manual proxy to the recorder host and port, remove bypass rules, and verify that traffic stops when the recorder stops. |
| The browser works when JMeter is stopped. | Traffic is bypassing JMeter, often because of a localhost exception or another proxy setting. | Use the machine hostname or IP instead of localhost when necessary, enable the proxy for the relevant protocols, and repeat the stop/start check. |
HTTPS pages fail with unknown_ca. |
The browser does not trust JMeter’s generated CA certificate. | Install or accept ApacheJMeterTemporaryRootCA.crt in the browser’s trusted certificate store, then retry the HTTPS journey. |
| The plan contains thousands of irrelevant requests. | Images, CSS, JavaScript, analytics, or unrelated hosts were recorded. | Use include and exclude patterns before recording where possible, then remove verified noise while preserving requests that carry state or tokens. |
| Login works during recording but fails during replay. | Recorded cookies or session values were treated as permanent data. | Add an HTTP Cookie Manager and correlate session or anti-forgery values from responses. |
| A later request sends an expired or incorrect identifier. | A dynamic response value was hard-coded in the recording. | Extract it with JSON Extractor or Regular Expression Extractor and reference the extracted variable later. |
| Runs fail only when multiple users are added. | Users share fixed records or the CSV does not provide suitable data for each thread. | Parameterize user data, allocate appropriate CSV rows, and verify that records can be used concurrently. |
A repeatable recording checklist
- Choose the target host, the business journey, and valid test data.
- Create the plan from Templates… → Recording.
- Set HTTP Request Defaults with the target server name or IP address.
- Start the HTTP(S) Test Script Recorder on the selected host and port.
- Configure the browser’s manual proxy, using the Apache example of
localhost:8888when appropriate. - Install and trust
ApacheJMeterTemporaryRootCA.crtfor HTTPS recording. - Confirm that samples appear and that traffic stops when the recorder is stopped.
- Record one clean journey in a private session when a fresh state is needed.
- Stop the recorder, save the plan, and reset the browser proxy.
- Organize samplers with a Recording Controller and remove irrelevant traffic.
- Add HTTP Cookie Manager, User Defined Variables, CSV Data Set Config, functions, and extractors as the scenario requires.
- Validate with Thread Group → Validate, inspect failures and responses, then run substantial load in non-GUI mode.
Key limitations to keep in mind
The recorder sees network traffic, not intent. A click that appears to be one action may produce several requests, while a request that appears incidental may establish state needed later. Browser caching, extensions, third-party services, and existing cookies can also change what is captured. Keep the recording narrow, inspect every retained sampler, and prove that the cleaned plan can reproduce the intended business outcome before using it to generate load.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




