0
votes

What is the difference between

  1. Using the performance testing tool directly(Jmeter ,..)

  2. Integrate the performance testing tool with selenium using plugin(Jmeter ,..).

Whether I can achieve all the functionalities in both the ways.

If used as a plugin will there be any limitations?

Thanks.

1

1 Answers

0
votes
  1. Performance testing tool acts on HTTP protocol level, basically pretty much the same as browser does, however in particular JMeter:

    JMeter is not a browser, it works at protocol level. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc., but the timings are not included in any samples, and only one sample in one thread is ever displayed at a time).

    therefore you can only test backend performance using JMeter however you will not get client-side performance metrics

    Protocol-based tests have much less footprint in terms of resources (CPU, RAM, etc.) so you can simulate thousands of virtual users from a mid-range modern laptop.

  2. Selenium is a browser automation framework, it operates real browsers so:

    • you have client-side performance metrics (including ability to query Window.Performance metrics)
    • and you don't have HTTP-protocol related metrics (connect time, latency, concurrency, throughput, etc.)

    Browser-based tests have huge footprint in terms of resources as browsers are very resource intensive, for example Firefox 74 requires 1 CPU core and 2 GB of RAM per browser instance so you can kick off only several browsers on a mid-range modern laptop

Depending on your requirements you might want to either test the backend using JMeter or the frontend using Selenium or create the main load using JMeter and use 1-2 real browsers to test client-side performance.

If you're looking for a way of integrating JMeter with Selenium take a look at WebDriver Sampler (it's a JMeter Plugin which can be installed using JMeter Plugins Manager)