Shopify E2E
Store-agnostic E2E testing framework for Shopify Plus — cross-browser testing across 40+ device combinations, WCAG 2.1 AA compliance, performance budgets, and third-party app validation (Appstle, Klaviyo, GoAffPro).
Shopify Plus stores rely on complex combinations of themes, apps, and custom code that break silently across browsers and devices. Manual QA can't cover 40+ browser/device combinations, accessibility compliance, performance regressions, and third-party app integrations — especially when theme updates or app installations create cascading failures.
A store-agnostic testing framework that treats store configuration as data, not code. Add a new Shopify store by dropping in a config file — the entire test suite runs against it automatically. Composable Playwright fixtures (base → shopify → a11y → performance) give every test automatic screenshot capture, store config injection, and clean cart state without boilerplate.
1export const test = base.extend<ShopifyFixtures>({2 storeConfig: async ({}, use) => {3 const config = loadStoreConfig(process.env.STORE_ID)4 await use(config)5 },67 shopifyPage: async ({ page, storeConfig }, use) => {8 // Clear cart state before each test9 await page.context().clearCookies()10 await page.goto(storeConfig.baseUrl)11 await page.waitForSelector(storeConfig.selectors.body)12 await use(page)13 },1415 a11yAudit: async ({ page }, use) => {16 const audit = async (selector?: string) => {17 const results = await new AxeBuilder({ page })18 .withTags(['wcag2a', 'wcag2aa'])19 .analyze()20 return results.violations21 }22 await use(audit)23 },24})25
Interested in similar work?
Let's discuss how I can help bring your Shopify project to life.