0
votes

I'm not new in load testing. My job is to create a load testing with jmeter. I did not bother with tread number, clients, memory consumption ,etc. For jmeter load testing i used 3 client , each of them run 1000 threads (30% CPU was used), results were expected all the time. No problems were detected on SUT or clients.

I'm put before new challenge. Now i have to execute web performance testing on browsers.I don't know if i create a correct picture about performance testing. I want to measure, first byte, load time on web page, java script, Ajax, etc,...

Web automation tests are written in selenium. Selenium is not mentioned for web load testing.

Lets say to simulate 1.000 users clicking ob browser, this means a lot of VM, collecting results from browsers(DOM counters), SUT is managed by PS script to take data from perf. counters. I see a problem a lot of VM means also financial budget which i do not have.

I'm in doubt if the upper approach is correct or should change my approach. One of these tools is Visual Studio Ultimate edition. But i still need a lot of VM to simulate 1,000 users - browsers.

On the internet i read a documents, descriptions, top tools.

How do you do changeling web page performance testing on you company.

Any help about web page performance will be appreciated.

Thanks,

Dani

1
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.DebanjanB
To get the metrics under load, simply simulate the load of multiple users on the targeted server with jmeter and launch at the same time a single browser on an isolated machine with Selenium and measure the page load time via the performance API. The hard part is to select the relevant requests to run with jmeter since you'll have to take into account cached resources (cdn images, scripts...), external resources (analytics, tracking...) and ajax requests.Florent B.

1 Answers

1
votes

Well-behaved JMeter script must look exactly like real browser does from the server's perspective, just make sure you properly handle the next few bits:

See How to make JMeter behave more like a real browser article for more details.

Assuming all above you should be able to mimic the load on HTTP protocol level. If you need to measure rendering or JS execution speed additionally you can add another Thread Group with 1 (or several threads) and use WebDriver Sampler which provides JMeter integration with Selenium. Additionally you can collect some extended stats using i.e. Navigation Timing API via WDS.browser.executeScript() method allowing execution of arbitrary JavaScript code.