sitespeedio / sitespeed.io

sitespeed.io is an open-source tool for comprehensive web performance analysis, enabling you to test, monitor, and optimize your website’s speed using real browsers in various environments.
https://www.sitespeed.io/
MIT License
4.75k stars 603 forks source link

set cookie error when using 9.8.0 #2561

Closed kmaqsudi closed 5 years ago

kmaqsudi commented 5 years ago

Not getting this error when I switch back to 9.6.

ERROR: TypeError: cookie.split is not a function at ChromeDevtoolsProtocol.setCookies (/usr/src/app/node_modules/browsertime/lib/chrome/webdriver/chromeDevtoolsProtocol.js:131:26) at ChromeDelegate.beforeEachURL (/usr/src/app/node_modules/browsertime/lib/chrome/webdriver/chromeDelegate.js:130:28) at Measure.start (/usr/src/app/node_modules/browsertime/lib/core/engine/command/measure.js:182:35) at process._tickCallback (internal/process/next_tick.js:68:7)

(node:17) UnhandledPromiseRejectionWarning: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 31) (node:17) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. (node:17) UnhandledPromiseRejectionWarning: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 32) (node:17) UnhandledPromiseRejectionWarning: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 33) (node:17) UnhandledPromiseRejectionWarning: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 34) (node:17) UnhandledPromiseRejectionWarning: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 35) [2019-08-03 18:40:17] ERROR: TypeError: /usr/src/app/lib/plugins/html/templates/url/cpu/index.pug:1

1| - const browsertime = medianRun ? (pageInfo.data.browsertime ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1]: undefined) : pageInfo.data.browsertime.run 2| a 3| h2 CPU 4|

Cannot read property 'run' of undefined at eval (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :3988:179) at template (eval at wrap (/usr/src/app/node_modules/pug-runtime/wrap.js:6:10), :5311:201) at Object.renderTemplate (/usr/src/app/lib/plugins/html/renderer.js:27:37) at HTMLBuilder._renderUrlRunPage (/usr/src/app/lib/plugins/html/htmlBuilder.js:391:16) at HTMLBuilder.render (/usr/src/app/lib/plugins/html/htmlBuilder.js:356:16) (node:17) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 31) (node:17) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 32) (node:17) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 33) (node:17) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 34) (node:17) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 35)

soulgalore commented 5 years ago

Hi @kmaqsudi can you show me how you run (I don't need the URL you are testing just the parameters) so I can reproduce and fix it?

Best Peter

soulgalore commented 5 years ago

Ah I tested now, I've missed adding support for multiple cookies, let me fix that.

kmaqsudi commented 5 years ago

docker run \ --rm \ --name=sitespeed-bbby \ -v "$(pwd)":/sitespeed.io \ sitespeedio/sitespeed.io:9.6.0-plus1 \ --cookie emailsignupapifeo=10 \ --cookie SDDUZ=07083 \ --cookie SDDCZ=07083 \ --slack.hookUrl https://hooks.slack.com/services/\ --webpagetest.host www.webpagetest.org \ --webpagetest.key A.testtesttest \ --webpagetest.location Dulles:Chrome \ --webpagetest.file wpt.txt \ --webpagetest.timeline \ --webpagetest.runs 1 \ --lighthouse.extends lighthouse:default \ --lighthouse.settings.emulatedFormFactor desktop \ --gcs.projectId prod-monitoring \ --gcs.bucketname test\ --gcs.key ecomm-prod-monitoring-key.json \ --resultBaseURL https://storage.googleapis.com/ \ --gcs.removeLocalResult true \ --firstParty ".sometestdomain.com" \ --chrome.timeline \ --chrome.collectLongTasks \ --visualMetrics \ --visualElements \ --cpu \ --speedIndex \ --thirdParty.cpu \ bbby-urls.txt \ --graphite.host=10.160.48.92 \ --graphite.httpPort 80 \ --graphite.namespace=sitespeed_io

soulgalore commented 5 years ago

I've fixed this in Browsertime 5.7.3 just now. It was introduced in 5.6.0 when we switched to using Chrome Devtools Protocol to set cookies for Chrome (it happens if you try to set 2 or more cookies). I'll push a new release of sitespeed.io tomorrow with that fix.

kmaqsudi commented 5 years ago

Thank you.

soulgalore commented 5 years ago

I've had some time and just pushed 9.8.1 with the fix, it will be at the Docker hub in a couple of minutes.

kmaqsudi commented 5 years ago

This is now resolved. Thanks for the quick response.