1

I am working on creating a load test in JMeter:

  1. 100 users login to the product at the same time.
  2. Each user performs some UI action like running a user report or updating user profile page.
  3. Each user then logs out of the web application.

Now, i am able to login successfully with one user and could not perform UI actions. So, if i use WebDriver sampler , then can i use headless browser. I dont want to open tabs in chrome, but just monitor the stress on the system and i want to do this only using JMeter. I am stuck.

Now, i want the ramp up time to be 5 minutes, load test for 30 mins, ramp down time to be 5 mins.

Kindly help me get started.

enter image description here

2 Answers 2

1

As per WebDriver Sampler documentation:

Note: It is NOT the intention of this project to replace the HTTP Samplers included in JMeter. Rather it is meant to compliment them by measuring the end user load time.

JMeter allows the creation of multiple threads, and each thread is responsible for creating load on the server. However, for the Web Driver use case, the reader should be prudent in the number of threads they will create as each thread will have a single browser instance associated with it. Each browser consumes a significant amount of resources, and a limit should be placed on how many browsers the reader should create. However, the load testing cloud providers may help to scale WebDriver test up to thousands of real browsers, look at BlazeMeter for example.

From experience, the number of browser (threads) that the reader creates should be limited by the following formula:

C = N + 1


where C = Number of Cores of the host running the test
and N = Number of Browser (threads).

As per Firefox 89 browser system requirements

Recommended Hardware

  • Pentium 4 or newer processor that supports SSE2
  • 512MB of RAM / 2GB of RAM for the 64-bit version
  • 200MB of hard drive space

The question is: do you have 101 CPUs and 400 GB or RAM? If yes - go ahead, if no - consider conducting your test on HTTP protocol level, well-behaved JMeter test produces the same network footprint as the real browser does so from the server perspective it won't make any difference whether you're using JMeter's HTTP Request samplers or the real browser.

2
  • Hi Dmitri, you are the best person to answer questions on performance testing. Now, what i have till now, is that i have only added 2 user in my CSV and just want to run it perfectly for 2 users first. Now, in the Database, after running the test, i can see a login entry for the User logged in , but cant see entry for user profile page edit. why? Also, if i just have 2 users in CSV data set config element, then in the Thread count i will write 2. IF I HAVE 100 users then, in the thread count will i write 100? So, the no of rows in CSV should be equal to the number of users. Webdriver need
    – matt038
    Commented Jul 8, 2021 at 13:59
  • To add for "future reference", if (and almost only if) you require 100+ clients in webdriver (for a test load that cannot be solved by scripting http-requests, i.e. something that requires a lot of javascript for instance), then running selenium-grid in kubernetes is a way to. Then you could scale nodes with webdrivers to the size of your credit card. Googling selenium-grid and kubernetes yields plenty of solutions.
    – andy
    Commented Dec 2, 2022 at 14:46
0

You can run the tests in headless mode by ticking the "Use Chrome headless mode" checkbox in the Chrome Driver Config element.

enter image description here

You can use a Synchronizing Timer to simulate users sending the login request at the same time.

It's not advisable to run many web driver samplers concurrently as explained in the other answer.

You may run the test and see how far you can proceed with the available machine. Then you can go for a distributed testing environment to simulate the required number of simultaneous users.

Note : enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.