The problem
When someone asks how healthy the checkout page is right now, answering by hand means the Performance panel for web vitals, the Network panel to count slow calls, the Console to count errors, and the Application panel for cookies and storage, all written down by hand. Five panels, a few minutes, and you have measured one page once. Across ten pages or on every build, it simply does not happen.
The idea
A full body scan, not a photo. One pass returns the complete internal read of the page, the part a screenshot will never show.
What you will get back
- Server and render timing, TTFB and FCP
- The number of requests and how many were slow
- The console error count
- The number of cookies
How it works
The same checkpoints, in extract mode. Instead of asserting a value you say store it as a name, and Kane CLI captures the live value into a variable. Name each variable distinctly from its metric so the extractor stays clean.
Run it now
kane-cli --tui
# then paste this objective:
Go to https://en.wikipedia.org/wiki/Software_testing and let the page fully load.
Store the Time to First Byte as 'ttfb'.
Store the First Contentful Paint as 'fcp'.
Store the number of network requests as 'requests'.
Store the number of requests slower than 1000 ms as 'slow_requests'.
Store the number of console errors as 'console_errors'.
Store the number of cookies as 'cookies'.Or one line, for CI or sharing
kane-cli run "Go to https://en.wikipedia.org/wiki/Software_testing and let the page fully load.
Store the Time to First Byte as 'ttfb'.
Store the First Contentful Paint as 'fcp'.
Store the number of network requests as 'requests'.
Store the number of requests slower than 1000 ms as 'slow_requests'.
Store the number of console errors as 'console_errors'.
Store the number of cookies as 'cookies'." --agentWhat prints
Example run. Your numbers will vary by site, build and run. The PASS / FAIL and the zeros are the stable result, the raw timings and counts are illustrative.
✓ stored ttfb = 265 ms ✓ stored fcp = 564 ms ✓ stored requests = 47 ✓ stored slow_requests = 0 ✓ stored console_errors = 0 ✓ stored cookies = 7 RESULT PASS exit 0 ~2m 15s ~30 to 50 credits
Adapt it to your app
Go to <your page> and let it fully load.
Store the Time to First Byte as 'ttfb'.
Store the First Contentful Paint as 'fcp'.
Store the number of requests slower than 1000 ms as 'slow_requests'.
Store the number of console errors as 'console_errors'.
Store the number of cookies as 'cookies'.
# add any metric you want to trackWhy it works
Performance is captured per navigation as a point in time read, so the values reflect the settled page. Extract mode writes each metric to a variable you can print as JSON, log to a dashboard, or compare against the previous build.
What it unlocks
Extraction turns a test into a measurement tool. Run it on every build for a trend line per metric. Run it across your top ten pages for a health dashboard, each page described by a single sentence.