I need to execute up to 1000 runs of a specific URL (and export these data afterwards) to analyse its page load time trend with different network conditions using 2 different browsers (Chrome, Firefox). What's the best solution to automate this process? Any help here will be greatly appreciated.
Automated page load solution for multiple runs using browser
78 Views Asked by ada10 AtThere are 2 best solutions below
On
I do not know enough about you and what you are capable of doing your self. Your skill set.
Try GTmetrix and WebpageTest.
Do you have the skill set to use an API and then compile the results.
I had written an app in PHP to get the Webpage test results and then compile the results into human readable form. It's not simple. They returned a huge CVS file with more data than you could ever possibly need. Now they return a JSON result file. With so many more features than when I used them in 2013.
I think WebPageTest is the most comprehensive (they were in 2013) and has a fair amount of desktop and mobile options plus network bandwidths and server locations.
If you do not have the skill set then you need hire someone that knows how to do this type of stuff.
These were the stats I was most interested in:
- firstPaint
- render
- loadTime
- fullyLoaded
- VisuallyCompleteDT
- bytesIn
- requests
- domElements
- DNS_Loookups
- Connections
- Redirects
But that's the simple stuff. The CSV result had every detail on every HTTP request the page made.
And the waterfall.
Back in 2013 when I wrote a WebpageTest app there were 18 Browsers and 38 server locations (shown below).
The choices I copied from my code:
<option value="IE6">IE 6</option>
<option value="IE7">IE 7</option>
<option value="IE8">IE 8</option>
<option selected="" value="IE9">IE 9</option>
<option value="IE10">IE 10</option>
<option value="Chrome">Chrome</option>
<option value="Canary">Canary</option>
<option value="Firefox">Firefox</option>
<option value="FirefoxNightly">Firefox Nightly</option>
<option value="Safari">Safari (Windows)</option>
<option value="dynaTraceIE 7">dynaTrace IE 7</option>
<option value="dynaTraceIE 8">dynaTrace IE 8</option>
<option value="ChromeFrame IE6">Chrome Frame IE6</option>
<option value="Chrome- Replay">Chrome - Replay</option>
<option value="iPhone4 iOS 5.1">iPhone 4 iOS 5.1</option>
<option value="NexusS Android 2.3">Nexus S Android 2.3</option>
And there were 38 server locations:
<option value="Dulles_Thinkpad_VA">Dulles - Thinkpad T430 (IE 10,Chrome,Firefox,Safari)</option>
<option value="Asheville_NC">Asheville, NC USA (IE8,Chrome,Firefox)</option>
<option value="Miami_FL">Miami, FL USA (IE8, Chrome,Firefox)</option>
<option value="Chicago_IL">Chicago, IL USA (IE9-10, Chrome,Firefox)</option>
<option value="KansasCity_MO">Kansas City, MO USA (IE8, Chrome)</option>
<option value="Denver_CO">Denver, Colorado (IE 8, Chrome, Firefox, Safari)</option>
<option value="Phoenix_AZ">Phoenix, AZ (IE 10, Chrome, Firefox)</option>
<option value="Boardman_OR">Boardman, Oregon (IE 9, Chrome, Firefox, Safari)</option>
<option value="SanJose_CA">San Jose, CA USA (IE 9,Chrome,Firefox)</option>
<option value="LosAngeles_CA">Los Angeles, CA USA (IE 7,8,9, Chrome)</option>
<option value="Montreal_Canada">Montreal, Canada (IE 8,Chrome,Firefox)</option>
<option value="Toronto_Canada">Toronto, Canada (IE 8)</option></optgroup><optgroup label="South America"><option value="Argentina">Buenos Aires, Argentina (IE 8,Firefox,Chrome)</option>
<option value="SaoPaulo_BR">São Paulo, Brasil (IE 8,9,Chrome,Firefox)</option></optgroup><optgroup label="Europe"><option value="Dublin_IL">Dublin, Ireland (IE 9,Chrome,Firefox,Safari)</option>
<option value="London_UK">London, UK (IE 7-8)</option>
<option value="Madrid_Telefonica">Madrid, Spain (IE8)</option>
<option value="Paris_FR">Paris, FR (IE 7,8, Chrome)</option>
<option value="Brussels_BE">Brussels, BE (IE 9,Chrome,Firefox,Safari)</option>
<option value="Amsterdam_NL">Amsterdam, NL (IE 7-9, Chrome, Firefox)</option>
<option value="Amsterdam_Godaddy">Amsterdam, NL - Go Daddy (IE 10, Chrome, Firefox)</option>
<option value="Amsterdam_IISpeed_Loc">Amsterdam, NL - IISpeed (IE 10,Chrome,Firefox,Safari)</option>
<option value="Vianen_NL">Vianen, NL (IE 8, Chrome, Firefox)</option>
<option value="Geneva">Geneva, Switzerland (IE 8)</option>
<option value="Frankfurt_DE">Frankfurt, Germany (IE 7-9,Chrome,Firefox)</option>
<option value="Falkenstein_DE">Falkenstein, Germany (IE 9,Chrome,Firefox,Safari)</option>
<option value="Stockholm_SE">Stockholm, Sweden (IE 8,Chrome,Firefox,Safari)</option>
<option value="Romania_EU">Bucharest, Romania (IE 8,Chrome,Firefox)</option>
<option value="Israel">Israel - Efficens (IE 8, Chrome)</option>
<option value="Israel_Petah">Israel - Interhost (IE 10,Chrome,Firefox,Safari)</option>
<option value="Moscow_Loc">Moscow, Russia (IE 8,Chrome,Firefox)</option>
<option value="StPetersburg_Loc">Saint Petersburg, Russia (IE 8,Chrome,Firefox)</option></optgroup><optgroup label="Asia"><option value="Indore_IN">Indore, M.P., India (IE 9,Chrome,Firefox,Safari)</option>
<option value="Delhi">Delhi, India (IE 8,Chrome,Firefox)</option>
<option value="Singapore">Singapore (IE 8, 10, Chrome, Firefox)</option>
<option value="HongKong_CN">Hong Kong, China (IE 8,Chrome,Firefox)</option>
<option value="China_Loc">Jiangsu, China (IE 7,Chrome,Firefox)</option>
<option value="Seoul_Korea">Seoul, Korea (IE 7-8)</option>
<option value="Tokyo_Loc">Tokyo, Japan (IE 9,Chrome,Firefox)</option></optgroup><optgroup label="Oceania"><option value="Sydney_AU">Sydney, Australia (IE 7,9,Chrome,Firefox)</option>
<option value="Wellington_NZ">Wellington, NZ (IE 9,Chrome,Firefox)</option>
<option value="CAM">Cambridge, MA (Android, iOS)</option>
I would suggest going for open-source load testing tools like:
I would recommend Locust which is an easy to use UI based tool.
Hope this helps