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.72k stars 601 forks source link

preUrl and preWarmServer don't inherit headers #4258

Open LeanderFS opened 3 weeks ago

LeanderFS commented 3 weeks ago

Have you read the documentation?

URL

https://httpbin.org/basic-auth/foo/bar

What are you trying to accomplish

While trying to test an url behind basic auth, I noticed that preWarmServer doesn't inherit set headers and there doesn't seem to be a way to manually specify headers for pre-warming requests.

What browser did you use?

Chrome, Firefox, Edge

How to reproduce

Without `--preWarmServer` the following test works: `docker run sitespeedio/sitespeed.io:34.9.0 --browsertime.requestheader "Authorization:Basic Zm9vOmJhcg==" https://httpbin.org/basic-auth/foo/bar`

Adding `--preWarmServer` to the same run results in a failed `pre-testing` step.
`docker run sitespeedio/sitespeed.io:34.9.0 --browsertime.requestheader "Authorization:Basic Zm9vOmJhcg==" --preWarmServer https://httpbin.org/basic-auth/foo/bar

Log output

Google Chrome 127.0.6533.72 
Mozilla Firefox 128.0
Microsoft Edge 126.0.2592.113 
[2024-08-21 10:51:41] INFO: [sitespeedio] Versions OS: linux 6.10.5-arch1-1 nodejs: v20.15.1 sitespeed.io: 34.9.0 browsertime: 22.8.0 coach: 8.0.2
[2024-08-21 10:51:41] DEBUG: [sitespeedio] Running with options: {
  "_": [
    "https://httpbin.org/basic-auth/foo/bar"
  ],
  "browsertime": {
    "requestheader": "Authorization:Basic Zm9vOmJhcg==",
    "preWarmServer": true,
    "pre-warm-server": true,
    "docker": "true",
    "xvfb": true,
    "browser": "chrome",
    "iterations": 3,
    "xvfbParams": {
      "display": 99
    },
    "xvfb-params": {
      "display": 99
    },
    "spa": false,
    "debug": false,
    "limitedRunData": true,
    "limited-run-data": true,
    "android": {
      "gnirehtet": false,
      "rooted": false,
      "batteryTemperatureWaitTimeInSeconds": 120,
      "battery-temperature-wait-time-in-seconds": 120,
      "verifyNetwork": false,
      "verify-network": false
    },
    "gnirehtet": false,
    "connectivity": {
      "profile": "native",
      "engine": "external"
    },
    "timeouts": {
      "pageCompleteCheck": 120000,
      "page-complete-check": 120000
    },
    "pageCompleteWaitTime": 5000,
    "page-complete-wait-time": 5000,
    "pageCompleteCheckInactivity": false,
    "page-complete-check-inactivity": false,
    "pageCompleteCheckPollTimeout": 1500,
    "page-complete-check-poll-timeout": 1500,
    "pageCompleteCheckStartWait": 500,
    "page-complete-check-start-wait": 500,
    "pageCompleteCheckNetworkIdle": false,
    "page-complete-check-network-idle": false,
    "pageLoadStrategy": "none",
    "page-load-strategy": "none",
    "viewPort": "1366x708",
    "view-port": "1366x708",
    "visualMetricsPortable": true,
    "visual-metrics-portable": true,
    "scriptInput": {
      "longTask": 50
    },
    "script-input": {
      "long-task": 50
    },
    "videoParams": {
      "framerate": 30,
      "crf": 23,
      "addTimer": true,
      "convert": true,
      "keepOriginalVideo": false,
      "filmstripFullSize": false,
      "filmstripQuality": 75,
      "createFilmstrip": true,
      "thumbsize": 400
    },
    "video-params": {
      "framerate": 30,
      "crf": 23,
      "add-timer": true,
      "convert": true,
      "keep-original-video": false,
      "filmstrip-full-size": false,
      "filmstrip-quality": 75,
      "create-filmstrip": true,
      "thumbsize": 400
    },
    "cjs": false,
    "tcpdump": false,
    "firefox": {
      "includeResponseBodies": "none",
      "include-response-bodies": "none",
      "memoryReport": false,
      "memory-report": false,
      "memoryReportParams": {
        "minizeFirst": false
      },
      "memory-report-params": {
        "minize-first": false
      },
      "geckoProfiler": false,
      "gecko-profiler": false,
      "geckoProfilerParams": {
        "features": "js,stackwalk,leaf",
        "threads": "GeckoMain,Compositor,Renderer",
        "bufferSize": 1000000
      },
      "gecko-profiler-params": {
        "features": "js,stackwalk,leaf",
        "threads": "GeckoMain,Compositor,Renderer",
        "buffer-size": 1000000
      },
      "powerConsumption": false,
      "power-consumption": false,
      "windowRecorder": false,
      "window-recorder": false,
      "disableSafeBrowsing": true,
      "disable-safe-browsing": true,
      "disableTrackingProtection": true,
      "disable-tracking-protection": true
    },
    "chrome": {
      "timeline": false,
      "cdp": {
        "performance": true
      },
      "ignoreCertificateErrors": true,
      "ignore-certificate-errors": true,
      "includeResponseBodies": "none",
      "include-response-bodies": "none"
    },
    "androidRooted": false,
    "android-rooted": false,
    "androidBatteryTemperatureWaitTimeInSeconds": 120,
    "android-battery-temperature-wait-time-in-seconds": 120,
    "androidVerifyNetwork": false,
    "android-verify-network": false,
    "safari": {
      "ios": false,
      "useTechnologyPreview": false,
      "use-technology-preview": false,
      "useSimulator": false,
      "use-simulator": false
    },
    "headless": false,
    "iqr": false,
    "preWarmServerWaitTime": 5000,
    "pre-warm-server-wait-time": 5000,
    "screenshotLCP": true,
    "screenshot-l-c-p": true,
    "screenshotLS": true,
    "screenshot-l-s": true,
    "screenshot": true,
    "screenshotParams": {
      "type": "png",
      "png": {
        "compressionLevel": 6
      },
      "jpg": {
        "quality": 80
      },
      "maxSize": 2000
    },
    "screenshot-params": {
      "type": "png",
      "png": {
        "compression-level": 6
      },
      "jpg": {
        "quality": 80
      },
      "max-size": 2000
    },
    "video": true,
    "visualMetrics": true
  },
  "r": "Authorization:Basic Zm9vOmJhcg==",
  "requestheader": "Authorization:Basic Zm9vOmJhcg==",
  "preWarmServer": true,
  "pre-warm-server": true,
  "verbose": 1,
  "v": 1,
  "xvfb": true,
  "debugMessages": false,
  "debug-messages": false,
  "b": "chrome",
  "browser": "chrome",
  "n": 3,
  "xvfbParams": {
    "display": 99
  },
  "xvfb-params": {
    "display": 99
  },
  "spa": false,
  "debug": false,
  "gnirehtet": false,
  "c": "native",
  "connectivity": {
    "engine": "external"
  },
  "maxLoadTime": 120000,
  "max-load-time": 120000,
  "pageCompleteWaitTime": 5000,
  "page-complete-wait-time": 5000,
  "pageCompleteCheckInactivity": false,
  "page-complete-check-inactivity": false,
  "pageCompleteCheckPollTimeout": 1500,
  "page-complete-check-poll-timeout": 1500,
  "pageCompleteCheckStartWait": 500,
  "page-complete-check-start-wait": 500,
  "pageCompleteCheckNetworkIdle": false,
  "page-complete-check-network-idle": false,
  "pageLoadStrategy": "none",
  "page-load-strategy": "none",
  "viewPort": "1366x708",
  "view-port": "1366x708",
  "minLongTaskLength": 50,
  "min-long-task-length": 50,
  "videoParams": {
    "framerate": 30,
    "crf": 23,
    "addTimer": true,
    "convert": true,
    "keepOriginalVideo": false,
    "filmstripFullSize": false,
    "filmstripQuality": 75,
    "createFilmstrip": true,
    "thumbsize": 400
  },
  "fps": 30,
  "video-params": {
    "framerate": 30,
    "crf": 23,
    "add-timer": true,
    "convert": true,
    "keep-original-video": false,
    "filmstrip-full-size": false,
    "filmstrip-quality": 75,
    "create-filmstrip": true,
    "thumbsize": 400
  },
  "filmstrip": {
    "showAll": false,
    "show-all": false
  },
  "cjs": false,
  "tcpdump": false,
  "firefox": {
    "includeResponseBodies": "none",
    "include-response-bodies": "none",
    "memoryReport": false,
    "memory-report": false,
    "memoryReportParams": {
      "minizeFirst": false
    },
    "memory-report-params": {
      "minize-first": false
    },
    "geckoProfiler": false,
    "gecko-profiler": false,
    "geckoProfilerParams": {
      "features": "js,stackwalk,leaf",
      "threads": "GeckoMain,Compositor,Renderer",
      "bufferSize": 1000000
    },
    "gecko-profiler-params": {
      "features": "js,stackwalk,leaf",
      "threads": "GeckoMain,Compositor,Renderer",
      "buffer-size": 1000000
    },
    "powerConsumption": false,
    "power-consumption": false,
    "windowRecorder": false,
    "window-recorder": false,
    "disableSafeBrowsing": true,
    "disable-safe-browsing": true,
    "disableTrackingProtection": true,
    "disable-tracking-protection": true
  },
  "chrome": {
    "timeline": false,
    "cdp": {
      "performance": true
    },
    "ignoreCertificateErrors": true,
    "ignore-certificate-errors": true,
    "includeResponseBodies": "none",
    "include-response-bodies": "none"
  },
  "androidRooted": false,
  "android-rooted": false,
  "androidBatteryTemperatureWaitTimeInSeconds": 120,
  "android-battery-temperature-wait-time-in-seconds": 120,
  "androidVerifyNetwork": false,
  "android-verify-network": false,
  "safari": {
    "ios": false,
    "useTechnologyPreview": false,
    "use-technology-preview": false,
    "useSimulator": false,
    "use-simulator": false
  },
  "headless": false,
  "crawler": {
    "ignoreRobotsTxt": false,
    "ignore-robots-txt": false
  },
  "scp": {
    "port": 22,
    "removeLocalResult": true,
    "remove-local-result": true
  },
  "grafana": {
    "port": 80,
    "annotationScreenshot": false,
    "annotation-screenshot": false
  },
  "graphite": {
    "port": 2003,
    "httpPort": 8080,
    "http-port": 8080,
    "proxyPath": "",
    "proxy-path": "",
    "namespace": "sitespeed_io.default",
    "includeQueryParams": false,
    "include-query-params": false,
    "arrayTags": true,
    "array-tags": true,
    "annotationScreenshot": false,
    "annotation-screenshot": false,
    "sendAnnotation": true,
    "send-annotation": true,
    "statsd": false,
    "addSlugToKey": true,
    "add-slug-to-key": true,
    "messages": [
      "pageSummary",
      "summary"
    ]
  },
  "influxdb": {
    "protocol": "http",
    "port": 8086,
    "version": 1,
    "database": "sitespeed",
    "tags": "category=default",
    "includeQueryParams": false,
    "include-query-params": false,
    "groupSeparator": "_",
    "group-separator": "_",
    "annotationScreenshot": false,
    "annotation-screenshot": false
  },
  "screenshotLCP": true,
  "screenshot-l-c-p": true,
  "screenshotLS": true,
  "screenshot-l-s": true,
  "screenshot": {
    "type": "png",
    "png": {
      "compressionLevel": 6,
      "compression-level": 6
    },
    "jpg": {
      "quality": 80
    },
    "maxSize": 2000,
    "max-size": 2000
  },
  "metrics": {
    "list": false,
    "filterList": false,
    "filter-list": false
  },
  "matrix": {
    "messages": [
      "error",
      "budget"
    ]
  },
  "slack": {
    "userName": "Sitespeed.io",
    "user-name": "Sitespeed.io",
    "type": "all",
    "limitWarning": 90,
    "limit-warning": 90,
    "limitError": 80,
    "limit-error": 80,
    "limitMetric": "coachScore",
    "limit-metric": "coachScore"
  },
  "s3": {
    "removeLocalResult": false,
    "remove-local-result": false
  },
  "gcs": {
    "public": false,
    "gzip": false,
    "removeLocalResult": false,
    "remove-local-result": false
  },
  "crux": {
    "enable": true,
    "formFactor": "ALL",
    "form-factor": "ALL",
    "collect": "ALL"
  },
  "html": {
    "showAllWaterfallSummary": false,
    "show-all-waterfall-summary": false,
    "fetchHARFiles": false,
    "fetch-h-a-r-files": false,
    "logDownloadLink": false,
    "log-download-link": false,
    "topListSize": 10,
    "top-list-size": 10,
    "showScript": false,
    "show-script": false,
    "pageSummaryMetrics": [
      "transferSize.total",
      "requests.total",
      "thirdParty.requests",
      "transferSize.javascript",
      "transferSize.css",
      "transferSize.image",
      "score.performance"
    ],
    "page-summary-metrics": [
      "transferSize.total",
      "requests.total",
      "thirdParty.requests",
      "transferSize.javascript",
      "transferSize.css",
      "transferSize.image",
      "score.performance"
    ],
    "summaryBoxes": [
      "score.score",
      "score.accessibility",
      "score.bestpractice",
      "score.privacy",
      "score.performance",
      "timings.firstPaint",
      "timings.firstContentfulPaint",
      "timings.fullyLoaded",
      "timings.pageLoadTime",
      "timings.largestContentfulPaint",
      "timings.FirstVisualChange",
      "timings.LastVisualChange",
      "timings.SpeedIndex",
      "timings.PerceptualSpeedIndex",
      "timings.VisualReadiness",
      "timings.VisualComplete",
      "timings.backEndTime",
      "googleWebVitals.cumulativeLayoutShift",
      "requests.total",
      "requests.javascript",
      "requests.css",
      "requests.image",
      "transferSize.total",
      "transferSize.html",
      "transferSize.javascript",
      "contentSize.javascript",
      "transferSize.css",
      "transferSize.image",
      "thirdParty.transferSize",
      "thirdParty.requests",
      "axe.critical",
      "axe.serious",
      "axe.minor",
      "axe.moderate",
      "cpu.longTasksTotalDuration",
      "cpu.longTasks",
      "cpu.totalBlockingTime",
      "cpu.maxPotentialFid",
      "sustainable.totalCO2",
      "sustainable.co2PerPageView",
      "sustainable.co2FirstParty",
      "sustainable.co2ThirdParty"
    ],
    "summary-boxes": [
      "score.score",
      "score.accessibility",
      "score.bestpractice",
      "score.privacy",
      "score.performance",
      "timings.firstPaint",
      "timings.firstContentfulPaint",
      "timings.fullyLoaded",
      "timings.pageLoadTime",
      "timings.largestContentfulPaint",
      "timings.FirstVisualChange",
      "timings.LastVisualChange",
      "timings.SpeedIndex",
      "timings.PerceptualSpeedIndex",
      "timings.VisualReadiness",
      "timings.VisualComplete",
      "timings.backEndTime",
      "googleWebVitals.cumulativeLayoutShift",
      "requests.total",
      "requests.javascript",
      "requests.css",
      "requests.image",
      "transferSize.total",
      "transferSize.html",
      "transferSize.javascript",
      "contentSize.javascript",
      "transferSize.css",
      "transferSize.image",
      "thirdParty.transferSize",
      "thirdParty.requests",
      "axe.critical",
      "axe.serious",
      "axe.minor",
      "axe.moderate",
      "cpu.longTasksTotalDuration",
      "cpu.longTasks",
      "cpu.totalBlockingTime",
      "cpu.maxPotentialFid",
      "sustainable.totalCO2",
      "sustainable.co2PerPageView",
      "sustainable.co2FirstParty",
      "sustainable.co2ThirdParty"
    ],
    "darkMode": false,
    "dark-mode": false,
    "homeurl": "https://www.sitespeed.io/"
  },
  "darkMode": false,
  "dark-mode": false,
  "summary": false,
  "summary-detail": false,
  "summaryDetail": false,
  "sustainable": {
    "model": "1byte",
    "modelVersion": 3,
    "model-version": 3,
    "disableHosting": false,
    "disable-hosting": false,
    "useGreenWebHostingAPI": false,
    "use-green-web-hosting-a-p-i": false
  },
  "api": {
    "action": "addAndGetResult",
    "silent": false
  },
  "compare": {
    "saveBaseline": false,
    "save-baseline": false,
    "testType": "mannwhitneyu",
    "test-type": "mannwhitneyu",
    "alternative": "greater",
    "wilcoxon": {
      "correction": false,
      "zeroMethod": "zsplit",
      "zero-method": "zsplit"
    },
    "mannwhitneyu": {
      "useContinuity": false,
      "use-continuity": false,
      "method": "auto"
    }
  },
  "mobile": false,
  "gzipHAR": false,
  "gzip-h-a-r": false,
  "copyLatestFilesToBase": false,
  "copy-latest-files-to-base": false,
  "utc": false,
  "logToFile": false,
  "log-to-file": false,
  "useHash": false,
  "use-hash": false,
  "multi": false,
  "disableAPI": false,
  "disable-a-p-i": false,
  "android": false,
  "$0": "/usr/src/app/bin/sitespeed.js",
  "explicitOptions": {
    "_": [],
    "browsertime": {
      "requestheader": "Authorization:Basic Zm9vOmJhcg==",
      "preWarmServer": true
    },
    "preWarmServer": true,
    "verbose": "https://httpbin.org/basic-auth/foo/bar",
    "$0": "/usr/src/app/bin/sitespeed.js"
  },
  "urls": [
    "https://httpbin.org/basic-auth/foo/bar"
  ],
  "urlsMetaData": {}
}
[2024-08-21 10:51:41] DEBUG: [browsertime] Running with options: {
  "scripts": [],
  "iterations": 1,
  "delay": 0,
  "videoParams": {},
  "browser": "chrome",
  "xvfb": true,
  "docker": "true",
  "headless": false
}
[2024-08-21 10:51:41] DEBUG: [browsertime] Preparing port 9222 for devtools on Chrome/Edge
[2024-08-21 10:51:41] INFO: [plugin.browsertime] Start pre-testing/warming https://httpbin.org/basic-auth/foo/bar
[2024-08-21 10:51:41] INFO: [browsertime] Running tests using Chrome - 1 iteration(s)
[2024-08-21 10:51:41] DEBUG: [browsertime.chrome] Setting the following Selenium options: {"map_":{},"options_":{"prefs":{"profile.password_manager_enable":false,"profile.default_content_setting_values.notifications":2,"credentials_enable_service":false},"args":["--no-sandbox","--disable-setuid-sandbox","--disable-gpu","--disable-features=AutofillServerCommunication,CalculateNativeWinOcclusion,HeavyAdPrivacyMitigations,InterestFeedContentSuggestions,MediaRouter,OfflinePagesPrefetching,OptimizationHints,SidePanelPinning,Translate,msAutofillEdgeCoupons,msShoppingTrigger,msEdgeShoppingUI,msEntityExtraction,msEntityExtractionProactive,msWebAssist","--window-position=0,0","--window-size=1366,768","--host-resolver-rules=\"MAP cache.pack.google.com 127.0.0.1,MAP clients1.google.com 127.0.0.1,MAP update.googleapis.com 127.0.0.1,MAP content-autofill.googleapis.com 127.0.0.1,MAP redirector.gvt1.com 127.0.0.1,MAP laptop-updates.brave.com 127.0.0.1,MAP offlinepages-pa.googleapis.com 127.0.0.1,MAP edge.microsoft.com 127.0.0.1,MAP optimizationguide-pa.googleapis.com 127.0.0.1\"","--allow-running-insecure-content","--disable-background-networking","--disable-background-timer-throttling","--disable-backgrounding-occluded-windows","--disable-breakpad","--disable-client-side-phishing-detection","--disable-component-update","--disable-default-apps","--disable-dev-shm-usage","--disable-domain-reliability","--disable-fetching-hints-at-navigation-start","--disable-hang-monitor","--disable-ipc-flooding-protection","--disable-prompt-on-repost","--disable-renderer-backgrounding","--disable-search-engine-choice-screen","--disable-site-isolation-trials","--disable-sync","--metrics-recording-only","--mute-audio","--new-window","--no-default-browser-check","--no-first-run","--password-store=basic","--use-mock-keychain","--remote-debugging-port=9222","--disable-features=ChromeWhatsNewUI"],"perfLoggingPrefs":{"enableNetwork":true,"enablePage":true},"excludeSwitches":["enable-automation"]}}
[2024-08-21 10:51:42] INFO: [browsertime.command.measure] Testing url https://httpbin.org/basic-auth/foo/bar iteration 1
[2024-08-21 10:51:42] DEBUG: [browsertime] Using window.location to navigate
[2024-08-21 10:51:43] DEBUG: [browsertime.chrome.cdp] Could not load document:net::ERR_INVALID_AUTH_CREDENTIALS
[2024-08-21 10:51:44] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:49] INFO: [browsertime] URL failed to load, trying 5 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:50] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:50] INFO: [browsertime] URL failed to load, trying 4 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:51] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:51] INFO: [browsertime] URL failed to load, trying 3 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:52] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:52] INFO: [browsertime] URL failed to load, trying 2 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:53] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:53] INFO: [browsertime] URL failed to load, trying 1 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:54] DEBUG: [browsertime] Waiting for script pageCompleteCheck at most 60000 ms
[2024-08-21 10:51:54] INFO: [browsertime] URL failed to load, trying 0 more time(s): Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
[2024-08-21 10:51:54] ERROR: [browsertime] Could not load URL https://httpbin.org/basic-auth/foo/bar UrlLoadError: Could not load https://httpbin.org/basic-auth/foo/bar is the web page down?
    at SeleniumRunner.loadAndWait (file:///usr/src/app/node_modules/browsertime/lib/core/seleniumRunner.js:314:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Measure.start (file:///usr/src/app/node_modules/browsertime/lib/core/engine/command/measure.js:340:9)
    at async file:///usr/src/app/node_modules/browsertime/lib/core/engine/run.js:4:7
    at async Iteration.run (file:///usr/src/app/node_modules/browsertime/lib/core/engine/iteration.js:162:9)
    at async Engine.runByScript (file:///usr/src/app/node_modules/browsertime/lib/core/engine/index.js:308:20)
    at async preWarmServer (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:63:3)
    at async analyzeUrl (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:190:5)
    at async BrowsertimePlugin.processMessage (file:///usr/src/app/lib/plugins/browsertime/index.js:173:26)
[2024-08-21 10:51:54] INFO: [browsertime.command.measure] Mark run as failure with message: Failed to load https://httpbin.org/basic-auth/foo/bar
[2024-08-21 10:51:54] ERROR: [browsertime] UrlLoadError: Failed to load https://httpbin.org/basic-auth/foo/bar
    at SeleniumRunner.loadAndWait (file:///usr/src/app/node_modules/browsertime/lib/core/seleniumRunner.js:356:19)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Measure.start (file:///usr/src/app/node_modules/browsertime/lib/core/engine/command/measure.js:340:9)
    at async file:///usr/src/app/node_modules/browsertime/lib/core/engine/run.js:4:7
    at async Iteration.run (file:///usr/src/app/node_modules/browsertime/lib/core/engine/iteration.js:162:9)
    at async Engine.runByScript (file:///usr/src/app/node_modules/browsertime/lib/core/engine/index.js:308:20)
    at async preWarmServer (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:63:3)
    at async analyzeUrl (file:///usr/src/app/lib/plugins/browsertime/analyzer.js:190:5)
    at async BrowsertimePlugin.processMessage (file:///usr/src/app/lib/plugins/browsertime/index.js:173:26)
[2024-08-21 10:51:54] INFO: [browsertime] https://httpbin.org/basic-auth/foo/bar 
[2024-08-21 10:51:54] INFO: [plugin.browsertime] Pre-testing done, closed the browser.
soulgalore commented 3 weeks ago

Hi @LeanderFS thanks for creating the issue. I think you are right we don't propagate those today. The reason from the beginning was both Chrome and Firefox used an extension to add headers, and that made it harder. Today Chrome uses CDP and Firefox WebDriver BiDi so it should be possible. At least preWarmServer should be easy I think, I'll have go tonight and see if I can fix it.