testdriverai 5.5.4 → 5.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agent.js +29 -39
- package/docs/account/dashboard.mdx +16 -0
- package/docs/account/enterprise.mdx +97 -0
- package/docs/account/pricing.mdx +26 -0
- package/docs/account/projects.mdx +27 -0
- package/docs/account/team.mdx +31 -0
- package/docs/action/browser.mdx +1 -1
- package/docs/action/os.mdx +1 -2
- package/docs/action/output.mdx +2 -2
- package/docs/action/performance.mdx +4 -0
- package/docs/action/prerun.mdx +57 -1
- package/docs/action/secrets.mdx +3 -3
- package/docs/action/setup.mdx +6 -6
- package/docs/apps/chrome-extensions.mdx +41 -0
- package/docs/apps/desktop-apps.mdx +87 -0
- package/docs/apps/mobile-apps.mdx +22 -0
- package/docs/apps/static-websites.mdx +54 -0
- package/docs/bugs/jira.mdx +35 -28
- package/docs/cli/overview.mdx +19 -13
- package/docs/commands/assert.mdx +2 -0
- package/docs/commands/exec.mdx +96 -0
- package/docs/commands/focus-application.mdx +2 -0
- package/docs/commands/hover-image.mdx +2 -0
- package/docs/commands/hover-text.mdx +2 -0
- package/docs/commands/if.mdx +3 -2
- package/docs/commands/issues.mdx +27 -0
- package/docs/commands/match-image.mdx +2 -0
- package/docs/commands/press-keys.mdx +9 -5
- package/docs/commands/run.mdx +2 -1
- package/docs/commands/scroll-until-image.mdx +3 -1
- package/docs/commands/scroll-until-text.mdx +2 -0
- package/docs/commands/scroll.mdx +3 -1
- package/docs/commands/type.mdx +3 -1
- package/docs/commands/wait-for-image.mdx +3 -1
- package/docs/commands/wait-for-text.mdx +3 -1
- package/docs/commands/wait.mdx +3 -1
- package/docs/docs.json +260 -146
- package/docs/exporting/playwright.mdx +33 -26
- package/docs/features/auto-healing.mdx +25 -20
- package/docs/features/cross-platform.mdx +9 -8
- package/docs/features/generation.mdx +4 -3
- package/docs/features/github.mdx +22 -18
- package/docs/features/parallel-testing.mdx +15 -11
- package/docs/features/reusable-snippets.mdx +18 -14
- package/docs/features/selectorless.mdx +8 -3
- package/docs/features/visual-assertions.mdx +9 -10
- package/docs/getting-started/ci.mdx +7 -8
- package/docs/getting-started/editing.mdx +2 -0
- package/docs/getting-started/generating.mdx +1 -1
- package/docs/getting-started/running.mdx +2 -2
- package/docs/getting-started/setup.mdx +5 -12
- package/docs/getting-started/vscode.mdx +67 -79
- package/docs/getting-started/writing.mdx +7 -5
- package/docs/guide/assertions.mdx +6 -6
- package/docs/guide/authentication.mdx +18 -14
- package/docs/guide/code.mdx +3 -3
- package/docs/guide/environment-variables.mdx +64 -0
- package/docs/guide/lifecycle.mdx +154 -0
- package/docs/guide/locating.mdx +9 -9
- package/docs/guide/variables.mdx +9 -6
- package/docs/guide/waiting.mdx +9 -8
- package/docs/images/content/account/newprojectsettings.png +0 -0
- package/docs/images/content/account/projectpage.png +0 -0
- package/docs/images/content/account/projectreplays.png +0 -0
- package/docs/images/content/account/team-manage.png +0 -0
- package/docs/images/content/account/teampage.png +0 -0
- package/docs/images/content/side-by-side.png +0 -0
- package/docs/images/content/vscode/vscode-agent-preview.png +0 -0
- package/docs/images/content/vscode/vscode-copilot-ask.png +0 -0
- package/docs/images/content/vscode/vscode-file-creation.png +0 -0
- package/docs/images/content/vscode/vscode-install.png +0 -0
- package/docs/images/content/vscode/vscode-overview.png +0 -0
- package/docs/images/content/vscode/vscode-setup-walkthrough.png +0 -0
- package/docs/images/content/vscode/vscode-stopchat.png +0 -0
- package/docs/images/content/vscode/vscode-stoptest.png +0 -0
- package/docs/images/content/vscode/vscode-tdservice.png +0 -0
- package/docs/images/content/vscode/vscode-test-output.png +0 -0
- package/docs/images/content/vscode/vscode-testhistory.png +0 -0
- package/docs/images/content/vscode/vscode-testpane-runtests.png +0 -0
- package/docs/images/content/vscode/vscode-testpane.png +0 -0
- package/docs/importing/csv.mdx +9 -6
- package/docs/importing/gherkin.mdx +12 -10
- package/docs/importing/jira.mdx +11 -9
- package/docs/importing/testrail.mdx +10 -8
- package/docs/integrations/electron.mdx +26 -19
- package/docs/integrations/netlify.mdx +25 -24
- package/docs/integrations/vercel.mdx +22 -20
- package/docs/interactive/assert.mdx +4 -1
- package/docs/interactive/dry.mdx +51 -0
- package/docs/interactive/explore.mdx +92 -0
- package/docs/interactive/generate.mdx +6 -3
- package/docs/interactive/run.mdx +3 -0
- package/docs/interactive/save.mdx +3 -0
- package/docs/interactive/undo.mdx +3 -0
- package/docs/overview/comparison.mdx +6 -2
- package/docs/overview/faq.mdx +2 -1
- package/docs/overview/quickstart.mdx +123 -65
- package/docs/overview/upgrading.mdx +82 -0
- package/docs/overview/what-is-testdriver.mdx +13 -5
- package/docs/quickstart.mdx +1 -1
- package/docs/scenarios/ai-chatbot.mdx +26 -0
- package/docs/scenarios/cookie-banner.mdx +30 -0
- package/docs/scenarios/file-upload.mdx +30 -0
- package/docs/scenarios/form-filling.mdx +28 -0
- package/docs/scenarios/log-in.mdx +68 -0
- package/docs/scenarios/pdf-generation.mdx +21 -0
- package/docs/scenarios/spell-check.mdx +21 -0
- package/docs/security/action.mdx +7 -3
- package/docs/security/agent.mdx +1 -1
- package/docs/security/platform.mdx +9 -1
- package/docs/snippets/calendar-link.mdx +1 -0
- package/docs/snippets/gitignore-warning.mdx +4 -0
- package/docs/snippets/test-prereqs.mdx +15 -0
- package/docs/tutorials/advanced-test.mdx +2 -0
- package/docs/tutorials/basic-test.mdx +8 -7
- package/lib/commands.js +40 -21
- package/lib/config.js +0 -1
- package/lib/logger.js +2 -2
- package/lib/parser.js +1 -0
- package/lib/sdk.js +32 -26
- package/package.json +2 -1
- package/schema.json +1 -4
- package/styles/config/vocabularies/Docs/accept.txt +15 -2
- package/styles/config/vocabularies/Docs/reject.txt +4 -0
- package/docs/30x30.mdx +0 -84
- package/docs/issues.mdx +0 -9
- package/docs/security/dashboard.mdx +0 -0
- package/testdriver/chrome.yaml +0 -102
package/docs/guide/variables.mdx
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
---
|
|
2
|
+
title: "Variables"
|
|
3
|
+
sidebarTitle: "Variables"
|
|
4
|
+
description: "Learn how to use variables in TestDriver for dynamic data handling."
|
|
2
5
|
icon: "square-root-variable"
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
# Using Variables in TestDriver
|
|
8
|
+
# Using Variables in TestDriver
|
|
6
9
|
|
|
7
|
-
Variables in **TestDriver
|
|
10
|
+
Variables in **TestDriver** allow you to dynamically store and reuse data during test execution. This feature is particularly useful for handling dynamic content, passing data between steps, and customizing test behavior based on runtime conditions.
|
|
8
11
|
|
|
9
12
|
- Generate a random number or string and use it to fill out a form.
|
|
10
13
|
- Capture API responses and validate their content.
|
|
11
14
|
- Capture text or values from the screen and use them in assertions.
|
|
12
15
|
- Pass different values to the test using environment variables for testing multiple scenarios.
|
|
13
16
|
|
|
14
|
-
By leveraging variables in TestDriver
|
|
17
|
+
By leveraging variables in TestDriver, you can create dynamic, flexible, and reusable test scripts that adapt to changing conditions and data.
|
|
15
18
|
|
|
16
19
|
#### Test File Example:
|
|
17
20
|
|
|
@@ -41,7 +44,7 @@ steps:
|
|
|
41
44
|
## GitHub Actions Example
|
|
42
45
|
|
|
43
46
|
```yaml
|
|
44
|
-
name: TestDriver
|
|
47
|
+
name: TestDriver with Variables
|
|
45
48
|
|
|
46
49
|
on:
|
|
47
50
|
push:
|
|
@@ -58,10 +61,10 @@ jobs:
|
|
|
58
61
|
- name: Check out repository
|
|
59
62
|
uses: actions/checkout@v2
|
|
60
63
|
|
|
61
|
-
- name: Run TestDriver
|
|
64
|
+
- name: Run TestDriver
|
|
62
65
|
uses: testdriverai/action@main
|
|
63
66
|
with:
|
|
64
|
-
key: ${{ secrets.
|
|
67
|
+
key: ${{ secrets.TD_API_KEY }}
|
|
65
68
|
prompt: |
|
|
66
69
|
1. Log in with username and password
|
|
67
70
|
2. Verify the dashboard is displayed
|
package/docs/guide/waiting.mdx
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
---
|
|
2
|
-
title: Waiting in TestDriver
|
|
2
|
+
title: Waiting in TestDriver
|
|
3
3
|
sidebarTitle: Waiting
|
|
4
|
-
|
|
4
|
+
description: "Waiting in TestDriver: Ensuring Stability and Reducing Flakiness"
|
|
5
|
+
icon: "clock"
|
|
5
6
|
---
|
|
6
7
|
|
|
7
|
-
# Waiting in TestDriver
|
|
8
|
+
# Waiting in TestDriver: Ensuring Stability and Reducing Flakiness
|
|
8
9
|
|
|
9
|
-
Waiting is a critical feature in TestDriver
|
|
10
|
+
Waiting is a critical feature in TestDriver that ensures tests are stable and reliable, even in dynamic or slow-loading environments.
|
|
10
11
|
|
|
11
12
|
- Automatically adjusts to varying load times, reducing the need for hardcoded delays.
|
|
12
13
|
- Ensures that tests wait for dynamic elements to appear, reducing false negatives caused by incomplete rendering.
|
|
@@ -21,10 +22,10 @@ Waiting is a critical feature in TestDriver.ai that ensures tests are stable and
|
|
|
21
22
|
| **`wait-for-text`** | Waits for specific text to appear on the screen. |
|
|
22
23
|
| **`wait-for-image`** | Waits for a specific image or visual element to appear on the screen. |
|
|
23
24
|
|
|
24
|
-
## Key Waiting Features in TestDriver
|
|
25
|
+
## Key Waiting Features in TestDriver
|
|
25
26
|
|
|
26
27
|
1. **Automatic Waiting with `redraw`**:
|
|
27
|
-
- TestDriver
|
|
28
|
+
- TestDriver automatically waits for the machine before moving to the next step.
|
|
28
29
|
- This includes waiting for:
|
|
29
30
|
- UI changes to complete.
|
|
30
31
|
- Network activity to stabilize (e.g., API calls).
|
|
@@ -87,7 +88,7 @@ In this example, the test waits up to 8 seconds for the company logo to appear i
|
|
|
87
88
|
|
|
88
89
|
## Automatic Waiting with `redraw`
|
|
89
90
|
|
|
90
|
-
TestDriver
|
|
91
|
+
TestDriver's **`redraw` function** is a built-in mechanism that automatically waits for the screen to stabilize before proceeding to the next step. This includes:
|
|
91
92
|
|
|
92
93
|
1. **UI Changes**:
|
|
93
94
|
- Waits for animations, transitions, or DOM updates to complete.
|
|
@@ -105,7 +106,7 @@ TestDriver.ai's **`redraw` function** is a built-in mechanism that automatically
|
|
|
105
106
|
## Best Practices for Waiting
|
|
106
107
|
|
|
107
108
|
2. **Leverage Automatic Waiting**:
|
|
108
|
-
- Rely on TestDriver
|
|
109
|
+
- Rely on TestDriver's `redraw` function to handle most waiting scenarios automatically.
|
|
109
110
|
|
|
110
111
|
1. **Use Explicit Waiting for Dynamic Elements**:
|
|
111
112
|
- Use `wait-for-text` or `wait-for-image` for elements that take time to load.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/docs/importing/csv.mdx
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "CSV Import"
|
|
3
3
|
sidebarTitle: "CSV Import"
|
|
4
|
+
description: "Convert user stories from CSV files into individual TestDriver test files using Node.js and GitHub Actions."
|
|
5
|
+
icon: "table"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
This guide demonstrates how to convert user stories from **CSV files** into individual TestDriver
|
|
8
|
+
This guide demonstrates how to convert user stories from **CSV files** into individual TestDriver test files using **Node.js**. Each user story will be saved as its own YAML test file, and the tests will be executed in parallel using a **GitHub Actions workflow**.
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -105,8 +107,9 @@ This script will generate individual YAML test files (e.g., `test_1.yml`, `test_
|
|
|
105
107
|
|
|
106
108
|
Create a GitHub Actions workflow to execute the generated test files in parallel.
|
|
107
109
|
|
|
108
|
-
### GitHub Actions Workflow (`.github/workflows/run-tests.yml`)
|
|
109
|
-
|
|
110
|
+
### GitHub Actions Workflow (`.github/workflows/run-tests.yml`)
|
|
111
|
+
```yaml
|
|
112
|
+
name: Run TestDriver Tests
|
|
110
113
|
|
|
111
114
|
on:
|
|
112
115
|
push:
|
|
@@ -144,10 +147,10 @@ jobs:
|
|
|
144
147
|
- name: Check out repository
|
|
145
148
|
uses: actions/checkout@v2
|
|
146
149
|
|
|
147
|
-
- name: Run TestDriver
|
|
150
|
+
- name: Run TestDriver
|
|
148
151
|
uses: testdriverai/action@main
|
|
149
152
|
with:
|
|
150
|
-
key: ${{ secrets.
|
|
153
|
+
key: ${{ secrets.TD_API_KEY }}
|
|
151
154
|
prompt: |
|
|
152
155
|
1. /run ${{ matrix.test_file }}
|
|
153
156
|
env:
|
|
@@ -160,7 +163,7 @@ jobs:
|
|
|
160
163
|
|
|
161
164
|
## Step 4: Secure API Key
|
|
162
165
|
|
|
163
|
-
Store your TestDriver
|
|
166
|
+
Store your TestDriver API key as a GitHub secret (e.g., `TD_API_KEY`) to securely authenticate your tests.
|
|
164
167
|
|
|
165
168
|
---
|
|
166
169
|
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Gherkin"
|
|
3
3
|
sidebarTitle: "Gherkin"
|
|
4
|
+
description: "Convert Gherkin scenarios to TestDriver prompts"
|
|
5
|
+
icon: "file-code"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
This guide explains how to convert **Gherkin scenarios** into **TestDriver
|
|
8
|
+
This guide explains how to convert **Gherkin scenarios** into **TestDriver prompts** for use in your testing workflows. By following this process, you can easily adapt existing Gherkin test cases into a format compatible with TestDriver.
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -23,9 +25,9 @@ Scenario: Successful login
|
|
|
23
25
|
|
|
24
26
|
---
|
|
25
27
|
|
|
26
|
-
## What Are TestDriver
|
|
28
|
+
## What Are TestDriver Prompts?
|
|
27
29
|
|
|
28
|
-
TestDriver
|
|
30
|
+
TestDriver prompts are high-level instructions that describe what the AI should do. They are written in plain text and focus on user actions or expected outcomes.
|
|
29
31
|
|
|
30
32
|
### Example Prompts:
|
|
31
33
|
|
|
@@ -39,11 +41,11 @@ TestDriver.ai prompts are high-level instructions that describe what the AI shou
|
|
|
39
41
|
|
|
40
42
|
---
|
|
41
43
|
|
|
42
|
-
## Steps to Convert Gherkin to TestDriver
|
|
44
|
+
## Steps to Convert Gherkin to TestDriver Prompts
|
|
43
45
|
|
|
44
46
|
### Step 1: Understand the Mapping
|
|
45
47
|
|
|
46
|
-
| **Gherkin Keyword** | **TestDriver
|
|
48
|
+
| **Gherkin Keyword** | **TestDriver Prompt** |
|
|
47
49
|
|----------------------|----------------------------------------------|
|
|
48
50
|
| `Given` | Describes the initial state or setup. |
|
|
49
51
|
| `When` | Describes the user action. |
|
|
@@ -58,7 +60,7 @@ Take each step from the Gherkin scenario and rewrite it as a plain-text prompt.
|
|
|
58
60
|
|
|
59
61
|
#### Example:
|
|
60
62
|
|
|
61
|
-
| **Gherkin Step** | **TestDriver
|
|
63
|
+
| **Gherkin Step** | **TestDriver Prompt** |
|
|
62
64
|
|--------------------------------------|--------------------------------------|
|
|
63
65
|
| `Given the user is on the login page` | `the user is on the login page` |
|
|
64
66
|
| `When the user enters valid credentials` | `the user enters valid credentials` |
|
|
@@ -85,13 +87,13 @@ Combine the extracted prompts into a YAML file. Each step should be written as a
|
|
|
85
87
|
### Step 4: Save the YAML File
|
|
86
88
|
|
|
87
89
|
1. Save the YAML content to a file (e.g., `login_test.yml`).
|
|
88
|
-
2. Ensure the file is stored in the appropriate directory for your TestDriver
|
|
90
|
+
2. Ensure the file is stored in the appropriate directory for your TestDriver project (e.g., `testdriver/`).
|
|
89
91
|
|
|
90
92
|
---
|
|
91
93
|
|
|
92
|
-
### Step 5: Run the Test with TestDriver
|
|
94
|
+
### Step 5: Run the Test with TestDriver
|
|
93
95
|
|
|
94
|
-
Use the TestDriver
|
|
96
|
+
Use the TestDriver CLI to execute the test.
|
|
95
97
|
|
|
96
98
|
#### Command:
|
|
97
99
|
|
|
@@ -139,4 +141,4 @@ testdriverai run add_to_cart_test.yml
|
|
|
139
141
|
|
|
140
142
|
---
|
|
141
143
|
|
|
142
|
-
By following this guide, you can efficiently convert Gherkin scenarios into TestDriver
|
|
144
|
+
By following this guide, you can efficiently convert Gherkin scenarios into TestDriver prompts, enabling seamless integration of existing test cases into your TestDriver workflows.
|
package/docs/importing/jira.mdx
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Jira"
|
|
3
3
|
sidebarTitle: "Jira"
|
|
4
|
+
description: "Import user stories from Jira into TestDriver test files."
|
|
5
|
+
icon: "file-image"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
# Importing User Stories from Jira into TestDriver
|
|
8
|
+
# Importing User Stories from Jira into TestDriver Test Files
|
|
7
9
|
|
|
8
|
-
This guide explains how to extract **user stories** from Jira and convert them into **TestDriver
|
|
10
|
+
This guide explains how to extract **user stories** from Jira and convert them into **TestDriver test files**. By automating this process, you can ensure that your user stories are directly translated into actionable test cases for TestDriver.
|
|
9
11
|
|
|
10
12
|
---
|
|
11
13
|
|
|
12
14
|
## Workflow Overview
|
|
13
15
|
|
|
14
16
|
1. **Export User Stories from Jira**: Use the Jira API to fetch user stories.
|
|
15
|
-
2. **Convert User Stories to TestDriver
|
|
17
|
+
2. **Convert User Stories to TestDriver YAML**: Transform the user stories into YAML test files.
|
|
16
18
|
3. **Save and Organize Test Files**: Store the generated YAML files in a structured directory.
|
|
17
|
-
4. **Run Tests with TestDriver
|
|
19
|
+
4. **Run Tests with TestDriver**: Execute the tests using the TestDriver CLI.
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
@@ -115,7 +117,7 @@ fetchJiraTickets();
|
|
|
115
117
|
|
|
116
118
|
---
|
|
117
119
|
|
|
118
|
-
## Step 2: Convert User Stories to TestDriver
|
|
120
|
+
## Step 2: Convert User Stories to TestDriver YAML
|
|
119
121
|
|
|
120
122
|
The script above generates a YAML file for each Jira ticket. Each file contains the **acceptance criteria** as `prompt` entries.
|
|
121
123
|
|
|
@@ -134,13 +136,13 @@ steps:
|
|
|
134
136
|
## Step 3: Save and Organize Test Files
|
|
135
137
|
|
|
136
138
|
1. The generated YAML files will be saved in the `testdriver_tests/` directory.
|
|
137
|
-
2. Ensure the directory is part of your TestDriver
|
|
139
|
+
2. Ensure the directory is part of your TestDriver project structure.
|
|
138
140
|
|
|
139
141
|
---
|
|
140
142
|
|
|
141
|
-
## Step 4: Run Tests with TestDriver
|
|
143
|
+
## Step 4: Run Tests with TestDriver
|
|
142
144
|
|
|
143
|
-
Use the TestDriver
|
|
145
|
+
Use the TestDriver CLI to execute the generated test files.
|
|
144
146
|
|
|
145
147
|
### Run a Single Test File:
|
|
146
148
|
|
|
@@ -169,4 +171,4 @@ testdriverai run testdriver_tests/*.yml
|
|
|
169
171
|
|
|
170
172
|
## Summary
|
|
171
173
|
|
|
172
|
-
By following this guide, you can automate the process of importing user stories from Jira into TestDriver
|
|
174
|
+
By following this guide, you can automate the process of importing user stories from Jira into TestDriver test files. This ensures that your acceptance criteria are directly translated into actionable tests, streamlining your testing workflows and improving coverage.
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "TestRail"
|
|
3
3
|
sidebarTitle: "TestRail"
|
|
4
|
+
description: "Import test cases from TestRail into TestDriver."
|
|
5
|
+
icon: "square-pen"
|
|
4
6
|
---
|
|
5
7
|
|
|
6
|
-
This guide explains how to extract **test cases** from TestRail and convert them into **TestDriver
|
|
8
|
+
This guide explains how to extract **test cases** from TestRail and convert them into **TestDriver YAML test files**. By automating this process, you can ensure that your TestRail test cases are directly translated into actionable tests for TestDriver.
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
10
12
|
## Workflow Overview
|
|
11
13
|
|
|
12
14
|
1. **Export Test Cases from TestRail**: Use the TestRail API to fetch test cases.
|
|
13
|
-
2. **Convert Test Cases to TestDriver
|
|
15
|
+
2. **Convert Test Cases to TestDriver YAML**: Transform the test cases into YAML test files.
|
|
14
16
|
3. **Save and Organize Test Files**: Store the generated YAML files in a structured directory.
|
|
15
|
-
4. **Run Tests with TestDriver
|
|
17
|
+
4. **Run Tests with TestDriver**: Execute the tests using the TestDriver CLI.
|
|
16
18
|
|
|
17
19
|
---
|
|
18
20
|
|
|
@@ -111,7 +113,7 @@ fetchTestRailTestCases();
|
|
|
111
113
|
|
|
112
114
|
---
|
|
113
115
|
|
|
114
|
-
## Step 2: Convert Test Cases to TestDriver
|
|
116
|
+
## Step 2: Convert Test Cases to TestDriver YAML
|
|
115
117
|
|
|
116
118
|
The script above generates a YAML file for each TestRail test case. Each file contains the **steps** as `prompt` entries.
|
|
117
119
|
|
|
@@ -131,13 +133,13 @@ steps:
|
|
|
131
133
|
## Step 3: Save and Organize Test Files
|
|
132
134
|
|
|
133
135
|
1. The generated YAML files will be saved in the `testdriver_tests/` directory.
|
|
134
|
-
2. Ensure the directory is part of your TestDriver
|
|
136
|
+
2. Ensure the directory is part of your TestDriver project structure.
|
|
135
137
|
|
|
136
138
|
---
|
|
137
139
|
|
|
138
|
-
## Step 4: Run Tests with TestDriver
|
|
140
|
+
## Step 4: Run Tests with TestDriver
|
|
139
141
|
|
|
140
|
-
Use the TestDriver
|
|
142
|
+
Use the TestDriver CLI to execute the generated test files.
|
|
141
143
|
|
|
142
144
|
### Run a Single Test File:
|
|
143
145
|
|
|
@@ -158,4 +160,4 @@ testdriverai run testdriver_tests/test_123.yml
|
|
|
158
160
|
|
|
159
161
|
## Summary
|
|
160
162
|
|
|
161
|
-
By following this guide, you can automate the process of importing test cases from TestRail into TestDriver
|
|
163
|
+
By following this guide, you can automate the process of importing test cases from TestRail into TestDriver test files. This ensures that your test steps are directly translated into actionable tests, streamlining your testing workflows and improving coverage.
|
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Electron"
|
|
3
|
+
sidebarTitle: "Electron"
|
|
4
|
+
description: "Integrate TestDriver with Electron applications"
|
|
5
|
+
icon: "atom"
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
To integrate **TestDriver
|
|
8
|
+
To integrate **TestDriver** with a workflow that uses the **runner artifact URL** and **GitHub token** for downloading artifacts, you can modify the workflow to include these steps. Below is an example of how to adapt the workflow to ensure TestDriver can access the artifacts.
|
|
6
9
|
|
|
7
10
|
---
|
|
8
11
|
|
|
9
|
-
## Updated Workflow with TestDriver
|
|
12
|
+
## Updated Workflow with TestDriver Integration
|
|
10
13
|
|
|
11
|
-
This workflow builds the application, uploads the build as an artifact, and then uses TestDriver
|
|
14
|
+
This workflow builds the application, uploads the build as an artifact, and then uses TestDriver to download the artifact via the runner artifact URL and run tests.
|
|
12
15
|
|
|
13
|
-
### Workflow File: `.github/workflows/testdriver-integration.yml
|
|
14
|
-
|
|
16
|
+
### Workflow File: `.github/workflows/testdriver-integration.yml
|
|
17
|
+
```yaml
|
|
18
|
+
name: Build and Test with TestDriver
|
|
15
19
|
|
|
16
20
|
on:
|
|
17
21
|
push:
|
|
@@ -46,7 +50,7 @@ jobs:
|
|
|
46
50
|
path: dist/ # Replace with the path to your built application
|
|
47
51
|
|
|
48
52
|
test:
|
|
49
|
-
name: Test Application with TestDriver
|
|
53
|
+
name: Test Application with TestDriver
|
|
50
54
|
runs-on: ubuntu-latest
|
|
51
55
|
needs: build
|
|
52
56
|
steps:
|
|
@@ -55,10 +59,10 @@ jobs:
|
|
|
55
59
|
run: |
|
|
56
60
|
echo "ARTIFACT_URL=${{ github.server_url }}/repos/${{ github.repository }}/actions/artifacts" >> $GITHUB_ENV
|
|
57
61
|
|
|
58
|
-
- name: Run Tests with TestDriver
|
|
62
|
+
- name: Run Tests with TestDriver
|
|
59
63
|
uses: testdriverai/action@main
|
|
60
64
|
with:
|
|
61
|
-
key: ${{ secrets.
|
|
65
|
+
key: ${{ secrets.TD_API_KEY }}
|
|
62
66
|
prompt: |
|
|
63
67
|
1. Download the artifact from the runner URL
|
|
64
68
|
2. Extract the artifact
|
|
@@ -85,7 +89,8 @@ jobs:
|
|
|
85
89
|
## Key Changes and Explanation
|
|
86
90
|
|
|
87
91
|
### 1. **Artifact URL Retrieval**
|
|
88
|
-
The `Get Artifact URL` step constructs the artifact URL dynamically using the GitHub repository and server URL. This ensures the TestDriver
|
|
92
|
+
The `Get Artifact URL` step constructs the artifact URL dynamically using the GitHub repository and server URL. This ensures the TestDriver runner can download the artifact.
|
|
93
|
+
```yaml
|
|
89
94
|
- name: Get Artifact URL
|
|
90
95
|
id: artifact-url
|
|
91
96
|
run: |
|
|
@@ -96,7 +101,8 @@ The `Get Artifact URL` step constructs the artifact URL dynamically using the Gi
|
|
|
96
101
|
---
|
|
97
102
|
|
|
98
103
|
### 2. **Downloading the Artifact**
|
|
99
|
-
The `prerun` script in the TestDriver
|
|
104
|
+
The `prerun` script in the TestDriver action uses `curl` to download the artifact from the runner URL. The `GITHUB_TOKEN` is passed as a header for authentication.
|
|
105
|
+
```yaml
|
|
100
106
|
prerun: |
|
|
101
107
|
echo "Downloading artifact..."
|
|
102
108
|
curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
|
|
@@ -111,16 +117,17 @@ prerun: |
|
|
|
111
117
|
|
|
112
118
|
---
|
|
113
119
|
|
|
114
|
-
### 3. **TestDriver
|
|
115
|
-
The TestDriver
|
|
120
|
+
### 3. **TestDriver Integration**
|
|
121
|
+
The TestDriver action is configured to:
|
|
116
122
|
- Download the artifact.
|
|
117
123
|
- Extract the artifact.
|
|
118
124
|
- Run the application.
|
|
119
|
-
- Execute the specified test steps
|
|
120
|
-
|
|
125
|
+
- Execute the specified test steps.
|
|
126
|
+
```yaml
|
|
127
|
+
- name: Run Tests with TestDriver
|
|
121
128
|
uses: testdriverai/action@main
|
|
122
129
|
with:
|
|
123
|
-
key: ${{ secrets.
|
|
130
|
+
key: ${{ secrets.TD_API_KEY }}
|
|
124
131
|
prompt: |
|
|
125
132
|
1. Download the artifact from the runner URL
|
|
126
133
|
2. Extract the artifact
|
|
@@ -135,18 +142,18 @@ The TestDriver.ai action is configured to:
|
|
|
135
142
|
## Secrets Configuration
|
|
136
143
|
|
|
137
144
|
Add the following secrets to your GitHub repository:
|
|
138
|
-
1. **`
|
|
145
|
+
1. **`TD_API_KEY`**: Your TestDriver API key.
|
|
139
146
|
2. **`GITHUB_TOKEN`**: Automatically provided by GitHub Actions for authentication.
|
|
140
147
|
|
|
141
148
|
---
|
|
142
149
|
|
|
143
150
|
## Benefits of This Workflow
|
|
144
151
|
|
|
145
|
-
1. **Dynamic Artifact Access**: Ensures TestDriver
|
|
146
|
-
2. **Automated Testing**: Integrates TestDriver
|
|
152
|
+
1. **Dynamic Artifact Access**: Ensures TestDriver can download artifacts directly from the runner.
|
|
153
|
+
2. **Automated Testing**: Integrates TestDriver to validate the application after the build.
|
|
147
154
|
3. **Secure Authentication**: Uses the GitHub token for secure artifact access.
|
|
148
155
|
4. **Cross-Platform Support**: Can be adapted for different operating systems and environments.
|
|
149
156
|
|
|
150
157
|
---
|
|
151
158
|
|
|
152
|
-
By integrating TestDriver
|
|
159
|
+
By integrating TestDriver with the runner artifact URL and GitHub token, this workflow ensures seamless testing of your application builds.
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: "Netlify"
|
|
3
|
+
sidebarTitle: "Netlify"
|
|
4
|
+
description: "Integrate TestDriver with Netlify deployments using GitHub Actions."
|
|
5
|
+
icon: "cloud"
|
|
3
6
|
---
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
This guide explains how to integrate **TestDriver.ai** with **Netlify deployments** using the **GitHub Actions workflow**. By combining these tools, you can automatically test your Netlify preview deployments or production builds to ensure they meet your quality standards before merging or releasing.
|
|
8
|
+
This guide explains how to integrate **TestDriver** with **Netlify deployments** using the **GitHub Actions workflow**. By combining these tools, you can automatically test your Netlify preview deployments or production builds to ensure they meet your quality standards before merging or releasing.
|
|
8
9
|
|
|
9
10
|
---
|
|
10
11
|
|
|
11
12
|
## Workflow Overview
|
|
12
13
|
|
|
13
14
|
1. **Trigger Netlify Deployment**: Use Netlify's GitHub integration to deploy your application on every pull request or push to the main branch.
|
|
14
|
-
2. **Run Tests on the Deployment URL**: Use the TestDriver
|
|
15
|
+
2. **Run Tests on the Deployment URL**: Use the TestDriver GitHub Action to test the deployed application using the Netlify deployment URL.
|
|
15
16
|
3. **Report Results**: View test results in the GitHub Actions dashboard or as comments on the pull request.
|
|
16
17
|
|
|
17
18
|
---
|
|
@@ -19,32 +20,31 @@ This guide explains how to integrate **TestDriver.ai** with **Netlify deployment
|
|
|
19
20
|
## Prerequisites
|
|
20
21
|
|
|
21
22
|
1. **Netlify GitHub Integration**: Ensure your repository is connected to Netlify for automatic deployments.
|
|
22
|
-
2. **TestDriver
|
|
23
|
+
2. **TestDriver API Key**: Store your API key as a GitHub secret (e.g., `TD_API_KEY`).
|
|
23
24
|
3. **Netlify Deployment URL**: Use the `DEPLOY_URL` environment variable provided by Netlify to access the deployment.
|
|
24
25
|
|
|
25
26
|
---
|
|
26
27
|
|
|
27
28
|
## GitHub Actions Workflow
|
|
28
29
|
|
|
29
|
-
Here
|
|
30
|
+
Here's a complete workflow to test Netlify deployments with TestDriver:
|
|
30
31
|
|
|
31
|
-
### Workflow File: `.github/workflows/test-netlify.yml
|
|
32
|
-
|
|
32
|
+
### Workflow File: `.github/workflows/test-netlify.yml
|
|
33
|
+
```yaml
|
|
34
|
+
name: Test Netlify Deployment with TestDriver
|
|
33
35
|
|
|
34
36
|
on:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
workflow_dispatch:
|
|
37
|
+
pull_request:
|
|
38
|
+
push:
|
|
39
|
+
branches: - main
|
|
40
|
+
workflow_dispatch:
|
|
40
41
|
|
|
41
42
|
jobs:
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
uses: actions/checkout@v2
|
|
43
|
+
test-netlify:
|
|
44
|
+
name: Test Netlify Deployment
|
|
45
|
+
runs-on: ubuntu-latest
|
|
46
|
+
steps: - name: Check out repository
|
|
47
|
+
uses: actions/checkout@v2
|
|
48
48
|
|
|
49
49
|
- name: Wait for Netlify Deployment
|
|
50
50
|
id: netlify
|
|
@@ -56,10 +56,10 @@ jobs:
|
|
|
56
56
|
exit 1
|
|
57
57
|
fi
|
|
58
58
|
|
|
59
|
-
- name: Run Tests with TestDriver
|
|
59
|
+
- name: Run Tests with TestDriver
|
|
60
60
|
uses: testdriverai/action@main
|
|
61
61
|
with:
|
|
62
|
-
key: ${{ secrets.
|
|
62
|
+
key: ${{ secrets.TD_API_KEY }}
|
|
63
63
|
prompt: |
|
|
64
64
|
1. Open the deployment URL: $DEPLOY_URL
|
|
65
65
|
2. Verify the homepage loads correctly
|
|
@@ -78,7 +78,8 @@ jobs:
|
|
|
78
78
|
## Workflow Steps Explained
|
|
79
79
|
|
|
80
80
|
### 1. **Wait for Netlify Deployment**
|
|
81
|
-
Netlify automatically sets the `DEPLOY_URL` environment variable for each deployment. This step ensures the deployment URL is available before running tests
|
|
81
|
+
Netlify automatically sets the `DEPLOY_URL` environment variable for each deployment. This step ensures the deployment URL is available before running tests.
|
|
82
|
+
```yaml
|
|
82
83
|
- name: Wait for Netlify Deployment
|
|
83
84
|
id: netlify
|
|
84
85
|
run: |
|
|
@@ -93,6 +94,6 @@ Netlify automatically sets the `DEPLOY_URL` environment variable for each deploy
|
|
|
93
94
|
|
|
94
95
|
---
|
|
95
96
|
|
|
96
|
-
### 2. **Run Tests with TestDriver
|
|
97
|
-
The TestDriver.ai GitHub Action runs tests on the deployed application using the deployment URL. The `prompt` field specifies the test steps to execute.
|
|
97
|
+
### 2. **Run Tests with TestDriver**
|
|
98
98
|
|
|
99
|
+
The TestDriver GitHub Action runs tests on the deployed application using the deployment URL. The `prompt` field specifies the test steps to execute.
|