What causes a test to fail?
SpeedCurve only records metrics for tests where the base request returns an HTTP 200 response. Any other responses are considered errors and will cause the test to fail.
Tests can also fail if the page takes too long to load.
One of the most common causes of test failures is the SpeedCurve test agents being blocked by bot managers or firewall rules.
Identifying a failed test
There are several ways that a failed test can appear in SpeedCurve. In the Site dashboard a failed test is indicated by a red circle in the charts.
In the Deploy dashboard a failed test will display an error message as well as having all of its metrics either unavailable or set to zero.
On the Test Result page a failed test will not display the waterfall chart or any scores. It will show an error message along with any known information about the test result.
Preventing SpeedCurve tests from being blocked
The easiest way to prevent SpeedCurve tests from being blocked by your bot manager or firewall rules is to add the SpeedCurve user-agent to a safelist. This can be done by allowing all HTTP traffic with a user-agent header containing the string "PTST/SpeedCurve".
For other methods, see our article on testing private websites.
Preventing Lighthouse tests from being blocked
Lighthouse uses a different user-agent string from regular SpeedCurve tests. It can be unblocked by allowing all HTTP traffic with a user-agent header containing the string "Chrome-Lighthouse".
Debugging failed Lighthouse tests
Lighthouse tests can fail for many of the same reasons as regular SpeedCurve tests. One important thing to note about Lighthouse is that it doesn't support WebPageTest scripting.
If you find an issue with a Lighthouse test, we recommend reporting it to the Lighthouse issue tracker.
Debugging scripted tests
See our article on debugging WebPageTest scripts.