sitespeedio / grunt-sitespeedio

Test performance budgets and performance best practice rules using sitespeed.io
http://www.sitespeed.io
Apache License 2.0
27 stars 8 forks source link

Not able to capture the html results for WebPageTest Mobile Agent #12

Open abhagupta opened 8 years ago

abhagupta commented 8 years ago

Hi,

I have 4 Webpagetest agents running, 3 of them are on Desktop running on Windows and 1 of them is in my Mac which is connected to mobile node wptdriver agent. When I run the tests on all the agents, I get results back from all the Desktop agents, but NOT from the Node agent. Please note that webpagetest is able to produce the JSON data for all of them but the htmls are not created from sitespeed io. My Gruntfile configuration is below

wptConfig: [{
                        location: "WebPage3:Safari",
                        connectivity: "Cable"
                    }, {
                        location: "WebPage2:Firefox",
                        connectivity: "3G"
                    },
                    {
                        location: "WebPage1:Chrome",
                        connectivity: "DSL"
                    },
                    {
                        location: "Example_Nexus4:Nexus4 - Chrome",
                        connectivity: "Wifi"
                    }],

while troubleshooting I could see the webpagetest data is retrieved and json is created under the intended 'results' folder. But I don't see any of the html files being created. Infact, the execution stops with an exception

error: Could not fetch data for aggregator: TTFBWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: BytesWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: FirstPaintWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: ImageSavingsWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: ImageTotalWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: LoadTimeWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: RenderWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: RequestsWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: ServerRTTWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: SpeedIndexWPT: err: [TypeError: Cannot call method 'toLowerCase' of undefined]
error: Could not fetch data for aggregator: userTiming: err: [TypeError: Cannot call method 'toLowerCase' of undefined]

which also stops the creation of Desktop agent reports. When I remove the Mobile node Agent, i.e

 {
                        location: "Example_Nexus4:Nexus4 - Chrome",
                        connectivity: "Wifi"
                    }

the html reports are created successfully. So it makes me think that the problem is with reading the mobile node agent's results.

Any help is appreciated regarding this issue.

Thanks

abhagupta commented 8 years ago

So I figured that it is the connectivity information which is missing from the JSON generated by Mobile Node agent test, and the file wptAggregator.js is looking for connectivity here: https://github.com/sitespeedio/sitespeed.io/blob/master/lib/aggregators/wptAggregator.js#L61 . I am still trying to find out whether there is something that I am missing or is it webpagetest node agent's issue.

soulgalore commented 8 years ago

H @abhagupta , it's WebPageTest that is missing sending that data. I've had the same thing for mobile agents. Couldn't find the correlating issue in sitespeed.io though. I'll create one later today and lets get this fixed.

Best Peter

abhagupta commented 8 years ago

Thank you @soulgalore . I have created an issue https://github.com/marcelduran/webpagetest-api/issues/54 . Please add in any other valuable information to get this fixed.