MS Schippers Test Automation Suite
Acceptance storefronts

Functional Coverage Map

Around 70% of storefront functionality is automated

The Schippers automation suite covers the MS Schippers hycommerce storefronts (NL, BE, FR, DE) with 197 automated test cases across 22 specs. Core shopping — home, navigation, search, catalog, product detail, cart, comparison, account and login — is solidly covered, backed by real-authentication end-to-end checkout journeys and a data-driven API contract layer. Coverage intentionally thins toward the edges: checkout payment variety, My Schippers depth, the knowledge centre, promotions logic, loyalty, and customer-service / returns flows.

70% Automated
22
Test specs
197
Automated cases
20
Functional areas
17
Page objects
4 × 4
Browsers × storefronts
3
Test layers

01Coverage by functional area

Each area is scored on how much of its real customer-facing functionality is exercised by automated tests. Covered ≥ 75%, Partial 20–74%, None not yet automated.

Home page
Header, footer, logo/search, hero & sliders, animal-group chooser, popular products, newsletter/advice CTAs, login & chat popups, scroll integrity across stores.
Covered · 37 tests
90%
Site navigation & mega-menus
Primary nav hierarchy, Varkens/Rundvee/Pluimvee/Overige mega-menus, Deals & New sections, login/cart/chat controls, animal-group images.
Covered · 15 tests
88%
Search
Search input/placeholder, results route, PDP open from results, overlay autocomplete, query persistence, brand/category/SKU search, nonsense/empty-query resilience.
Covered · 16 tests
85%
Product listing & category (PLP)
Category listings, mega-menu route resolution, product cards, filters/clear-filters, sorting, pagination, tile/list toggles, brand-filter e2e, deals/new/advies banners.
Covered · 28 tests
85%
Cart
Auto-open on add, badge count, product name/image/price, quantity buttons + typed qty, remove/empty, subtotal maths, route-reload persistence, cart-to-checkout login gate.
Covered · 14 tests
85%
Footer
Footer link health, support phone/email, about/advice/customer-service link groups, social links, shipping and payment-method sections.
Covered · 6 tests
85%
Account & login
Header account entry, login input, invalid-email handling, forgot-password reset dialog, create-account step one, multi-company selection, NL/BE valid + invalid login via identity provider.
Covered · 13 tests
80%
Product comparison
Compare checkbox, compare bar, two-product CTA, side-by-side comparison page, removal and additional-selection stability.
Covered · 5 tests
80%
API / integration contracts
Data-driven contract tests over 10 endpoints (category/content/product/price/related/translations): status, content-type, JSON-path, exact-value, array-minimum, cross-path assertions.
Covered · 10 tests
75%
Product detail page (PDP)
Title/article/price/stock/description, gallery & thumbnails, quantity + add-to-cart, product documents, tab title. Missing: deep size/SKU variant matrix & personalised B2B price assertions.
Covered · 5 tests
80%
Checkout, order & payment
Cart-to-checkout login gate plus e2e orders: Adyen, invoice re-order, PGA direct-debit impersonation, licence-block. Missing: payment declines/3DS, address/shipping variation.
Covered · 6 tests
75%
Infrastructure / access
Acceptance storefront reachability behind Cloudflare Access (service-token smoke gate) used as a pre-flight for every run.
Covered · 1 test
70%
My Schippers (my account)
Left-panel navigation and section headers (Dashboard, Orders, Invoices, Returns, Favorites, HyCare, Loyalty) plus favorites full CRUD. Missing: data-bearing orders/invoices/returns depth.
Partial · 12 tests
60%
Advice / knowledge centre
Advice overview: filters, cards, navigation, video interaction, scroll-load, app/footer/newsletter blocks. Missing: brand pages, HyCare concept, downloads, campaigns/magazines.
Partial · 19 tests
55%
Deals & promotions engine
Deals landing hero/CTA/nav and listing badges/product links. Missing: free-gift callouts, web-deal badge eligibility rules, deal-total logic.
Partial · 5 tests
50%
Multi-language / multi-store
Store-scoped smoke presence across NL/BE/DE and nl-only/be-only e2e journeys. Missing: locale switching, nl-nl routing depth, DE functional depth.
Partial · 8 tests
50%
Registration
New-account registration during BE checkout with a licence-to-buy SKU. Missing: NL registration, validation edge cases, terms/verification variants.
Partial · 1 test
40%
HyCare business portal
Sales-admin impersonated HyCare reorder e2e and HyCare PDP view. Missing: HyCare Digital monitoring, service configuration depth.
Partial · 2 tests
35%
Loyalty (AGROW) & newsletter
Newsletter CTA presence and loyalty section header/link only. Missing: enrolment, benefits, discount application, subscription confirmation.
Partial · 2 tests
20%
Customer service, returns & complaints
Klantenservice self-service (Bestellen & Betalen, Klachten & Retour, Leeggoed retourneren, Privacy & Veiligheid). Not yet automated.
None · 0 tests
0%

02What is strongly covered

The suite is deepest where it matters most — the revenue-critical shopping path and the real B2B ordering journeys.

Core shopping path

~168 store-scoped smoke cases verify render, navigation and interactivity across the NL/BE/DE storefronts — home, nav, search, catalog, cart and comparison.

Real-auth e2e journeys

End-to-end login through the identity provider, including valid and invalid credentials for both NL and BE storefronts.

Multi-method checkout

Real orders across Adyen, invoice re-order, and PGA direct-debit via sales-admin impersonation — not just a single happy path.

Licence-gated purchasing

Validated both ways: restricted add-to-cart is blocked, and registration with a licence-to-buy SKU is exercised.

API contract suite

Data-driven checks across 10 endpoints with status, content-type, JSON-path, exact-value, array-minimum and cross-path assertions.

Cart mechanics

Auto-open, badge count, quantity edits, removal, subtotal maths, route-reload persistence and the checkout login gate.

Resilient search

Autocomplete, brand/category/SKU queries, and nonsense/empty-query route resilience.

Favorites full CRUD

Create, rename and delete provide one deep authenticated My-Account flow beyond section-header checks.

Cloudflare Access gate

A service-token reachability pre-flight protects the acceptance environment before every run.

03Gaps & what is missing

The remaining ~30% is a prioritised backlog. These are the highest-value flows not yet automated.

! Fully unautomated: Returns / RMA, complaints (Klachten & Retour) and empties-return (Leeggoed retourneren), plus customer-service self-service topics (Bestellen & Betalen, Privacy & Veiligheid).
  • Payment variety — only four happy-path e2e orders; no Adyen decline / 3DS challenge, payment-method switching, or address / shipping-option variation.
  • Order-history depth — order-list filtering, invoice download / PDF, and reorder beyond the single last-order path are untested.
  • PDP variants — variant / size SKU selection (footwear "maat 43", cloth sizes) is a core catalog feature that is not asserted.
  • B2B pricing correctness — personalised prices (persoonlijke prijzen, excl. BTW) are never asserted for logged-in customers, only the presence of the login control.
  • Knowledge centre — brand pages (MS Gold, HyCare, The Schippers Group), HyCare concept page, downloads, campaigns / magazines, and the kleurensysteem article are largely uncovered.
  • Loyalty (AGROW) — enrolment, benefit application and newsletter subscription confirmation are checked only at link / CTA level.
  • HyCare portal depth — HyCare Digital pest-monitoring is limited to two impersonation-based e2e cases.
  • Promotions logic — free-gift callouts (Gratis drukspuit), web-deal badge eligibility and deal totals are only spot-checked.
  • Multi-locale depth — locale routing and DE-store functional depth are untested beyond presence smoke.
  • My Schippers data flows — order / invoice / returns pages are validated at section-header level only.

04Test layers & execution matrix

Coverage is delivered through three layers, executed across a browser × storefront matrix.

LayerSpecsWhat it verifies
Smoke14BDD-style specs (thin test-cases delegating to step-definitions) verifying render, navigation and interactivity per storefront.
E2E7Full business journeys spanning multiple pages with real authentication via the identity provider.
Integration1Data-driven API contract tests — one spec reads 10 CSV fixtures and generates a contract check per endpoint.

Browser & storefront matrix

Every applicable spec runs across four browser engines and four storefronts, giving up to sixteen project combinations per suite.

ChromeFirefoxSafari (WebKit)Edge NLBEFRDE
@quick-smoke@full-smoke@quick-regression@full-regression

05How coverage is measured

The headline percentage is a weighted estimate of automated functional coverage, not raw test count.

We enumerate the customer-facing functional areas of the storefront (from the live schippers.nl navigation and the hycommerce storefront surface), then map every automated test case to the area it exercises. Each area is scored on the share of its real behaviours that are asserted. Areas are weighted by business importance — the revenue-critical shopping path counts for more than long-tail content — so the overall figure reflects protection of what matters, landing at approximately 70%.

i Coverage here means functional / behavioural coverage of the storefront, not source-code line coverage. It is a living estimate: every new test raises the relevant area, and the Reports dashboard shows the runs that keep it honest. New tests should target the partial and none rows above — see the Manual for how.

06Coverage on the live storefront

Captured from the acceptance storefront (store-nl.acceptance.store.hycommerce.schippers.cloud) — the same environment the automated suite drives. The overlays map each area of the real UI to its automation status:

Covered · automated Partial · shallow / login-gated Not automated

Product detail page

Title, article number and the quantity + add-to-cart action are covered. Colour & size variant selection, bulk / tier (Staffelprijzen) & personalised B2B pricing, and customer reviews are not yet automated.

Annotated MS Schippers product detail page showing covered and uncovered areas
Acceptance PDP — MS Merkspray blauw, 500 ml. Green = covered, red = not automated.

Cart & checkout

Cart contents — line item, image, price, quantity and stock — are covered. Coupon / voucher codes, delivery-option selection and the downstream payment flow (which sits behind the login gate) are not yet automated.

Annotated MS Schippers cart drawer showing covered and uncovered areas
Acceptance cart drawer. Green = covered, red = not automated.
i These overlays are captured against the live acceptance environment through the same Cloudflare Access service token the suite uses. The logged-in My Schippers area (orders, invoices, returns) needs account credentials and is documented in the matrix rather than shown here.