One-off page tests

One-off page tests are a great way to get fast feedback, whether it be in your terminal or as part of a Continuous integration or deployment pipeline.

Creating a page test

A page test can be created using the calibre test create command. This command will block until the test has been completed.

$ calibre test create --location=Sydney --device=iPhone8 --connection=good3G
✔ Test scheduled: b048525
⠧ Running test
See example command output on a iPhone 8 with a Good 3G connection. 🇦🇺 Sydney, Australia 11:20am 30-Apr-2019 Overall scores CATEGORY | SCORE Performance | 10 Best Practices | 64 Accessibility | 46 SEO | 100 Progressive Web App | 28 Timing Time to First Byte ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 151 ms Response time ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 3.85 sec First Contentful Paint ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 6.76 sec Time to Interactive ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 17.03 sec Number of requests: 177 Total Page transferred: 3.05 MB View the full report

Each single page test has a publically viewable secret link. View the full report of the test we created above.

To recall a list of previously run tests, use the calibre test list command. To show the results of a existing test, use the calibre test show command:

$ calibre test show b048525 --json
See example command output { "uuid": "b048525", "url": "", "formattedTestUrl": "", "status": "completed", "updatedAt": "2018-04-12T06:47:29Z", "metrics": [ { "name": "json_body_size_in_bytes", "label": "Total JSON size in bytes", "value": 124954 }, … ] }

Machine readable output

Every CLI command accepts a --json flag.

$ calibre test create --json --location=Sydney --device=iPhone8 --connection=good3G
See example command output { "uuid": "1fc209b", "url": "", "formattedTestUrl": "", "status": "completed", "updatedAt": "2018-04-11T23:12:58Z", "metrics": [ { "name": "speed_index", "label": "Speed Index", "value": 15283 }, … ] }

Further reference