Mockery

Mockery: fake web scenarios for real Ferret tests.

Fake demo notice: This entire website is deterministic demo content only.

Mockery is a collection of deterministic fake web scenarios for testing Ferret and its HTML drivers. Each scenario models a common scraping situation: static pages, dynamic rendering, pagination, forms, tables, network activity, infinite scroll, messy markup, iframes, and browser interactions.

Featured scenarios

E-commerce

Product listings, detail pages, categories, pagination, and reviews.

Demonstrates: static extraction, product cards, pagination, categories, reviews, structured data

Examples: ecommerce/products.fql, ecommerce/pagination.fql, ecommerce/product-details.fql

Open scenario

Dynamic Products

Client-side rendering from static JSON with load-more behavior.

Demonstrates: fetch(), loading states, DOM mutation, WAIT_ELEMENT

Examples: dynamic-products.fql

Open scenario

Network Activity

Buttons that trigger predictable fetch patterns and statuses.

Demonstrates: request, response, request finished, request failed, and idle network events

Examples: network-events.fql

Open scenario

Messy Markup

Intentional HTML inconsistencies for robust scraping examples.

Demonstrates: fallback selectors, optional access, filtering, normalization

Examples: messy-markup.fql

Open scenario

Forms

Interactive form controls with client-side result rendering.

Demonstrates: typing, checking, selecting, submit interception, event dispatch

Examples: forms-dispatch.fql

Open scenario

Tables

Clean and messy table extraction examples.

Demonstrates: tables, nested links, missing cells, totals, client-side sorting

Examples: tables-orders.fql

Open scenario

Infinite Scroll

Scroll-triggered loading of static JSON batches.

Demonstrates: lazy loading, scroll events, incremental DOM insertion

Examples: infinite-scroll.fql

Open scenario

Delayed Rendering

Controlled delayed DOM updates for wait and polling examples.

Demonstrates: short delays, long delays, user-triggered content, state changes

Open scenario

Shadow DOM

Open shadow DOM components for browser-driver tests.

Demonstrates: custom elements, open shadow roots, component internals

Open scenario

Iframes

Same-origin iframes with product, table, and delayed content.

Demonstrates: frame traversal and frame document loading

Open scenario

Navigation

Multi-step flow with links, location changes, hash and query.

Demonstrates: links, buttons, hash changes, query parameters, page transitions

Open scenario