# Fluffy v0.7.0 - Table of Contents

> Phoenix feature tests. Three drivers, one Playwright-shaped API.

## Pages

- [Fluffy](readme.md)

- Guides
  - [Installation and runtime](installation.md)
  - [Usage](usage.md)
  - [Assertion styles](assertion-styles.md)
  - [Events and pages](advanced-events.md)

- Migration
  - [Coming from PhoenixTest](migration-from-phoenix-test.md)

- Reference
  - [Capability matrix](capabilities.md)
  - [Changelog](changelog.md)
  - [LICENSE](license.md)

## Modules

- [Fluffy.PhoenixTest.Session](Fluffy.PhoenixTest.Session.md): The facade session, containing the native session, locator scope, and active form.
- [Fluffy.Playwright.ConsoleLogger](Fluffy.Playwright.ConsoleLogger.md): Default Logger adapter for browser console messages and uncaught page errors.

- Core API
  - [Fluffy](Fluffy.md): Pipeable feature testing for Phoenix applications.
  - [Fluffy.Assert](Fluffy.Assert.md): ExUnit-style assertions backed by `Fluffy.Expect`.
  - [Fluffy.Event](Fluffy.Event.md): Event descriptions shared by waits and listeners.
  - [Fluffy.Expect](Fluffy.Expect.md): Typed locator and active-page assertion values executed by
`Fluffy.Expect.expect/2`.
  - [Fluffy.FrameLocator](Fluffy.FrameLocator.md): A lazy query identifying a frame to search inside with the Playwright driver.
  - [Fluffy.Locator](Fluffy.Locator.md): A lazy, driver-independent element query.
  - [Fluffy.Page](Fluffy.Page.md): An opaque, live handle to one page in a session.
  - [Fluffy.PhoenixTest](Fluffy.PhoenixTest.md): A PhoenixTest-style facade over Fluffy's actions and assertions.
  - [Fluffy.Playwright](Fluffy.Playwright.md): Browser-only helpers for the active Playwright page.
  - [Fluffy.Sandbox](Fluffy.Sandbox.md): Integrates Ecto SQL sandbox ownership with a Fluffy test scope.

  - [Fluffy.Test](Fluffy.Test.md): ExUnit lifecycle setup for Fluffy tests.

- Sessions and results
  - [Fluffy.Dialog](Fluffy.Dialog.md): A browser dialog delivered to event listeners and waits.
  - [Fluffy.Download](Fluffy.Download.md): A download available as soon as downloading starts.
  - [Fluffy.Event.Pending](Fluffy.Event.Pending.md): An opaque, single-use pending event returned by `Fluffy.wait_for/3`.
  - [Fluffy.FileChooser](Fluffy.FileChooser.md): A browser file chooser captured by `Fluffy.Event.file_chooser/1`.
  - [Fluffy.FilePayload](Fluffy.FilePayload.md): An in-memory file selected with `Fluffy.set_input_files/4`.
  - [Fluffy.Frame](Fluffy.Frame.md): A live browser frame returned by `Fluffy.Event.frame_navigated/1`.
  - [Fluffy.HTTPEvent](Fluffy.HTTPEvent.md): Normalized metadata for a browser request or response event.
  - [Fluffy.Playwright.Handle](Fluffy.Playwright.Handle.md): Native identifiers for the active Playwright page.
  - [Fluffy.Session](Fluffy.Session.md): A live session handle with a local current-page selection.

- Capabilities and errors
  - [Fluffy.ActionabilityError](Fluffy.ActionabilityError.md): Raised internally when an element cannot receive an action.
Public Phoenix actions preserve this exception in `Fluffy.OperationError.cause`.

  - [Fluffy.Capability](Fluffy.Capability.md): The versioned support contract for Fluffy page drivers.
  - [Fluffy.CapabilityError](Fluffy.CapabilityError.md): Raised when a driver cannot support a requested action or assertion.

  - [Fluffy.OperationError](Fluffy.OperationError.md): An element operation failure with its backend's original cause.
  - [Fluffy.StrictnessError](Fluffy.StrictnessError.md): Raised internally when a single-target query resolves to zero or multiple elements.
Public Phoenix actions preserve this exception in `Fluffy.OperationError.cause`.

