testdriverai 7.2.9 → 7.2.10
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/.github/workflows/testdriver.yml +127 -0
- package/.testdriver/last-sandbox +7 -0
- package/agent/events.js +1 -0
- package/agent/index.js +71 -54
- package/agent/lib/sandbox.js +11 -1
- package/agents.md +393 -0
- package/debug/01-table-initial.png +0 -0
- package/debug/02-after-ai-explore.png +0 -0
- package/debug/02-after-scroll.png +0 -0
- package/docs/docs.json +93 -125
- package/docs/v7/_drafts/caching.mdx +2 -2
- package/docs/v7/{getting-started → _drafts}/installation.mdx +0 -66
- package/docs/v7/{features/coverage.mdx → _drafts/powerful.mdx} +1 -90
- package/docs/v7/{features → _drafts}/scalable.mdx +126 -4
- package/docs/v7/_drafts/screenshot.mdx +155 -0
- package/docs/v7/_drafts/writing-tests.mdx +25 -0
- package/docs/v7/{api/act.mdx → ai.mdx} +27 -27
- package/docs/v7/{api/assert.mdx → assert.mdx} +3 -3
- package/docs/v7/aws-setup.mdx +338 -0
- package/docs/v7/caching.mdx +128 -0
- package/docs/v7/ci-cd.mdx +605 -0
- package/docs/v7/{api/click.mdx → click.mdx} +4 -4
- package/docs/v7/cloud.mdx +120 -0
- package/docs/v7/customizing-devices.mdx +129 -0
- package/docs/v7/{api/doubleClick.mdx → double-click.mdx} +5 -5
- package/docs/v7/enterprise.mdx +135 -0
- package/docs/v7/examples.mdx +5 -0
- package/docs/v7/{api/exec.mdx → exec.mdx} +3 -3
- package/docs/v7/{api/find.mdx → find.mdx} +17 -21
- package/docs/v7/{api/focusApplication.mdx → focus-application.mdx} +3 -3
- package/docs/v7/generating-tests.mdx +32 -0
- package/docs/v7/{api/hover.mdx → hover.mdx} +3 -3
- package/docs/v7/locating-elements.mdx +71 -0
- package/docs/v7/making-assertions.mdx +32 -0
- package/docs/v7/{api/mouseDown.mdx → mouse-down.mdx} +7 -7
- package/docs/v7/{api/mouseUp.mdx → mouse-up.mdx} +8 -8
- package/docs/v7/performing-actions.mdx +51 -0
- package/docs/v7/{api/pressKeys.mdx → press-keys.mdx} +3 -3
- package/docs/v7/quickstart.mdx +162 -0
- package/docs/v7/reusable-code.mdx +240 -0
- package/docs/v7/{api/rightClick.mdx → right-click.mdx} +5 -5
- package/docs/v7/running-tests.mdx +181 -0
- package/docs/v7/{api/scroll.mdx → scroll.mdx} +3 -3
- package/docs/v7/secrets.mdx +115 -0
- package/docs/v7/self-hosted.mdx +66 -0
- package/docs/v7/{api/type.mdx → type.mdx} +3 -3
- package/docs/v7/variables.mdx +111 -0
- package/docs/v7/waiting-for-elements.mdx +66 -0
- package/docs/v7/what-is-testdriver.mdx +54 -0
- package/lib/vitest/hooks.mjs +80 -68
- package/package.json +1 -1
- package/sdk.d.ts +22 -9
- package/sdk.js +177 -44
- package/test/manual/reconnect-provision.test.mjs +49 -0
- package/test/manual/reconnect-signin.test.mjs +41 -0
- package/test/testdriver/ai.test.mjs +30 -0
- package/test/testdriver/setup/testHelpers.mjs +0 -1
- package/test/testdriver/windows-installer.test.mjs +61 -0
- package/tests/table-sort-enrollments.test.mjs +72 -0
- package/tests/table-sort-experiment.test.mjs +42 -0
- package/tests/table-sort-setup.test.mjs +59 -0
- package/vitest.config.mjs +1 -0
- package/docs/v7/api/assertions.mdx +0 -403
- package/docs/v7/features/ai-native.mdx +0 -413
- package/docs/v7/features/application-logs.mdx +0 -353
- package/docs/v7/features/browser-logs.mdx +0 -414
- package/docs/v7/features/cache-management.mdx +0 -402
- package/docs/v7/features/continuous-testing.mdx +0 -346
- package/docs/v7/features/data-driven-testing.mdx +0 -441
- package/docs/v7/features/easy-to-write.mdx +0 -280
- package/docs/v7/features/enterprise.mdx +0 -656
- package/docs/v7/features/fast.mdx +0 -406
- package/docs/v7/features/managed-sandboxes.mdx +0 -384
- package/docs/v7/features/network-monitoring.mdx +0 -568
- package/docs/v7/features/parallel-execution.mdx +0 -381
- package/docs/v7/features/powerful.mdx +0 -531
- package/docs/v7/features/sandbox-customization.mdx +0 -229
- package/docs/v7/features/stable.mdx +0 -473
- package/docs/v7/features/system-performance.mdx +0 -616
- package/docs/v7/features/test-analytics.mdx +0 -373
- package/docs/v7/features/test-cases.mdx +0 -393
- package/docs/v7/features/test-replays.mdx +0 -408
- package/docs/v7/features/test-reports.mdx +0 -308
- package/docs/v7/getting-started/debugging-tests.mdx +0 -382
- package/docs/v7/getting-started/quickstart.mdx +0 -90
- package/docs/v7/getting-started/running-tests.mdx +0 -173
- package/docs/v7/getting-started/setting-up-in-ci.mdx +0 -612
- package/docs/v7/getting-started/writing-tests.mdx +0 -534
- package/docs/v7/overview/what-is-testdriver.mdx +0 -386
- package/docs/v7/presets/chrome-extension.mdx +0 -248
- package/docs/v7/presets/chrome.mdx +0 -300
- package/docs/v7/presets/electron.mdx +0 -460
- package/docs/v7/presets/vscode.mdx +0 -417
- package/docs/v7/presets/webapp.mdx +0 -393
- package/vitest.config.js +0 -18
- /package/docs/v7/{commands → _drafts/commands}/assert.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/exec.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/focus-application.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/hover-image.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/hover-text.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/if.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/match-image.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/press-keys.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/remember.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/run.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/scroll-until-image.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/scroll-until-text.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/scroll.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/type.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/wait-for-image.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/wait-for-text.mdx +0 -0
- /package/docs/v7/{commands → _drafts/commands}/wait.mdx +0 -0
- /package/docs/v7/{getting-started → _drafts}/configuration.mdx +0 -0
- /package/docs/v7/{features → _drafts}/observable.mdx +0 -0
- /package/docs/v7/{platforms → _drafts/platforms}/linux.mdx +0 -0
- /package/docs/v7/{platforms → _drafts/platforms}/macos.mdx +0 -0
- /package/docs/v7/{platforms → _drafts/platforms}/windows.mdx +0 -0
- /package/docs/v7/{playwright.mdx → _drafts/playwright.mdx} +0 -0
- /package/docs/v7/{overview → _drafts}/readme.mdx +0 -0
- /package/docs/v7/{features → _drafts}/reports.mdx +0 -0
- /package/docs/v7/{api/client.mdx → client.mdx} +0 -0
- /package/docs/v7/{api/dashcam.mdx → dashcam.mdx} +0 -0
- /package/docs/v7/{api/elements.mdx → elements.mdx} +0 -0
- /package/docs/v7/{api/sandbox.mdx → sandbox.mdx} +0 -0
|
@@ -1,408 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Test Replays"
|
|
3
|
-
description: "Video replays with logs, network data, and performance metrics for debugging"
|
|
4
|
-
icon: "video"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Every test automatically records a complete replay with video, step-by-step logs, browser console output, network requests, and performance metrics. Perfect for debugging failures and sharing with your team.
|
|
8
|
-
|
|
9
|
-
## Dashcam Replays
|
|
10
|
-
|
|
11
|
-
Access test replays at [app.testdriver.ai/replays](https://app.testdriver.ai/replays):
|
|
12
|
-
|
|
13
|
-
<Card title="Test Replays" icon="video" href="https://app.testdriver.ai/replays">
|
|
14
|
-
View all test replays with video and debugging information
|
|
15
|
-
</Card>
|
|
16
|
-
|
|
17
|
-
### What's Included
|
|
18
|
-
|
|
19
|
-
Every replay captures:
|
|
20
|
-
|
|
21
|
-
<CardGroup cols={2}>
|
|
22
|
-
<Card title="Video Recording" icon="video">
|
|
23
|
-
- Full screen recording
|
|
24
|
-
- Playback controls (play, pause, skip)
|
|
25
|
-
- Adjustable speed (0.5x to 3x)
|
|
26
|
-
- Frame-by-frame navigation
|
|
27
|
-
</Card>
|
|
28
|
-
|
|
29
|
-
<Card title="Action Steps" icon="list">
|
|
30
|
-
- Every TestDriver command
|
|
31
|
-
- Timestamps for each action
|
|
32
|
-
- Element coordinates found
|
|
33
|
-
- AI vision analysis results
|
|
34
|
-
</Card>
|
|
35
|
-
|
|
36
|
-
<Card title="Console Logs" icon="terminal">
|
|
37
|
-
- Browser console output
|
|
38
|
-
- JavaScript errors
|
|
39
|
-
- Warnings and info logs
|
|
40
|
-
- Custom console.log() statements
|
|
41
|
-
</Card>
|
|
42
|
-
|
|
43
|
-
<Card title="Network Activity" icon="network-wired">
|
|
44
|
-
- All HTTP requests
|
|
45
|
-
- Response status codes
|
|
46
|
-
- Request/response timing
|
|
47
|
-
- Downloaded/uploaded data
|
|
48
|
-
</Card>
|
|
49
|
-
|
|
50
|
-
<Card title="Performance Charts" icon="chart-line">
|
|
51
|
-
- CPU usage over time
|
|
52
|
-
- Memory usage trends
|
|
53
|
-
- Top 10 processes
|
|
54
|
-
- Resource utilization
|
|
55
|
-
</Card>
|
|
56
|
-
|
|
57
|
-
<Card title="Environment Info" icon="server">
|
|
58
|
-
- Operating system
|
|
59
|
-
- Browser version
|
|
60
|
-
- Screen resolution
|
|
61
|
-
- Sandbox details
|
|
62
|
-
</Card>
|
|
63
|
-
</CardGroup>
|
|
64
|
-
|
|
65
|
-
## Video Player
|
|
66
|
-
|
|
67
|
-
Interactive video playback with timeline:
|
|
68
|
-
|
|
69
|
-
```
|
|
70
|
-
Replay Interface:
|
|
71
|
-
┌─────────────────────────────────────────────────────┐
|
|
72
|
-
│ │
|
|
73
|
-
│ [Video of test execution] │
|
|
74
|
-
│ │
|
|
75
|
-
└─────────────────────────────────────────────────────┘
|
|
76
|
-
|
|
77
|
-
[◀◀] [▶/⏸] [▶▶] 0:45 / 2:30 [0.5x][1x][2x][3x]
|
|
78
|
-
|
|
79
|
-
Timeline:
|
|
80
|
-
|─────────○────────────────────────|
|
|
81
|
-
Current position
|
|
82
|
-
|
|
83
|
-
Speed Controls:
|
|
84
|
-
- Skip downtime: ON [toggle]
|
|
85
|
-
- Playback speed: 1x
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Timeline Features
|
|
89
|
-
|
|
90
|
-
Navigate test execution:
|
|
91
|
-
|
|
92
|
-
- **Action Markers** - Click to jump to specific TestDriver commands
|
|
93
|
-
- **Error Markers** - Red indicators show where failures occurred
|
|
94
|
-
- **Screenshot Points** - View captured screenshots at each step
|
|
95
|
-
- **Skip Downtime** - Automatically fast-forward through idle periods
|
|
96
|
-
|
|
97
|
-
## Action Log Panel
|
|
98
|
-
|
|
99
|
-
Step-by-step test execution details:
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
Steps:
|
|
103
|
-
┌────────────────────────────────────────────────────┐
|
|
104
|
-
│ [0:00] 🟢 Find │
|
|
105
|
-
│ "testdriver-sandbox.vercel.app" not found │
|
|
106
|
-
│ Text: Element not found │
|
|
107
|
-
│ [Screenshot] │
|
|
108
|
-
├────────────────────────────────────────────────────┤
|
|
109
|
-
│ [0:15] 🟢 Find │
|
|
110
|
-
│ "testdriver-sandbox.vercel.app" │
|
|
111
|
-
│ Text: [Passed] │
|
|
112
|
-
│ [Screenshot] │
|
|
113
|
-
├────────────────────────────────────────────────────┤
|
|
114
|
-
│ [0:32] 🟢 Find │
|
|
115
|
-
│ "Sign in, black button below the password fld" │
|
|
116
|
-
│ Text: [Passed] │
|
|
117
|
-
│ Coordinates: (512, 387) │
|
|
118
|
-
│ [Screenshot] │
|
|
119
|
-
└────────────────────────────────────────────────────┘
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Each step shows:
|
|
123
|
-
- **Timestamp** - When action occurred
|
|
124
|
-
- **Status** - Pass/fail indicator
|
|
125
|
-
- **Command** - TestDriver action
|
|
126
|
-
- **Description** - Natural language selector
|
|
127
|
-
- **Result** - Element found or error message
|
|
128
|
-
- **Screenshot** - Visual confirmation
|
|
129
|
-
|
|
130
|
-
## Console Logs Tab
|
|
131
|
-
|
|
132
|
-
View browser console output:
|
|
133
|
-
|
|
134
|
-
```
|
|
135
|
-
Console Output:
|
|
136
|
-
┌────────────────────────────────────────────────────┐
|
|
137
|
-
│ [0:05] ℹ️ System info configured │
|
|
138
|
-
│ [0:08] ℹ️ Response cache: /Users/...cache.json │
|
|
139
|
-
│ [0:12] ✓ Response was successful! │
|
|
140
|
-
│ [0:18] ⚠️ Warning: Deprecated API usage │
|
|
141
|
-
│ [0:25] ❌ TypeError: Cannot read property 'id' │
|
|
142
|
-
│ at checkout.js:42:15 │
|
|
143
|
-
└────────────────────────────────────────────────────┘
|
|
144
|
-
|
|
145
|
-
Filters:
|
|
146
|
-
□ Errors □ Warnings ☑ Info □ Debug
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
**Debugging Value:**
|
|
150
|
-
- Catch JavaScript errors
|
|
151
|
-
- Monitor application state
|
|
152
|
-
- Track API responses
|
|
153
|
-
- Debug timing issues
|
|
154
|
-
|
|
155
|
-
## Browser Tab
|
|
156
|
-
|
|
157
|
-
Access browser-specific debugging:
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
Browser Information:
|
|
161
|
-
┌────────────────────────────────────────────────────┐
|
|
162
|
-
│ User Agent: │
|
|
163
|
-
│ Mozilla/5.0 (X11; Linux x86_64) Chrome/120.0 │
|
|
164
|
-
│ │
|
|
165
|
-
│ Viewport: 1280 x 720 │
|
|
166
|
-
│ Device Scale: 1.0 │
|
|
167
|
-
│ Color Depth: 24-bit │
|
|
168
|
-
│ │
|
|
169
|
-
│ Cookies: 12 stored │
|
|
170
|
-
│ Local Storage: 3 items │
|
|
171
|
-
│ Session Storage: 1 item │
|
|
172
|
-
└────────────────────────────────────────────────────┘
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## Performance Charts Tab
|
|
176
|
-
|
|
177
|
-
Monitor system resource usage:
|
|
178
|
-
|
|
179
|
-
### CPU Usage
|
|
180
|
-
|
|
181
|
-
```
|
|
182
|
-
CPU Usage Over Time:
|
|
183
|
-
┌────────────────────────────────────────────────────┐
|
|
184
|
-
│ 60% │ ╱╲ │
|
|
185
|
-
│ │ ╱ ╲ │
|
|
186
|
-
│ 40% │ ╱╲╱ ╲ │
|
|
187
|
-
│ │ ╱╲╱ ╲╱╲ │
|
|
188
|
-
│ 20% │ ╱╲╱ ╲ │
|
|
189
|
-
│ │ ╱╱ ╲╱╲ │
|
|
190
|
-
│ 0% └──────────────────────────────────────────── │
|
|
191
|
-
│ 0s 10s 20s 30s 40s 50s 60s │
|
|
192
|
-
└────────────────────────────────────────────────────┘
|
|
193
|
-
|
|
194
|
-
System CPU Usage (%)
|
|
195
|
-
Peak: 58.5% at 35s
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
### Memory Usage
|
|
199
|
-
|
|
200
|
-
```
|
|
201
|
-
Memory Usage Over Time:
|
|
202
|
-
┌────────────────────────────────────────────────────┐
|
|
203
|
-
│ 72 │ │
|
|
204
|
-
│ GB │ ╱───── │
|
|
205
|
-
│ 68 │ ╱────╱ │
|
|
206
|
-
│ │ ╱────╱ │
|
|
207
|
-
│ 64 │ ╱────╱ │
|
|
208
|
-
│ │ ╱────╱ │
|
|
209
|
-
│ 60 │─────╱ │
|
|
210
|
-
│ └──────────────────────────────────────────── │
|
|
211
|
-
│ 0s 10s 20s 30s 40s 50s 60s │
|
|
212
|
-
└────────────────────────────────────────────────────┘
|
|
213
|
-
|
|
214
|
-
System Memory Usage (%)
|
|
215
|
-
Peak: 71.2% (68.8 GB used)
|
|
216
|
-
```
|
|
217
|
-
|
|
218
|
-
### Network Traffic
|
|
219
|
-
|
|
220
|
-
```
|
|
221
|
-
Network Traffic:
|
|
222
|
-
┌────────────────────────────────────────────────────┐
|
|
223
|
-
│ Download (MB/s): ▂▃▅▇▇▃▂▁ │
|
|
224
|
-
│ Upload (MB/s): ▁▁▂▂▁▁▁▁ │
|
|
225
|
-
│ │
|
|
226
|
-
│ Total Downloaded: 2.8 MB │
|
|
227
|
-
│ Total Uploaded: 0.4 MB │
|
|
228
|
-
└────────────────────────────────────────────────────┘
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
### Top Processes by CPU
|
|
232
|
-
|
|
233
|
-
```
|
|
234
|
-
Top 10 CPU-Intensive Processes:
|
|
235
|
-
┌────────────────────────────────────────────────────┐
|
|
236
|
-
│ chromium (PID 2766) ████████████ 45% │
|
|
237
|
-
│ python (PID 2845) ██████ 22% │
|
|
238
|
-
│ Xvfb (PID 2634) ████ 15% │
|
|
239
|
-
│ testdriver (PID 3012) ███ 10% │
|
|
240
|
-
│ node (PID 2890) ██ 5% │
|
|
241
|
-
│ bash (PID 2521) ▌ 1.5% │
|
|
242
|
-
│ systemd (PID 1) ▌ 0.8% │
|
|
243
|
-
│ sshd (PID 1234) ▌ 0.5% │
|
|
244
|
-
└────────────────────────────────────────────────────┘
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
**Performance Insights:**
|
|
248
|
-
- Identify resource bottlenecks
|
|
249
|
-
- Monitor browser performance
|
|
250
|
-
- Track memory leaks
|
|
251
|
-
- Optimize heavy operations
|
|
252
|
-
|
|
253
|
-
## Environment Tab
|
|
254
|
-
|
|
255
|
-
Complete test environment details:
|
|
256
|
-
|
|
257
|
-
```
|
|
258
|
-
Environment Information:
|
|
259
|
-
┌────────────────────────────────────────────────────┐
|
|
260
|
-
│ Operating System: Ubuntu 22.04 LTS │
|
|
261
|
-
│ Kernel: 5.15.0-91-generic │
|
|
262
|
-
│ │
|
|
263
|
-
│ Browser: Google Chrome 120.0.6099.109 │
|
|
264
|
-
│ WebDriver: ChromeDriver 120.0.6099.71 │
|
|
265
|
-
│ │
|
|
266
|
-
│ TestDriver SDK: v7.2.1 │
|
|
267
|
-
│ Node.js: v20.10.0 │
|
|
268
|
-
│ Python: 3.11.6 │
|
|
269
|
-
│ │
|
|
270
|
-
│ Sandbox ID: i-0abc123def456789 │
|
|
271
|
-
│ Instance Type: t3.medium │
|
|
272
|
-
│ Region: us-east-1 │
|
|
273
|
-
│ │
|
|
274
|
-
│ Screen Resolution: 1280x720 │
|
|
275
|
-
│ Color Depth: 24-bit │
|
|
276
|
-
│ Timezone: UTC │
|
|
277
|
-
└────────────────────────────────────────────────────┘
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
## Sharing Replays
|
|
281
|
-
|
|
282
|
-
Share debugging information with your team:
|
|
283
|
-
|
|
284
|
-
<Tabs>
|
|
285
|
-
<Tab title="Public Link">
|
|
286
|
-
```javascript
|
|
287
|
-
const { dashcam } = await chrome(context, { url });
|
|
288
|
-
|
|
289
|
-
console.log('Public replay:', dashcam.url);
|
|
290
|
-
// https://app.testdriver.ai/replay/abc123
|
|
291
|
-
|
|
292
|
-
// Anyone with link can view
|
|
293
|
-
```
|
|
294
|
-
</Tab>
|
|
295
|
-
|
|
296
|
-
<Tab title="Team Link">
|
|
297
|
-
```javascript
|
|
298
|
-
const { dashcam } = await chrome(context, { url });
|
|
299
|
-
|
|
300
|
-
console.log('Team only:', dashcam.privateUrl);
|
|
301
|
-
// https://app.testdriver.ai/replay/abc123?access=team
|
|
302
|
-
|
|
303
|
-
// Requires team authentication
|
|
304
|
-
```
|
|
305
|
-
</Tab>
|
|
306
|
-
|
|
307
|
-
<Tab title="Embed Link">
|
|
308
|
-
```javascript
|
|
309
|
-
const { dashcam } = await chrome(context, { url });
|
|
310
|
-
|
|
311
|
-
console.log('Embed URL:', dashcam.embedUrl);
|
|
312
|
-
// https://app.testdriver.ai/embed/abc123
|
|
313
|
-
|
|
314
|
-
// Use in iframe for documentation
|
|
315
|
-
```
|
|
316
|
-
</Tab>
|
|
317
|
-
</Tabs>
|
|
318
|
-
|
|
319
|
-
## Download Replay
|
|
320
|
-
|
|
321
|
-
Export replay data:
|
|
322
|
-
|
|
323
|
-
<CardGroup cols={2}>
|
|
324
|
-
<Card title="Video File" icon="file-video">
|
|
325
|
-
Download MP4 video file
|
|
326
|
-
- Full test execution
|
|
327
|
-
- Shareable format
|
|
328
|
-
- Offline viewing
|
|
329
|
-
</Card>
|
|
330
|
-
|
|
331
|
-
<Card title="HAR File" icon="file-code">
|
|
332
|
-
HTTP Archive format
|
|
333
|
-
- All network requests
|
|
334
|
-
- Chrome DevTools compatible
|
|
335
|
-
- Performance analysis
|
|
336
|
-
</Card>
|
|
337
|
-
|
|
338
|
-
<Card title="Screenshots" icon="images">
|
|
339
|
-
ZIP file of all screenshots
|
|
340
|
-
- PNG format
|
|
341
|
-
- Timestamped filenames
|
|
342
|
-
- Step-by-step visuals
|
|
343
|
-
</Card>
|
|
344
|
-
|
|
345
|
-
<Card title="JSON Data" icon="file-lines">
|
|
346
|
-
Complete replay data
|
|
347
|
-
- Action log
|
|
348
|
-
- Console logs
|
|
349
|
-
- Metrics and timing
|
|
350
|
-
</Card>
|
|
351
|
-
</CardGroup>
|
|
352
|
-
|
|
353
|
-
## Replay API Access
|
|
354
|
-
|
|
355
|
-
Programmatic access to replays:
|
|
356
|
-
|
|
357
|
-
```javascript
|
|
358
|
-
// Fetch replay data
|
|
359
|
-
const response = await fetch(
|
|
360
|
-
'https://api.testdriver.ai/v1/replays/abc123',
|
|
361
|
-
{
|
|
362
|
-
headers: {
|
|
363
|
-
'Authorization': `Bearer ${TD_API_KEY}`
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
);
|
|
367
|
-
|
|
368
|
-
const replay = await response.json();
|
|
369
|
-
console.log(replay.actions); // Step-by-step log
|
|
370
|
-
console.log(replay.videoUrl); // MP4 download URL
|
|
371
|
-
console.log(replay.performance); // Metrics data
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
## Learn More
|
|
375
|
-
|
|
376
|
-
<CardGroup cols={2}>
|
|
377
|
-
<Card
|
|
378
|
-
title="Observability & Debugging"
|
|
379
|
-
icon="microscope"
|
|
380
|
-
href="/v7/features/observable"
|
|
381
|
-
>
|
|
382
|
-
Complete debugging guide
|
|
383
|
-
</Card>
|
|
384
|
-
|
|
385
|
-
<Card
|
|
386
|
-
title="Test Reports"
|
|
387
|
-
icon="list-check"
|
|
388
|
-
href="/v7/features/test-reports"
|
|
389
|
-
>
|
|
390
|
-
View test run summaries
|
|
391
|
-
</Card>
|
|
392
|
-
|
|
393
|
-
<Card
|
|
394
|
-
title="Test Cases"
|
|
395
|
-
icon="file-lines"
|
|
396
|
-
href="/v7/features/test-cases"
|
|
397
|
-
>
|
|
398
|
-
Individual test histories
|
|
399
|
-
</Card>
|
|
400
|
-
|
|
401
|
-
<Card
|
|
402
|
-
title="Performance"
|
|
403
|
-
icon="gauge-high"
|
|
404
|
-
href="/v7/features/fast"
|
|
405
|
-
>
|
|
406
|
-
Optimize test speed
|
|
407
|
-
</Card>
|
|
408
|
-
</CardGroup>
|
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Test Reports"
|
|
3
|
-
description: "Comprehensive test run reports with pass/fail status and CI/CD integration"
|
|
4
|
-
icon: "list-check"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
View all test runs, their status, and detailed execution information in the TestDriver dashboard. Track test results across branches, commits, and CI/CD pipelines.
|
|
8
|
-
|
|
9
|
-
## Test Runs Dashboard
|
|
10
|
-
|
|
11
|
-
Access all test runs at [app.testdriver.ai/runs](https://app.testdriver.ai/runs):
|
|
12
|
-
|
|
13
|
-
<Card title="Test Runs" icon="list" href="https://app.testdriver.ai/runs">
|
|
14
|
-
View all test executions with filtering and search
|
|
15
|
-
</Card>
|
|
16
|
-
|
|
17
|
-
### Available Information
|
|
18
|
-
|
|
19
|
-
Each test run displays:
|
|
20
|
-
|
|
21
|
-
- **Test Suite** - Which test file or suite ran
|
|
22
|
-
- **Status** - PASSED, FAILED, RUNNING, or SKIPPED
|
|
23
|
-
- **Platform** - OS and browser used (e.g., Linux + Chrome)
|
|
24
|
-
- **Tests** - Number of test cases (e.g., 13 / 23)
|
|
25
|
-
- **Pass Rate** - Success percentage (e.g., 55%)
|
|
26
|
-
- **Duration** - Total execution time
|
|
27
|
-
- **CI/CD** - Branch and commit information
|
|
28
|
-
- **Timestamp** - When the test ran
|
|
29
|
-
|
|
30
|
-
### Test Run Statuses
|
|
31
|
-
|
|
32
|
-
<CardGroup cols={2}>
|
|
33
|
-
<Card title="PASSED" icon="check" color="green">
|
|
34
|
-
All tests in the suite passed successfully
|
|
35
|
-
</Card>
|
|
36
|
-
|
|
37
|
-
<Card title="FAILED" icon="xmark" color="red">
|
|
38
|
-
One or more tests failed
|
|
39
|
-
</Card>
|
|
40
|
-
|
|
41
|
-
<Card title="RUNNING" icon="spinner" color="yellow">
|
|
42
|
-
Test suite is currently executing
|
|
43
|
-
</Card>
|
|
44
|
-
|
|
45
|
-
<Card title="SKIPPED" icon="forward" color="gray">
|
|
46
|
-
Tests were skipped or not run
|
|
47
|
-
</Card>
|
|
48
|
-
</CardGroup>
|
|
49
|
-
|
|
50
|
-
## Filtering & Search
|
|
51
|
-
|
|
52
|
-
Find specific test runs quickly:
|
|
53
|
-
|
|
54
|
-
<Tabs>
|
|
55
|
-
<Tab title="Time Period">
|
|
56
|
-
```
|
|
57
|
-
Last 24 hours
|
|
58
|
-
Last week
|
|
59
|
-
Last month
|
|
60
|
-
Custom date range
|
|
61
|
-
```
|
|
62
|
-
</Tab>
|
|
63
|
-
|
|
64
|
-
<Tab title="Branch">
|
|
65
|
-
```
|
|
66
|
-
main
|
|
67
|
-
develop
|
|
68
|
-
feature/new-checkout
|
|
69
|
-
Custom branch name
|
|
70
|
-
```
|
|
71
|
-
</Tab>
|
|
72
|
-
|
|
73
|
-
<Tab title="Repository">
|
|
74
|
-
```
|
|
75
|
-
All repositories
|
|
76
|
-
my-app
|
|
77
|
-
frontend
|
|
78
|
-
backend
|
|
79
|
-
```
|
|
80
|
-
</Tab>
|
|
81
|
-
|
|
82
|
-
<Tab title="Suite">
|
|
83
|
-
```
|
|
84
|
-
All suites
|
|
85
|
-
test/login.test.js
|
|
86
|
-
test/checkout.test.js
|
|
87
|
-
Custom test file
|
|
88
|
-
```
|
|
89
|
-
</Tab>
|
|
90
|
-
|
|
91
|
-
<Tab title="Status">
|
|
92
|
-
```
|
|
93
|
-
All statuses
|
|
94
|
-
PASSED only
|
|
95
|
-
FAILED only
|
|
96
|
-
RUNNING only
|
|
97
|
-
```
|
|
98
|
-
</Tab>
|
|
99
|
-
</Tabs>
|
|
100
|
-
|
|
101
|
-
## JUnit XML Integration
|
|
102
|
-
|
|
103
|
-
Export test results in JUnit format for CI/CD platforms:
|
|
104
|
-
|
|
105
|
-
```bash
|
|
106
|
-
# Generate JUnit report
|
|
107
|
-
npx vitest run --reporter=junit --outputFile=test-results.xml
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
```xml test-results.xml
|
|
111
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
112
|
-
<testsuites name="vitest tests" tests="23" failures="2" errors="0" time="125.3">
|
|
113
|
-
<testsuite name="login.test.js" tests="5" failures="1" time="31.2">
|
|
114
|
-
<testcase name="user can login" time="12.4" />
|
|
115
|
-
<testcase name="invalid credentials show error" time="9.8">
|
|
116
|
-
<failure message="AssertionError: Element not found">
|
|
117
|
-
at TestDriver.find (sdk.js:234)
|
|
118
|
-
at login.test.js:15
|
|
119
|
-
</failure>
|
|
120
|
-
</testcase>
|
|
121
|
-
<testcase name="password reset works" time="9.0" />
|
|
122
|
-
</testsuite>
|
|
123
|
-
<testsuite name="checkout.test.js" tests="8" failures="0" time="45.6">
|
|
124
|
-
<!-- More test cases -->
|
|
125
|
-
</testsuite>
|
|
126
|
-
</testsuites>
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
<Check>
|
|
130
|
-
JUnit reports integrate with Jenkins, GitHub Actions, GitLab CI, CircleCI, Azure DevOps, and TeamCity.
|
|
131
|
-
</Check>
|
|
132
|
-
|
|
133
|
-
## CI/CD Integration
|
|
134
|
-
|
|
135
|
-
TestDriver automatically captures CI/CD context:
|
|
136
|
-
|
|
137
|
-
<Tabs>
|
|
138
|
-
<Tab title="GitHub Actions">
|
|
139
|
-
```yaml .github/workflows/test.yml
|
|
140
|
-
name: E2E Tests
|
|
141
|
-
|
|
142
|
-
on: [push, pull_request]
|
|
143
|
-
|
|
144
|
-
jobs:
|
|
145
|
-
test:
|
|
146
|
-
runs-on: ubuntu-latest
|
|
147
|
-
steps:
|
|
148
|
-
- uses: actions/checkout@v3
|
|
149
|
-
- uses: actions/setup-node@v3
|
|
150
|
-
- run: npm install
|
|
151
|
-
- run: npx vitest run
|
|
152
|
-
env:
|
|
153
|
-
TD_API_KEY: ${{ secrets.TD_API_KEY }}
|
|
154
|
-
GITHUB_SHA: ${{ github.sha }}
|
|
155
|
-
GITHUB_REF: ${{ github.ref }}
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
Test runs show:
|
|
159
|
-
- Branch name
|
|
160
|
-
- Commit SHA
|
|
161
|
-
- Pull request number
|
|
162
|
-
- Workflow run ID
|
|
163
|
-
</Tab>
|
|
164
|
-
|
|
165
|
-
<Tab title="GitLab CI">
|
|
166
|
-
```yaml .gitlab-ci.yml
|
|
167
|
-
test:
|
|
168
|
-
image: node:20
|
|
169
|
-
script:
|
|
170
|
-
- npm install
|
|
171
|
-
- npx vitest run
|
|
172
|
-
variables:
|
|
173
|
-
TD_API_KEY: $TD_API_KEY
|
|
174
|
-
artifacts:
|
|
175
|
-
reports:
|
|
176
|
-
junit: junit.xml
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
Test runs show:
|
|
180
|
-
- Branch/tag name
|
|
181
|
-
- Commit SHA
|
|
182
|
-
- Pipeline ID
|
|
183
|
-
- Job ID
|
|
184
|
-
</Tab>
|
|
185
|
-
|
|
186
|
-
<Tab title="CircleCI">
|
|
187
|
-
```yaml .circleci/config.yml
|
|
188
|
-
version: 2.1
|
|
189
|
-
jobs:
|
|
190
|
-
test:
|
|
191
|
-
docker:
|
|
192
|
-
- image: cimg/node:20.0
|
|
193
|
-
steps:
|
|
194
|
-
- checkout
|
|
195
|
-
- run: npm install
|
|
196
|
-
- run: npx vitest run
|
|
197
|
-
environment:
|
|
198
|
-
TD_API_KEY: ${TD_API_KEY}
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
Test runs show:
|
|
202
|
-
- Branch name
|
|
203
|
-
- Build number
|
|
204
|
-
- Workflow ID
|
|
205
|
-
</Tab>
|
|
206
|
-
</Tabs>
|
|
207
|
-
|
|
208
|
-
## Branch & Commit Tracking
|
|
209
|
-
|
|
210
|
-
Track test results across your development workflow:
|
|
211
|
-
|
|
212
|
-
```javascript
|
|
213
|
-
import { test } from 'vitest';
|
|
214
|
-
import { chrome } from 'testdriverai/presets';
|
|
215
|
-
|
|
216
|
-
test('tracked test run', async (context) => {
|
|
217
|
-
const { testdriver } = await chrome(context, {
|
|
218
|
-
url: 'https://example.com',
|
|
219
|
-
// CI/CD info automatically captured from environment
|
|
220
|
-
});
|
|
221
|
-
|
|
222
|
-
await testdriver.find('button').click();
|
|
223
|
-
});
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
Dashboard displays:
|
|
227
|
-
- **Branch:** `feature/new-checkout`
|
|
228
|
-
- **Commit:** `a1b2c3d` (first 7 chars of SHA)
|
|
229
|
-
- **Commit Message:** "Add new checkout flow"
|
|
230
|
-
- **Author:** john@example.com
|
|
231
|
-
|
|
232
|
-
## Export Test Reports
|
|
233
|
-
|
|
234
|
-
Download test results in multiple formats:
|
|
235
|
-
|
|
236
|
-
<Tabs>
|
|
237
|
-
<Tab title="CSV">
|
|
238
|
-
```csv
|
|
239
|
-
Test Suite,Status,Platform,Tests,Pass Rate,Duration,Branch,Commit,Timestamp
|
|
240
|
-
login.test.js,FAILED,Linux+Chrome,5,80%,31.2s,main,a1b2c3d,2024-12-09T10:30:00Z
|
|
241
|
-
checkout.test.js,PASSED,Linux+Chrome,8,100%,45.6s,main,a1b2c3d,2024-12-09T10:31:00Z
|
|
242
|
-
```
|
|
243
|
-
</Tab>
|
|
244
|
-
|
|
245
|
-
<Tab title="JSON">
|
|
246
|
-
```json
|
|
247
|
-
{
|
|
248
|
-
"runs": [
|
|
249
|
-
{
|
|
250
|
-
"suite": "login.test.js",
|
|
251
|
-
"status": "FAILED",
|
|
252
|
-
"platform": "Linux+Chrome",
|
|
253
|
-
"tests": { "total": 5, "passed": 4, "failed": 1 },
|
|
254
|
-
"passRate": 0.80,
|
|
255
|
-
"duration": 31.2,
|
|
256
|
-
"branch": "main",
|
|
257
|
-
"commit": "a1b2c3d",
|
|
258
|
-
"timestamp": "2024-12-09T10:30:00Z"
|
|
259
|
-
}
|
|
260
|
-
]
|
|
261
|
-
}
|
|
262
|
-
```
|
|
263
|
-
</Tab>
|
|
264
|
-
|
|
265
|
-
<Tab title="PDF">
|
|
266
|
-
Generate executive reports with:
|
|
267
|
-
- Summary statistics
|
|
268
|
-
- Test run table
|
|
269
|
-
- Failure details
|
|
270
|
-
- Trend charts
|
|
271
|
-
</Tab>
|
|
272
|
-
</Tabs>
|
|
273
|
-
|
|
274
|
-
## Learn More
|
|
275
|
-
|
|
276
|
-
<CardGroup cols={2}>
|
|
277
|
-
<Card
|
|
278
|
-
title="Test Analytics"
|
|
279
|
-
icon="chart-line"
|
|
280
|
-
href="/v7/features/test-analytics"
|
|
281
|
-
>
|
|
282
|
-
View trends and performance metrics
|
|
283
|
-
</Card>
|
|
284
|
-
|
|
285
|
-
<Card
|
|
286
|
-
title="Test Cases"
|
|
287
|
-
icon="file-lines"
|
|
288
|
-
href="/v7/features/test-cases"
|
|
289
|
-
>
|
|
290
|
-
Detailed test case reports
|
|
291
|
-
</Card>
|
|
292
|
-
|
|
293
|
-
<Card
|
|
294
|
-
title="Test Replays"
|
|
295
|
-
icon="video"
|
|
296
|
-
href="/v7/features/test-replays"
|
|
297
|
-
>
|
|
298
|
-
Video replays and debugging
|
|
299
|
-
</Card>
|
|
300
|
-
|
|
301
|
-
<Card
|
|
302
|
-
title="Continuous Testing"
|
|
303
|
-
icon="arrows-spin"
|
|
304
|
-
href="/v7/features/continuous-testing"
|
|
305
|
-
>
|
|
306
|
-
CI/CD integration guide
|
|
307
|
-
</Card>
|
|
308
|
-
</CardGroup>
|