> For the complete documentation index, see [llms.txt](https://aurelia-1.gitbook.io/v1-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aurelia-1.gitbook.io/v1-docs/developer-guides/testing/end-to-end-testing.md).

# End-to-end testing

### What is End-to-End (E2E) Testing?

End-to-end (E2E) testing is a comprehensive testing methodology that validates an application's functionality from start to finish, simulating real-world user scenarios. Unlike unit tests focusing on individual components, E2E tests evaluate the entire application's workflow, ensuring all parts work together as expected.

### Why E2E Testing Matters

E2E testing is crucial because it:

* Verifies the application works correctly from a user's perspective
* Identifies integration issues between different components
* Ensures critical user journeys function as designed
* Catches potential bugs that might be missed by unit testing
* Provides confidence in the overall application quality

### Differences between E2E and Unit Testing

| Aspect          | Unit Testing                       | E2E Testing                          |
| --------------- | ---------------------------------- | ------------------------------------ |
| Scope           | Individual components or functions | Entire application workflow          |
| Environment     | Isolated, often mocked             | Real browser, full application stack |
| Complexity      | Low                                | High                                 |
| Execution Speed | Fast                               | Slower                               |
| Purpose         | Verify individual component logic  | Validate complete user experiences   |

### Key Characteristics of E2E Testing

1. **Browser Interaction**: Tests interact directly with the application as a user would, using a real browser environment.
2. **Asynchronous Nature**: E2E tests involve multiple asynchronous operations, such as:
   * Page loads
   * Network requests
   * User interactions
   * Dynamic content rendering
3. **Comprehensive Validation**: Tests cover:
   * User interface interactions
   * Data flow
   * System integrations
   * Performance under real-world conditions

### When to Use E2E Testing

Ideal for testing:

* Critical user workflows
* Complex user interactions
* Features that span multiple components
* Scenarios involving multiple system integrations


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://aurelia-1.gitbook.io/v1-docs/developer-guides/testing/end-to-end-testing.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
