Welcome!

Machine Learning Authors: Yeshim Deniz, Liz McMillan, Pat Romanski, Elizabeth White, Corey Roth

Related Topics: Machine Learning , Java IoT

Machine Learning : Article

Why You Can’t Compare Cross-Browser Execution Times of Selenium Tests

Cross-browser testing is different in Selenium

I am currently working on a blog where I am going to explain how to do cross-browser testing and performance analysis using dynaTrace. Before I am going to blog that How-To I want to share with you one thing that I have noticed when executing my tests in Internet Explorer 8 and Firefox 3.6. Test execution times are very different – but – this is not because one browser is slower than the other. It is because Selenium has different synchronization mechanisms in IE and FF to e.g: wait for a page to be loaded.

My Environment
I run a simple test on the latest 2.0 Beta build of Selenium. The test executes the following steps:

  • Opens the homepage of my test application
  • Enters username and password and hits the Submit Button
  • Then clicks through 3 different pages by clicking on standard links

Execution Times over Time
I executed this test multiple times. In every test iteration I first execute the test on Internet Explorer 8 and then on Firefox 3.6. I use dynaTrace AJAX Premium Extensions to track performance on all these test executions. Looking at the Test Automation View allows me to compare different metrics, over time and also across the two browsers. The following screenshot shows the execution time of the test scenario of the last 6 test iteration in both IE and FF. The green line represents IE with an execution time that is about 1.5s slower than FF.

Execution Time of this test is about 1.5 seconds slower on Internet Explorer than Firefox - but - it is not because IE is slower

Execution Time of this test is about 1.5 seconds slower on Internet Explorer than Firefox - but - it is not because IE is slower

So – looking at the execution time alone would let me assume that IE is just so much slower than Firefox. But – that is actually not the case.

Detailed Timeline Analysis
dynaTrace allows me to compare two tests. I can compare Network Downloads, Rendering Activity, JavaScript and DOM Executions or any Server-Side activity that these tests executed. The first view that I get to see is the Timeline Comparison. When we compare the test timeline of both tests we see this big gap in Internet Explorer where nothing really happens:

We can compare the test executed in IE with the one in FF side-by-side discovering this big time gap where Selenium just waits

We can compare the test executed in IE with the one in FF side-by-side discovering this big time gap where Selenium just waits

What this really tells us is that looking at execution times of tests is not good idea when we want to compare performance of tests across browsers. It seems Selenium has different ways to wait for certain events to happen. Depending on the browser this can have a significant impact on execution time.

Does this mean we can’t do performance tests with Selenium?

No – we can do performance tests – but – we need to look at different metrics. The dynaTrace AJAX Edition calculates a lot of KPIs such as Time Spent in JavaScript, Time Spent in Network Downloads, Number of Resources, Size of Resources, … – these are the metrics that are more interesting for us. With dynaTrace AJAX Premium I can also compare these results between browsers for my test. This is now showing me a much better picture – in fact – it seems the JavaScript code runs faster in IE than in FF:

It is important to compare other metrics than just overall test execution times when you want to compare cross browser performance

It is important to compare other metrics than just overall test execution times when you want to compare cross browser performance

Watch out for my How-To blog. In the meantime you can make yourself familiar with the free dynaTrace AJAX and the Premium Extensions.

 

Related reading:

  1. How to use your Selenium Tests for automated JavaScript/AJAX Performance Analysis With more than 3 million downloads, Selenium is the world’s...
  2. Antivirus Add-On for IE to cause 5 times slower page load times The dynaTrace AJAX Community has been really active lately –...
  3. dynaTrace AJAX Edition 3.0 released – FREE Next Generation Browser Diagnostics – PART I // With its latest release, dynaTrace updates its Product Suite...
  4. dynaTrace Firefox Closed Beta Program started We had quite a number of people showing interest in...
  5. Automate Cross-Browser Web 2.0 Performance Optimization: An E-Commerce Perspective This Wednesday, March 23rd at Noon ET / 9AM PT...

More Stories By Andreas Grabner

Andreas Grabner has been helping companies improve their application performance for 15+ years. He is a regular contributor within Web Performance and DevOps communities and a prolific speaker at user groups and conferences around the world. Reach him at @grabnerandi

CloudEXPO Stories
Headquartered in Plainsboro, NJ, Synametrics Technologies has provided IT professionals and computer systems developers since 1997. Based on the success of their initial product offerings (WinSQL and DeltaCopy), the company continues to create and hone innovative products that help its customers get more from their computer applications, databases and infrastructure. To date, over one million users around the world have chosen Synametrics solutions to help power their accelerated business or personal computing needs.
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to wait for long development cycles that produce software that is obsolete at launch. DevOps may be disruptive, but it is essential.
Sanjeev Sharma Joins November 11-13, 2018 @DevOpsSummit at @CloudEXPO New York Faculty. Sanjeev Sharma is an internationally known DevOps and Cloud Transformation thought leader, technology executive, and author. Sanjeev's industry experience includes tenures as CTO, Technical Sales leader, and Cloud Architect leader. As an IBM Distinguished Engineer, Sanjeev is recognized at the highest levels of IBM's core of technical leaders.
DXWorldEXPO LLC announced today that Kevin Jackson joined the faculty of CloudEXPO's "10-Year Anniversary Event" which will take place on November 11-13, 2018 in New York City. Kevin L. Jackson is a globally recognized cloud computing expert and Founder/Author of the award winning "Cloud Musings" blog. Mr. Jackson has also been recognized as a "Top 100 Cybersecurity Influencer and Brand" by Onalytica (2015), a Huffington Post "Top 100 Cloud Computing Experts on Twitter" (2013) and a "Top 50 Cloud Computing Blogger for IT Integrators" by CRN (2015). Mr. Jackson's professional career includes service in the US Navy Space Systems Command, Vice President J.P. Morgan Chase, Worldwide Sales Executive for IBM and NJVC Vice President, Cloud Services. He is currently part of a team responsible for onboarding mission applications to the US Intelligence Community cloud computing environment (IC ...