testdriverai 7.9.0-test.9 → 7.9.1-test

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.
Files changed (38) hide show
  1. package/agent/lib/sandbox.js +55 -6
  2. package/agent/lib/sdk.js +4 -4
  3. package/ai/skills/testdriver-enterprise/SKILL.md +2 -109
  4. package/ai/skills/testdriver-hosted/SKILL.md +156 -0
  5. package/ai/skills/testdriver-mcp/SKILL.md +2 -2
  6. package/ai/skills/testdriver-quickstart/SKILL.md +30 -2
  7. package/ai/skills/testdriver-self-hosted/SKILL.md +125 -43
  8. package/ai/skills/testdriver-test-results-json/SKILL.md +257 -0
  9. package/docs/_scripts/generate-examples.js +127 -60
  10. package/docs/docs.json +27 -28
  11. package/docs/v7/examples/ai.mdx +4 -3
  12. package/docs/v7/examples/assert.mdx +19 -4
  13. package/docs/v7/examples/chrome-extension.mdx +36 -29
  14. package/docs/v7/examples/element-not-found.mdx +2 -1
  15. package/docs/v7/examples/exec-output.mdx +3 -4
  16. package/docs/v7/examples/exec-pwsh.mdx +3 -4
  17. package/docs/v7/examples/findall-coffee-icons.mdx +88 -0
  18. package/docs/v7/examples/focus-window.mdx +3 -4
  19. package/docs/v7/examples/hover-image.mdx +4 -3
  20. package/docs/v7/examples/hover-text-with-description.mdx +104 -0
  21. package/docs/v7/examples/hover-text.mdx +4 -3
  22. package/docs/v7/examples/installer.mdx +5 -4
  23. package/docs/v7/examples/launch-vscode-linux.mdx +3 -7
  24. package/docs/v7/examples/match-image.mdx +3 -2
  25. package/docs/v7/examples/parse.mdx +66 -0
  26. package/docs/v7/examples/press-keys.mdx +8 -14
  27. package/docs/v7/examples/scroll-keyboard.mdx +4 -3
  28. package/docs/v7/examples/scroll-until-image.mdx +3 -2
  29. package/docs/v7/examples/scroll.mdx +6 -14
  30. package/docs/v7/examples/type.mdx +1 -5
  31. package/docs/v7/examples/windows-installer.mdx +10 -4
  32. package/interfaces/vitest-plugin.mjs +2 -2
  33. package/lib/core/Dashcam.js +4 -1
  34. package/lib/sentry.js +5 -1
  35. package/package.json +1 -1
  36. package/setup/aws/install-dev-runner.sh +7 -2
  37. package/setup/aws/spawn-runner.sh +12 -0
  38. package/vitest.config.mjs +1 -1
package/lib/sentry.js CHANGED
@@ -14,7 +14,7 @@ const Sentry = require("@sentry/node");
14
14
  const crypto = require("crypto");
15
15
  const os = require("os");
16
16
  const { version } = require("../package.json");
17
- const { sentryEnvironment } = require("./resolve-channel");
17
+ const { active, sentryEnvironment } = require("./resolve-channel");
18
18
  const logger = require("../agent/lib/logger");
19
19
 
20
20
  // Store trace contexts per session so concurrent tests don't overwrite each other.
@@ -33,6 +33,10 @@ const isEnabled = () => {
33
33
  if (process.env.TD_TELEMETRY === "false") {
34
34
  return false;
35
35
  }
36
+ // Disable in test channel and PR previews
37
+ if (active === 'test' || process.env.IS_PULL_REQUEST === 'true') {
38
+ return false;
39
+ }
36
40
  return true;
37
41
  };
38
42
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testdriverai",
3
- "version": "7.9.0-test.9",
3
+ "version": "7.9.1-test",
4
4
  "description": "Next generation autonomous AI agent for end-to-end testing of web & desktop",
5
5
  "main": "sdk.js",
6
6
  "types": "sdk.d.ts",
@@ -33,6 +33,9 @@ url = sys.argv[1]
33
33
 
34
34
  commands = [
35
35
  "Write-Host '=== Stopping runner ==='",
36
+ "New-Item -ItemType Directory -Path 'C:\\testdriver\\sandbox-agent' -Force | Out-Null",
37
+ "New-Item -ItemType Directory -Path 'C:\\testdriver\\logs' -Force | Out-Null",
38
+ "if (-not (Test-Path 'C:\\testdriver\\sandbox-agent\\package.json')) { '{\"name\":\"td-sandbox\",\"private\":true}' | Set-Content 'C:\\testdriver\\sandbox-agent\\package.json' }",
36
39
  "Stop-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
37
40
  "Stop-Process -Name node -Force -ErrorAction SilentlyContinue",
38
41
  "Start-Sleep -Seconds 2",
@@ -43,10 +46,12 @@ commands = [
43
46
  "Remove-Item -Path lib -Recurse -Force -ErrorAction SilentlyContinue",
44
47
  "tar -xzf $tarball --strip-components=1 -C .",
45
48
  "Get-Content 'package.json' | ConvertFrom-Json | Select-Object -ExpandProperty version",
49
+ "Write-Host '=== Ensuring scheduled task exists ==='",
50
+ "if (-not (Get-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue)) { $agentScript = if (Test-Path 'sandbox-agent.js') { 'sandbox-agent.js' } else { 'node_modules/@testdriverai/runner/sandbox-agent.js' }; @(\"Set-Location 'C:\\testdriver\\sandbox-agent'\", \"while (`$true) { & node $agentScript 2>&1 | Tee-Object -Append -FilePath C:\\testdriver\\logs\\sandbox-agent.log; Start-Sleep -Seconds 2 }\") | Set-Content 'C:\\testdriver\\run_testdriver.ps1'; $a = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File C:\\testdriver\\run_testdriver.ps1'; $t = New-ScheduledTaskTrigger -AtLogOn -User 'testdriver'; $p = New-ScheduledTaskPrincipal -UserId 'testdriver' -RunLevel Highest; $s = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -StartWhenAvailable; Register-ScheduledTask -TaskName RunTestDriverAgent -Action $a -Trigger $t -Principal $p -Settings $s -Force }",
46
51
  "Write-Host '=== Starting runner ==='",
47
- "Start-ScheduledTask -TaskName RunTestDriverAgent",
52
+ "Start-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
48
53
  "Start-Sleep -Seconds 3",
49
- "Get-Content 'C:\\testdriver\\log.txt' -Tail 20"
54
+ "Get-Content 'C:\\testdriver\\log.txt' -Tail 20 -ErrorAction SilentlyContinue"
50
55
  ]
51
56
 
52
57
  params = {"commands": commands}
@@ -183,6 +183,10 @@ if [ "$TD_CHANNEL" = "dev" ]; then
183
183
  {
184
184
  "commands": [
185
185
  "Write-Host '=== Starting runner dev install ==='",
186
+ "Write-Host 'Bootstrapping sandbox-agent directory...'",
187
+ "New-Item -ItemType Directory -Path 'C:\\testdriver\\sandbox-agent' -Force | Out-Null",
188
+ "New-Item -ItemType Directory -Path 'C:\\testdriver\\logs' -Force | Out-Null",
189
+ "if (-not (Test-Path 'C:\\testdriver\\sandbox-agent\\package.json')) { '{\"name\":\"td-sandbox\",\"private\":true}' | Set-Content 'C:\\testdriver\\sandbox-agent\\package.json' }",
186
190
  "Write-Host 'Stopping existing runner processes...'",
187
191
  "Stop-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
188
192
  "Stop-Process -Name node -Force -ErrorAction SilentlyContinue",
@@ -220,6 +224,8 @@ PARAMS_EOF
220
224
  "npm install --omit=dev 2>&1 | Write-Host",
221
225
  "Write-Host 'Final verification - ably-service.js exists:'",
222
226
  "Test-Path 'C:\\testdriver\\sandbox-agent\\lib\\ably-service.js'",
227
+ "Write-Host 'Ensuring scheduled task exists...'",
228
+ "if (-not (Get-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue)) { $agentScript = if (Test-Path 'C:\\testdriver\\sandbox-agent\\sandbox-agent.js') { 'sandbox-agent.js' } else { 'node_modules/@testdriverai/runner/sandbox-agent.js' }; @(\"Set-Location 'C:\\testdriver\\sandbox-agent'\", \"while (`$true) { & node $agentScript 2>&1 | Tee-Object -Append -FilePath C:\\testdriver\\logs\\sandbox-agent.log; Start-Sleep -Seconds 2 }\") | Set-Content 'C:\\testdriver\\run_testdriver.ps1'; $a = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File C:\\testdriver\\run_testdriver.ps1'; $t = New-ScheduledTaskTrigger -AtLogOn -User 'testdriver'; $p = New-ScheduledTaskPrincipal -UserId 'testdriver' -RunLevel Highest; $s = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -StartWhenAvailable; Register-ScheduledTask -TaskName RunTestDriverAgent -Action $a -Trigger $t -Principal $p -Settings $s -Force }",
223
229
  "Write-Host 'Restarting RunTestDriverAgent scheduled task...'",
224
230
  "Start-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
225
231
  "Write-Host '=== Runner install complete (dev) ==='"
@@ -245,6 +251,10 @@ else
245
251
  {
246
252
  "commands": [
247
253
  "Write-Host '=== Starting runner install (npm pack) ==='",
254
+ "Write-Host 'Bootstrapping sandbox-agent directory...'",
255
+ "New-Item -ItemType Directory -Path 'C:\\\\testdriver\\\\sandbox-agent' -Force | Out-Null",
256
+ "New-Item -ItemType Directory -Path 'C:\\\\testdriver\\\\logs' -Force | Out-Null",
257
+ "if (-not (Test-Path 'C:\\\\testdriver\\\\sandbox-agent\\\\package.json')) { '{\"name\":\"td-sandbox\",\"private\":true}' | Set-Content 'C:\\\\testdriver\\\\sandbox-agent\\\\package.json' }",
248
258
  "Write-Host 'Stopping existing runner processes...'",
249
259
  "Stop-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
250
260
  "Stop-Process -Name node -Force -ErrorAction SilentlyContinue",
@@ -271,6 +281,8 @@ else
271
281
  "Set-Location 'C:\\\\testdriver\\\\sandbox-agent'",
272
282
  "Write-Host 'Installing npm dependencies...'",
273
283
  "npm install --omit=dev 2>&1 | Write-Host",
284
+ "Write-Host 'Ensuring scheduled task exists...'",
285
+ "if (-not (Get-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue)) { \$agentScript = if (Test-Path 'C:\\\\testdriver\\\\sandbox-agent\\\\sandbox-agent.js') { 'sandbox-agent.js' } else { 'node_modules/@testdriverai/runner/sandbox-agent.js' }; @(\"Set-Location 'C:\\\\testdriver\\\\sandbox-agent'\", \"while (\`\$true) { & node \$agentScript 2>&1 | Tee-Object -Append -FilePath C:\\\\testdriver\\\\logs\\\\sandbox-agent.log; Start-Sleep -Seconds 2 }\") | Set-Content 'C:\\\\testdriver\\\\run_testdriver.ps1'; \$a = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-ExecutionPolicy Bypass -NoProfile -WindowStyle Hidden -File C:\\\\testdriver\\\\run_testdriver.ps1'; \$t = New-ScheduledTaskTrigger -AtLogOn -User 'testdriver'; \$p = New-ScheduledTaskPrincipal -UserId 'testdriver' -RunLevel Highest; \$s = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -StartWhenAvailable; Register-ScheduledTask -TaskName RunTestDriverAgent -Action \$a -Trigger \$t -Principal \$p -Settings \$s -Force }",
274
286
  "Write-Host 'Restarting RunTestDriverAgent scheduled task...'",
275
287
  "Start-ScheduledTask -TaskName RunTestDriverAgent -ErrorAction SilentlyContinue",
276
288
  "Write-Host '=== Runner install complete (npm pack) ==='"
package/vitest.config.mjs CHANGED
@@ -13,7 +13,7 @@ const setupFiles = [
13
13
  ];
14
14
 
15
15
  const sharedTestConfig = {
16
- retry: 0,
16
+ retry: 1,
17
17
  testTimeout: 480000,
18
18
  hookTimeout: 480000,
19
19
  maxConcurrency: 100,