> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openbrowser.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Stress Tests

> Collection of challenging web forms and interactive pages for testing browser automation

## Overview

The OpenBrowser Stress Tests are a collection of HTML forms and interactive pages designed to evaluate and benchmark browser automation capabilities. These tests cover various edge cases and challenging scenarios that browser agents may encounter.

**Live Demo**: [billy-enrizky.github.io/openbrowser-ai](https://billy-enrizky.github.io/openbrowser-ai/)

## Available Tests

### Form Challenges

| Test                      | Description                                   |
| ------------------------- | --------------------------------------------- |
| **React Native Web Form** | Complex form with React Native Web components |
| **Dynamic Form**          | Form with dynamically generated fields        |
| **Multi-Step Form**       | Wizard-style form with multiple pages         |
| **Validation Form**       | Form with various validation rules            |
| **File Upload Form**      | Form with file upload capabilities            |

### Interactive Challenges

| Test                | Description                                     |
| ------------------- | ----------------------------------------------- |
| **Drag and Drop**   | Elements that require drag-and-drop interaction |
| **Infinite Scroll** | Page with infinite scrolling content            |
| **Modal Dialogs**   | Nested modal and popup interactions             |
| **Shadow DOM**      | Elements inside Shadow DOM                      |
| **iFrames**         | Content embedded in iframes                     |

## Running Stress Tests

### Using the Live Site

Navigate to the stress test you want to run:

```
https://billy-enrizky.github.io/openbrowser-ai/challenges-index.html
```

### Running Locally

Clone the repository and open the HTML files:

```bash theme={null}
git clone https://github.com/billy-enrizky/openbrowser-ai.git
cd openbrowser-ai/stress-tests
python -m http.server 8000
```

Then visit `http://localhost:8000` in your browser.

### Testing with OpenBrowser

```python theme={null}
import asyncio
from openbrowser import Agent, ChatGoogle

async def run_stress_test():
    agent = Agent(
        task="Go to https://billy-enrizky.github.io/openbrowser-ai/challenges/react-native-web-form.html and fill out the form with test data",
        llm=ChatGoogle(),
    )
    await agent.run()

asyncio.run(run_stress_test())
```

## Contributing Tests

To add a new stress test:

1. Create an HTML file in `stress-tests/challenges/`
2. Add the test to `stress-tests/index.html`
3. Document the test in this page
4. Submit a pull request

## Source Code

Full implementation: [github.com/billy-enrizky/openbrowser-ai/tree/main/stress-tests](https://github.com/billy-enrizky/openbrowser-ai/tree/main/stress-tests)
