Selenium WebDriver for Performance Testing
There is a desire to re-use functional test scripts to execute performance testing. Selenium WebDriver is widely used by test analysts, soo why is it not standard practise to reuse Selenium WebDriver scripts for performance testing?
We thought we’d search for “performance testing with Selenium WebDriveundefined doesn't recommend it saying "...not because it is incapable, but because it is not optimised for the job and you are unlikely to get good results." The rest of the results are mixed but we've broken then down into positives and negatives:
-Freeware and extremely capable
-Can use existing functional automation scripts (though functional test scripts do not make good performance test scripts)
-Large footprint and requires significant hardware to run a performance test
-Has to be plugged into another tool to run a performance test
-Awkward gathering and reporting of metrics.
So how do Testing Performance address the negatives?
Rather than using an existing functional test script, we lift out the assets required. If someone else has spent time creating a POM (Page Object Model) then creating a new performance test simply becomes plug and play.
Unfortunately, the footprint it is what it is - there are no hard and fast rules to calculate the footprint and the hardware required to support your test. There are many factors that can be taken into consideration - the main one being how hard your site works the browser. If you consider video conferencing; with video & audio up & down sockets, chat and handshakes, the WebDriver footprint fades in significance. The pragmatic approach is to monitor your machine running your test with first one, then five users and extrapolate from there. But there are some steps that we take to minimise the WebDriver footprint:
-Run the browser in headless mode
-If the browser type is not critical, use the one that is the most efficient for the site
-Keep your scripts simple - there is no need to have an elaborate framework. You don’t need a sledge-hammer to crack an egg!
Tooling is, as always, a matter of budgets and personal choice with budget normally being the dominant factor. The tool should allow you to utilise your Selenium scripts and still give you the transaction detail that is required (time script started – time script ended is not good enough).
The tool must be capable of providing transaction response times correlated to the server and network monitored statistics collated during test executions to provide clear and informative reporting. Correlating such statistics manually is laborious and error prone.
We have experience of all major test tools and can quickly evaluate which is best for your budget whilst being capable of providing the level of transaction detail required. All enquiries are welcome.