Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added fern/assets/images/landing/hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion fern/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ navbar-links:
value: https://github.com/doc-detective/doc-detective

footer-links:
github: https://github.com/your-org/your-repo
github: https://github.com/doc-detective
linkedin: https://www.linkedin.com/company/doc-detective
discord: https://discord.gg/2M7wXEThfF

Expand Down
2 changes: 1 addition & 1 deletion fern/pages/contribute/local-development.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ For quick fixes (typos, small wording changes), use the [browser-based workflow]
node --version
```

Should show `v18.0.0` or higher.
Should show `v20.0.0` or higher.

## Fork and clone the repository

Expand Down
40 changes: 20 additions & 20 deletions fern/pages/contribute/standard-contributions.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -140,55 +140,55 @@ Highlight important information with admonitions. Make sure you use the appropri
<Tabs>
<Tab title="Note" language="note">
```markdown title="Note syntax"
:::note
<Note>
`note` is for information that the user should be aware of but isn't critical.
:::
</Note>
```

:::note
<Note>
`note` is for information that the user should be aware of but isn't critical.
:::
</Note>
</Tab>
<Tab title="Tip" language="tip">
```markdown title="Tip syntax"
:::tip
<Tip>
`tip` is for useful advice or shortcuts that can help the user.
:::
</Tip>
```

:::tip
<Tip>
`tip` is for useful advice or shortcuts that can help the user.
:::
</Tip>
</Tab>
<Tab title="Info" language="info">
```markdown title="Info syntax"
:::info
<Note>
`info` is for useful information that isn't critical but may help the user.
:::
</Note>
```
:::info
<Note>
`info` is for useful information that isn't critical but may help the user.
:::
</Note>
</Tab>
<Tab title="Warning" language="warning">
```markdown title="Warning syntax"
:::warning
<Warning>
`warning` should be used when an action may be difficult to undo or may cost the user unexpected time or resources.
:::
</Warning>
```
:::warning
<Warning>
`warning` should be used when an action may be difficult to undo or may cost the user unexpected time or resources.
:::
</Warning>
</Tab>
<Tab title="Danger" language="danger">
```markdown title="Danger syntax"
:::danger
<Warning>
`danger` should be used when there's a risk of data loss, unexpected cost, or harm.
:::
</Warning>
```
:::danger
<Warning>
`danger` should be used when there's a risk of data loss, unexpected cost, or harm.
:::
</Warning>
</Tab>
</Tabs>

Expand Down
5 changes: 3 additions & 2 deletions fern/pages/contribute/templates/feature.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -234,10 +234,11 @@ Be explicit about what breaks:
If behavior varies by version:

```markdown
:::info Version differences This feature works differently depending on your Doc Detective version:
<Note title="Version differences">
This feature works differently depending on your Doc Detective version:

**v2.x:** Uses `oldOption` **v3.x and later:** Uses `newOption`
:::
</Note>
```

## Example feature documentation
Expand Down
2 changes: 1 addition & 1 deletion fern/pages/contribute/templates/tutorial.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ A test that:

## What you'll need

- Node.js 18 or later installed
- Node.js 20 or later installed
- A text editor
- 10 minutes

Expand Down
2 changes: 1 addition & 1 deletion fern/pages/contribute/testing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -479,7 +479,7 @@ If tests fail in CI but pass locally:
2. **Look for environment differences**: Paths, dependencies, timing
3. **Run tests in Docker** (mimics CI environment):
```bash
docker run --rm -v $(pwd):/app -w /app node:18 npm run doc-detective
docker run --rm -v $(pwd):/app -w /app node:20 npm run doc-detective
```
4. **Ask for help**: Comment on the PR with the error details

Expand Down
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/checkLink.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests,
description: Check if a URL returns an acceptable status code from a GET request.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `checkLink` action checks if a URL returns an acceptable status code from a GET request. This action is useful for verifying that a hyperlink or image URL is valid.

Expand Down Expand Up @@ -249,6 +247,4 @@ After applying these changes, the test should pass:
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.checkLink_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/click.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Click or tap an element on the page.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `click` action allows you to click or tap an element on the page. You can specify which mouse button to use and target elements using text or selectors.

Expand Down Expand Up @@ -135,6 +133,4 @@ Here are a few ways you might use the `click` action:
- [`find`](/docs/actions/find): Find an element and optionally interact with it
- [`type`](/docs/actions/type): Type text or special keys

## Schema reference

<JSONSchemaViewer schema={ schemas.click_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/dragAndDrop.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Drag an element to a target location.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `dragAndDrop` action allows you to drag an element and drop it at a target location. This is useful for testing drag-and-drop interfaces, reordering lists, moving items between containers, and other interactive UI elements.

Expand Down Expand Up @@ -104,6 +102,4 @@ Here are several ways you might use the `dragAndDrop` action:
- [`find`](/docs/actions/find): Locate elements before performing other actions
- [`wait`](/docs/actions/wait): Add delays for animations to complete

## Schema reference

<JSONSchemaViewer schema={ schemas.dragAndDrop_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/find.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Locate and interact with an element on the page.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `find` action locates an element in the current interface based on its display text or a CSS/XPath selector. After finding the element, you can optionally interact with it, such as clicking it or typing into it.

Expand Down Expand Up @@ -170,6 +168,4 @@ Here are a few ways you might use the `find` action:
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.find_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/goTo.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Navigate to a specified URL.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `goTo` action navigates the browser to a specified URL. This is typically used to start a test at a specific page or navigate between pages during a test.

Expand Down Expand Up @@ -220,6 +218,4 @@ Use multiple wait conditions together with a custom timeout.
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.goTo_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/httpRequest.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Perform a generic HTTP request, for example to an API.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `httpRequest` action makes arbitrary HTTP calls, allowing you to interact with and validate APIs or other web services directly within your tests.

Expand Down Expand Up @@ -390,6 +388,4 @@ You can use both `response.required` and `response.body` together to validate th
> **Note:** Fields with `null`, `""`, `0`, or `false` values are considered to exist and will pass validation.


## Schema reference

<JSONSchemaViewer schema={ schemas.httpRequest_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/loadCookie.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Load a cookie from a file or environment variable into the browser.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `loadCookie` action loads a cookie from a file or environment variable into the browser. This action is useful for restoring authentication sessions, user preferences, or other stateful information that was previously saved using the [`saveCookie`](/docs/actions/save-cookie) action.

Expand Down Expand Up @@ -195,6 +193,4 @@ Load a cookie with detailed configuration:
- [`saveCookie`](/docs/actions/save-cookie): Save a browser cookie to a file or environment variable
- [`loadVariables`](/docs/actions/load-variables): Load environment variables from .env files

## Schema reference

<JSONSchemaViewer schema={ schemas.loadCookie_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/loadVariables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Load environment variables from a .env file.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `loadVariables` action loads environment variables from a specified `.env` file. This action is useful for accessing sensitive information, such as API keys or other credentials, without hardcoding them into your tests. Variables loaded this way are available for use in subsequent steps within the same test.

Expand Down Expand Up @@ -54,6 +52,4 @@ You can load these variables using the `loadVariables` action:
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.loadVariables_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/record.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Start capturing a video of test execution.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `record` action starts recording the browser viewport as a video file (MP4, WebM, or GIF). This is useful for debugging failed tests or creating multimedia documentation. Recording continues until a `stopRecord` step is encountered.

Expand Down Expand Up @@ -116,6 +114,4 @@ Records to `test_video.gif` in the `output/gifs` directory, overwriting if it ex
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.record_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/runCode.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Assemble and run code snippets in various languages.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `runCode` action executes a code snippet in a specified language (like JavaScript, Python, Bash, etc.) on the local machine and evaluates the results. This allows embedding executable code directly within your tests.

Expand Down Expand Up @@ -146,6 +144,4 @@ The first step runs Python code to print "setup", validates the output using a r
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.runCode_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/runShell.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Perform a native shell command.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `runShell` action runs a shell command or script on the local machine and evaluates the results, extending Doc Detective's testing capabilities to anything you can script.

Expand Down Expand Up @@ -157,6 +155,4 @@ The first step echoes "setup", validates the output using a regex, and captures
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.runShell_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/saveCookie.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Save a browser cookie to a file or environment variable for later reuse.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `saveCookie` action saves a browser cookie to a file or environment variable for later reuse. This action is useful for preserving authentication sessions, user preferences, or other stateful information between test runs or across different tests.

Expand Down Expand Up @@ -153,6 +151,4 @@ Save a cookie with detailed configuration:
- [`loadVariables`](/docs/actions/load-variables): Load environment variables from .env files


## Schema reference

<JSONSchemaViewer schema={ schemas.saveCookie_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/screenshot.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Take a screenshot in PNG format and optionally perform visual regression testing.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `screenshot` action captures a PNG image of the current browser viewport or a specific element. It can also perform visual regression testing by comparing the captured image against a previously saved reference image.

Expand Down Expand Up @@ -148,6 +146,4 @@ Captures the element with text "Submit Button", adds 10px padding, and compares
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.screenshot_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/stopRecord.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Stop capturing a video of test execution.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `stopRecord` action stops a video recording previously started by a [`record`](record) action and saves the video file.

Expand Down Expand Up @@ -47,6 +45,4 @@ This example starts recording, performs an action, and then stops the recording.
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.stopRecord_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/type.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Type keys, including special keys like Enter.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `type` action simulates key presses, including special keys such as Enter. This action is useful for simulating user input, such as filling out a form, navigating a website, or using keyboard shortcuts. It typically requires a preceding `find` or `click` action to focus an input element.

Expand Down Expand Up @@ -193,6 +191,4 @@ Here's a list of special keys you can use:
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.type_v3 } />
4 changes: 0 additions & 4 deletions fern/pages/docs/actions/wait.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ grand_parent: Tests
description: Pause before performing the next action.
---

import { schemas } from "doc-detective-common";
import JSONSchemaViewer from "@theme/JSONSchemaViewer";

The `wait` action pauses test execution for a specified duration before proceeding to the next step. This is useful for adding delays, for example, to allow time for animations to complete or to make recordings easier to follow.

Expand Down Expand Up @@ -71,6 +69,4 @@ The value assigned to the `wait` key is the duration to pause in milliseconds. Y
}
```

## Schema reference

<JSONSchemaViewer schema={ schemas.wait_v3 } />
Loading
Loading