Docs
Checkout testing

Checkout testing

For a shop, your QA agent tests the checkout the way a customer would, stage by stage, and stops before paying. It runs every week (with the rest of your site's tests), whenever you ask in the chat, and from coding agents or the deploy check with kind: "checkout". You can try it free on any shop at /checkout-test.

What it checks

StageWhat the agent doesWhat it checks
ProductOpens a product you sell (or the page you point it at)The page loads with a price and an add-to-cart button
Add to cartPicks an available option if one is needed, adds itSomething happens: the cart updates, a drawer opens or the cart page loads
CartOpens the cartThe item and price are there, the subtotal adds up, the checkout button works
CheckoutGoes to checkout as a guestThe checkout opens and the price still matches
Your detailsWith test details on: fills in PageCanary's test detailsThe form accepts them
ShippingWith test details on: picks a shipping optionShipping options load, with prices
Payment formLooks, types nothingThe card form actually appears and the pay button is ready; Apple Pay and similar buttons show

Along the way it compares the price from product to cart to checkout (a change, or a different currency, is a problem), notes slow steps (over 8 seconds), errors on the page, and checks the cart on a phone.

What it never does

Whatever a test plan, a chat message or the page says, and enforced in code:

  • Pay, place an order, or press Apple Pay, Google Pay, Shop Pay, PayPal or "Buy now"
  • Type a card number, or anyone's real details
  • Create an account: it checks out as a guest, and says so if your checkout needs an account
  • Apply a discount code it wasn't given, or add more than one item

What it doesn't prove

  • That a payment goes through. That happens past the pay button, between your payment provider and the bank.
  • That every product, option and country works. Each run tests one product and one address; add test plans for the ones that matter most.
  • That your tax and shipping amounts are right for your business, only that they appear and add up.

Test details (off by default)

Many checkouts, Shopify's included, only show shipping and the payment form after you enter an email and an address. To go that far, turn on Use PageCanary's test details at checkout on your site's page (or tell your agent in the chat). The agent then enters:

  • a test name (PageCanary Test),
  • our business address (n34t, LLC, Mountain View, CA),
  • your site's own test inbox address,

and never anything that pays.

⚠️

Entering an email at checkout can create an "abandoned checkout" in your shop's admin and send your abandoned-cart email. It goes to your site's test inbox, never to a real customer. That's why test details are off until you turn them on.

The test inbox

Each site has its own test address. Mail your shop sends it after a test, such as an abandoned-cart email, shows up on your site's page and next to the test run, as evidence your shop's emails work. Your agent can read it too ("did my abandoned-cart email arrive?").

Reading the results

The result shows each stage with what the agent saw. When a stage fails, it says what went wrong in plain words, for example:

  • "Add to cart did nothing and threw an error": a theme or app update usually removed a script.
  • "The price changed: $9.00 on the product page, $11.00 in the cart": a stale price, a currency setting or an app that changes prices.
  • "Shipping options never loaded": a shipping app or rates service is down, or your shipping zones don't cover the test address.
  • "The payment form didn't appear": the payment provider's script failed to load, or an ad blocker rule, a content security policy or a theme change broke it.

A failure is checked again before you're alerted, like every test, and gets a priority: a checkout that can't be completed is critical.