testdriverai 5.6.2 → 5.6.4

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 (102) hide show
  1. package/agent.js +4 -4
  2. package/docs/account/dashboard.mdx +3 -6
  3. package/docs/account/enterprise.mdx +16 -15
  4. package/docs/account/pricing.mdx +4 -4
  5. package/docs/account/projects.mdx +2 -2
  6. package/docs/account/team.mdx +3 -3
  7. package/docs/action/browser.mdx +9 -9
  8. package/docs/action/os.mdx +12 -12
  9. package/docs/action/output.mdx +10 -10
  10. package/docs/action/performance.mdx +11 -11
  11. package/docs/{guide/lifecycle.mdx → action/pre-post-scripts.mdx} +87 -69
  12. package/docs/action/secrets.mdx +11 -11
  13. package/docs/action/setup.mdx +8 -8
  14. package/docs/apps/chrome-extensions.mdx +9 -9
  15. package/docs/apps/desktop-apps.mdx +6 -5
  16. package/docs/apps/mobile-apps.mdx +3 -3
  17. package/docs/apps/static-websites.mdx +2 -3
  18. package/docs/bugs/jira.mdx +16 -16
  19. package/docs/cli/overview.mdx +8 -8
  20. package/docs/commands/exec.mdx +152 -10
  21. package/docs/commands/focus-application.mdx +1 -1
  22. package/docs/commands/hover-image.mdx +1 -1
  23. package/docs/commands/hover-text.mdx +2 -2
  24. package/docs/commands/if.mdx +1 -1
  25. package/docs/commands/issues.mdx +8 -6
  26. package/docs/commands/match-image.mdx +2 -2
  27. package/docs/commands/press-keys.mdx +19 -2
  28. package/docs/commands/run.mdx +1 -1
  29. package/docs/commands/scroll-until-image.mdx +1 -1
  30. package/docs/commands/scroll-until-text.mdx +2 -2
  31. package/docs/commands/scroll.mdx +2 -2
  32. package/docs/commands/type.mdx +1 -1
  33. package/docs/commands/wait-for-image.mdx +1 -1
  34. package/docs/commands/wait-for-text.mdx +1 -1
  35. package/docs/commands/wait.mdx +1 -1
  36. package/docs/docs.json +9 -9
  37. package/docs/exporting/playwright.mdx +16 -16
  38. package/docs/features/auto-healing.mdx +5 -5
  39. package/docs/features/cross-platform.mdx +4 -4
  40. package/docs/features/generation.mdx +7 -4
  41. package/docs/features/github.mdx +21 -21
  42. package/docs/features/parallel-testing.mdx +9 -9
  43. package/docs/features/reusable-snippets.mdx +7 -7
  44. package/docs/features/selectorless.mdx +4 -4
  45. package/docs/features/visual-assertions.mdx +26 -23
  46. package/docs/getting-started/ci.mdx +19 -19
  47. package/docs/getting-started/editing.mdx +12 -8
  48. package/docs/getting-started/generating.mdx +4 -5
  49. package/docs/getting-started/running.mdx +3 -3
  50. package/docs/getting-started/setup.mdx +9 -9
  51. package/docs/getting-started/vscode.mdx +63 -85
  52. package/docs/getting-started/writing.mdx +11 -7
  53. package/docs/guide/assertions.mdx +21 -21
  54. package/docs/guide/authentication.mdx +11 -11
  55. package/docs/guide/code.mdx +6 -6
  56. package/docs/guide/environment-variables.mdx +9 -9
  57. package/docs/guide/lifecycle-prerun.mdx +191 -0
  58. package/docs/guide/locating.mdx +15 -18
  59. package/docs/guide/variables.mdx +8 -8
  60. package/docs/guide/waiting.mdx +10 -10
  61. package/docs/importing/csv.mdx +23 -24
  62. package/docs/importing/gherkin.mdx +20 -20
  63. package/docs/importing/jira.mdx +22 -23
  64. package/docs/importing/testrail.mdx +17 -17
  65. package/docs/integrations/electron.mdx +7 -7
  66. package/docs/integrations/netlify.mdx +7 -7
  67. package/docs/integrations/vercel.mdx +13 -13
  68. package/docs/interactive/assert.mdx +3 -3
  69. package/docs/interactive/dry.mdx +7 -7
  70. package/docs/interactive/explore.mdx +9 -9
  71. package/docs/interactive/generate.mdx +2 -2
  72. package/docs/interactive/run.mdx +10 -10
  73. package/docs/interactive/save.mdx +3 -3
  74. package/docs/interactive/undo.mdx +1 -1
  75. package/docs/overview/comparison.mdx +6 -6
  76. package/docs/overview/faq.mdx +2 -2
  77. package/docs/overview/quickstart.mdx +1 -1
  78. package/docs/overview/upgrading.mdx +8 -4
  79. package/docs/overview/what-is-testdriver.mdx +6 -6
  80. package/docs/quickstart.mdx +1 -1
  81. package/docs/scenarios/ai-chatbot.mdx +3 -3
  82. package/docs/scenarios/cookie-banner.mdx +2 -2
  83. package/docs/scenarios/file-upload.mdx +2 -2
  84. package/docs/scenarios/form-filling.mdx +3 -3
  85. package/docs/scenarios/log-in.mdx +3 -3
  86. package/docs/scenarios/pdf-generation.mdx +3 -3
  87. package/docs/scenarios/spell-check.mdx +2 -2
  88. package/docs/security/action.mdx +6 -6
  89. package/docs/security/agent.mdx +10 -10
  90. package/docs/security/platform.mdx +10 -8
  91. package/docs/snippets/test-prereqs.mdx +1 -1
  92. package/docs/snippets/yml-warning.mdx +1 -0
  93. package/docs/support/known-bugs.mdx +85 -0
  94. package/docs/tutorials/advanced-test.mdx +9 -9
  95. package/docs/tutorials/basic-test.mdx +3 -3
  96. package/index.js +1 -0
  97. package/lib/commander.js +1 -1
  98. package/lib/commands.js +9 -0
  99. package/lib/focus-application.js +7 -5
  100. package/package.json +1 -1
  101. package/styles/config/vocabularies/Docs/accept.txt +32 -4
  102. package/docs/action/prerun.mdx +0 -137
package/agent.js CHANGED
@@ -233,14 +233,14 @@ const haveAIResolveError = async (
233
233
 
234
234
  let safeKey = JSON.stringify(eMessage);
235
235
  errorCounts[safeKey] = errorCounts[safeKey] ? errorCounts[safeKey] + 1 : 1;
236
+
237
+ logger.error(chalk.red("Error detected"));
236
238
 
237
- logger.error(eMessage);
239
+ log.prettyMarkdown(eMessage);
238
240
 
239
241
  logger.debug("%j", error);
240
242
  logger.debug("%s", error.stack);
241
243
 
242
- log.prettyMarkdown(eMessage);
243
-
244
244
  // if we get the same error 3 times in `run` mode, we exit
245
245
  if (errorCounts[safeKey] > errorLimit - 1) {
246
246
  logger.info(chalk.red("Error loop detected. Exiting."));
@@ -1097,7 +1097,7 @@ let run = async (file = thisFile, shouldSave = false, shouldExit = true) => {
1097
1097
  return await exit(true);
1098
1098
  } else if (!step.commands) {
1099
1099
  logger.info(chalk.yellow("No commands found, running exploratory"));
1100
- await exploratoryLoop(step.prompt, false, true);
1100
+ return await exploratoryLoop(step.prompt, false, true);
1101
1101
  }
1102
1102
 
1103
1103
  if (shouldSave) {
@@ -4,13 +4,10 @@ sidebarTitle: "Dashboard"
4
4
  description: "Explore your TestDriver dashboard and its features."
5
5
  icon: "gauge"
6
6
  ---
7
- ## Welcome to your TestDriver Dashboard
7
+ ## Welcome to your TestDriver dashboard
8
8
  Your dashboard is your command center for managing your TestDriver experience. Here, you can view your projects, monitor usage, and access various features to enhance your testing workflow.
9
9
 
10
- ## Key Features
10
+ ## Key features
11
11
  - **Projects**: Get a quick snapshot of your projects, with all Dashcam replays.
12
12
  - **Team**: Manage your API key, and add/remove team members.
13
- - **Usage & Billing**: Monitor your usage and credits in real-time.
14
-
15
-
16
-
13
+ - **Usage & Billing**: Monitor your usage and credits in real-time.
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  title: "Enterprise"
3
3
  sidebarTitle: "Enterprise"
4
- description: "30 Tests in 30 Days Guaranteed!"
4
+ description: "The TestDriver 4x4 Guarantee!"
5
5
  icon: gem
6
6
  ---
7
7
  import { calendar } from '/snippets/calendar-link.mdx'
8
8
 
9
- We understand that QA coverage is critical and often needed immediately. That's why we're offering our **30x30 Guarantee**: try TestDriver Enterprise and we guarantee you will see 30 tests in 30 days!
9
+ We understand that QA coverage is critical and often needed immediately. That's why we're offering our **4x4 Guarantee**: try TestDriver Enterprise and we guarantee you will see 4 tests in your first 4 weeks!
10
10
 
11
11
  Unlike other QA services that take months and cost hundreds of thousands of dollars, TestDriver gets you up and running in just 30 days.
12
12
 
@@ -35,30 +35,31 @@ For more details or to get a demo [Contract Details](#contract-details). To see
35
35
  <Card title="Quickly Deploy AI QA Tests">
36
36
  Safeguard your most important user flows with generated tests.
37
37
  </Card>
38
- <Card title="Increase your total coverage">
38
+ <Card title="Increase Your Total Coverage">
39
39
  Test flows never possible before with our powerful computer-use agent.
40
40
  </Card>
41
- <Card title="Spend less time on maintenance">
41
+ <Card title="Spend Less Time on Maintenance">
42
42
  TestDriver tests automatically repair themselves.
43
43
  </Card>
44
44
  </CardGroup>
45
45
 
46
- ## Promotion Details
47
- Here's what's included in the **30x30 Promotion**:
46
+ ## Promotion details
47
+ Here's what's included in all Enterprise plans:
48
48
 
49
49
  - **Test Coverage**: Test any publicly available desktop app, Chrome extension, mobile app, or website.
50
50
  - **AI-Generated Tests**: Choose from **250 AI-generated tests** within the first 7 days.
51
+ - **Parallel Testing**: No limits on parallel testing.
51
52
  - **Daily Test Runs**: Run tests **3-5 times every day**.
52
53
  - **AI Quality Reports**: Receive detailed reports delivered directly to your email.
53
54
  - **Self-Healing Tests**: AI automatically fixes and maintains your tests.
54
- - **GitHub Integration**: Seamlessly integrate with GitHub Actions.
55
+ - **CI/CD Integration**: Seamlessly integrate with your CI/CD pipeline.
55
56
  - **Enterprise Dashboards**: Gain full access to our enterprise-grade test dashboards.
56
57
 
57
58
  For more details, see [Contract Details](#contract-details).
58
59
 
59
60
  ---
60
61
 
61
- ## How Does It Work?
62
+ ## How does it work?
62
63
 
63
64
  1. **Book an Onboarding Call**: Share the specific flows you want to test.
64
65
  2. **Generate a Test Suite**: We'll explore your app and generate hundreds of tests using our AI.
@@ -68,30 +69,30 @@ For more details, see [Contract Details](#contract-details).
68
69
 
69
70
  ---
70
71
 
71
- ## Onboarding Process
72
+ ## Onboarding process
72
73
 
73
74
  | Service | Timeline | Description |
74
75
  |-----------------------|----------------|-----------------------------------------------------------------------------|
75
76
  | **Custom Onboarding** | First 7 Days | Get set up quickly with custom workflows and Prerun Scripts developed by the TestDriver team. |
76
77
  | **AI Test Generation**| First 7 Days | Instant coverage: We'll generate hundreds of tests for you to choose from. |
77
- | **Custom Test Creation** | First 30 Days | Our team will create tests for any features TestDriver might have missed. |
78
+ | **Custom Test Creation** | First 30 Days | Our team will create 4 tests for any features TestDriver might have missed. |
78
79
  | **Training** | First 30 Days | Our support team will train your engineers on best practices. |
79
80
  | **Test Execution** | Recurring | Seamless deployment: Tests are executed on a schedule or via GitHub Actions.|
80
81
 
81
82
  ---
82
83
 
83
- ## Contract Details
84
+ ## Contract details
84
85
 
85
- - **Free Trial**: Get 30 custom tests free during a 30-day trial when subscribing to the $995/month "30x30" plan.
86
+ - **Free Trial**: Get 30 custom tests free during a 30-day trial when subscribing to the $995/month plan.
86
87
  - **Ownership**: The tests are yours! You can modify, duplicate, or distribute them however you wish.
87
88
  - **Payment**: A payment method is required to begin the trial.
88
- - **Renewal**: The contract renews annually.
89
+ - **Renewal**: The contract renews annually. You can pay monthly or annually.
89
90
  - **Cancellation**: Cancel anytime during your trial, for any reason.
90
- - **Credits**: Unused credits do not roll over and expire at the end of each month.
91
+ - **Credits**: Unused credits don't roll over and expire at the end of each month.
91
92
  - **Additional Usage**: Additional usage is billed at standard rates.
92
93
  - **On Prem/BYOC**: Option available as an add-on to your contract.
93
94
 
94
95
  ---
95
96
 
96
- ## Ready to Get Started?
97
+ ## Ready to get started?
97
98
  Don't wait! <a href={calendar}>**Schedule your onboarding call now**</a> and let us help you achieve QA coverage in just 30 days.
@@ -5,14 +5,14 @@ description: "Explore TestDriver's pricing plans and features."
5
5
  icon: "dollar-sign"
6
6
  ---
7
7
 
8
- ## TestDriver Pricing Plans
8
+ ## TestDriver pricing plans
9
9
  TestDriver offers a range of pricing plans to suit different needs, from individual developers to large enterprises. Our plans are designed to provide flexibility and scalability, ensuring you can choose the right option for your testing requirements.
10
10
 
11
11
  <CardGroup cols={3}>
12
- <Card title="Free" icon="check">
12
+ <Card title="Hobby" icon="check">
13
13
  Local agent testing. Always free.
14
14
  </Card>
15
- <Card title="Business" icon="briefcase">
15
+ <Card title="Pro" icon="briefcase">
16
16
  Use local or hosted runners on demand or integrated with CI for as low as $0.05/minute.
17
17
  </Card>
18
18
  <Card title="Enterprise" icon="shield">
@@ -22,5 +22,5 @@ TestDriver offers a range of pricing plans to suit different needs, from individ
22
22
 
23
23
  <Tip>Every plan starts with $100 in TestDriver credits to get you off the starting line!</Tip>
24
24
 
25
- ## Compare Plans
25
+ ## Compare plans
26
26
  To view the latest pricing and features, please visit our [Pricing Page](https://testdriver.ai/pricing).
@@ -5,7 +5,7 @@ description: "Manage your projects and workflows with TestDriver."
5
5
  icon: "folder"
6
6
  ---
7
7
 
8
- ## Dashboard Project View
8
+ ## Dashboard project view
9
9
  In the Project tab, select a Project to see the replays for that project.
10
10
 
11
11
  <Frame caption="Click a Project to view its replays">
@@ -19,7 +19,7 @@ From the Project view, you can see all the replays (Dashes) stored for that proj
19
19
  </Frame>
20
20
 
21
21
 
22
- ## New Project
22
+ ## New project
23
23
  When you create a new Project, you can also enable the <Icon icon="jira" /> Jira integration to create issues automatically each time a replay (Dash) is created.
24
24
 
25
25
  <Frame caption="Click a Project to view its replays">
@@ -5,7 +5,7 @@ description: "Manage your team and collaborate with TestDriver."
5
5
  icon: "users"
6
6
  ---
7
7
 
8
- ## Important Settings in one place
8
+ ## Important settings in one place
9
9
  In the Team tab, you can manage your team name, team members, API key, and subscription.
10
10
 
11
11
  ### Let's take a look at the team settings.
@@ -21,11 +21,11 @@ In the Team tab, you can manage your team name, team members, API key, and subsc
21
21
  5. **Don't forget to save your changes!**: After making any changes, be sure to click the **Update** button to apply them.
22
22
 
23
23
 
24
- ### Team Members
24
+ ### Team members
25
25
  <Frame caption="Team Members">
26
26
  <img src="/images/content/account/team-manage.png" />
27
27
  </Frame>
28
28
 
29
29
  1. **Email Invite**: Invite new team members by entering their email address and clicking the **Invite** button. They will receive an email invitation to join your team. You can also copy the link above this option to send to everyone at once.
30
30
  2. **Removing Team Members**: To remove a team member, click the **Remove** button next to their name. This will revoke their access to your TestDriver account.
31
- 3. **Invite Status**: The status of the invite will be shown here. If it says **Invited**, the invite has not been accepted yet. To resend it, click here.
31
+ 3. **Invite Status**: The status of the invite will be shown here. If it says **Invited**, the invite hasn't been accepted yet. To resend it, click here.
@@ -15,18 +15,18 @@ By using prerun scripts, you can:
15
15
 
16
16
  ---
17
17
 
18
- ## Supported Browsers
18
+ ## Supported browsers
19
19
  The following browsers can be installed and launched using prerun scripts:
20
20
  - **Google Chrome**
21
21
  - **Mozilla Firefox**
22
22
 
23
23
  ---
24
24
 
25
- ## Prerun Script Example: Installing and Launching Browsers
25
+ ## Prerun script example: Installing and launching browsers
26
26
  The following example demonstrates how to install and launch Google Chrome or Firefox on Windows, macOS, and Linux using a prerun script.
27
27
 
28
- ### Example: Prerun Script
29
- ```yaml
28
+ ### Example: `prerun` script
29
+ ```yaml [expandable]
30
30
  prerun: |
31
31
  if [ "${{ matrix.browser }}" == "chrome" ]; then
32
32
  if [ "${{ matrix.os }}" == "windows" ]; then
@@ -67,10 +67,10 @@ prerun: |
67
67
 
68
68
  ---
69
69
 
70
- ## Testing Multiple Browsers
70
+ ## Testing multiple browsers
71
71
  You can use the GitHub matrix strategy to test your application across multiple browsers. This ensures comprehensive browser compatibility testing.
72
72
 
73
- ### Example: Matrix Strategy for Browser Testing
73
+ ### Example: Matrix strategy for browser testing
74
74
  ```yaml
75
75
  strategy:
76
76
  matrix:
@@ -78,8 +78,8 @@ strategy:
78
78
  browser: [chrome, firefox]
79
79
  ```
80
80
 
81
- ### Full Workflow Example
82
- ```yaml
81
+ ### Full workflow example
82
+ ```yaml [expandable]
83
83
  name: Test Action
84
84
 
85
85
  permissions:
@@ -127,4 +127,4 @@ jobs:
127
127
  ## Notes
128
128
  - **Cross-Platform Compatibility**: Ensure your prerun scripts are compatible with the operating system specified in the matrix.
129
129
  - **Browser Versions**: Always install the latest stable versions of browsers to ensure compatibility with modern web standards.
130
- - **Performance**: Launching browsers in prerun scripts ensures they are ready for immediate use during tests, reducing setup time.
130
+ - **Performance**: Launching browsers in prerun scripts ensures they're ready for immediate use during tests, reducing setup time.
@@ -10,7 +10,7 @@ The TestDriver GitHub Action allows you to run tests on multiple operating syste
10
10
 
11
11
  ---
12
12
 
13
- ## Supported Operating Systems
13
+ ## Supported operating systems
14
14
  The following operating systems are currently supported:
15
15
 
16
16
  | OS | Version | Instance Type | Architecture | Notes |
@@ -21,22 +21,22 @@ The following operating systems are currently supported:
21
21
 
22
22
  ---
23
23
 
24
- ## Configuring the Operating System
24
+ ## Configuring the operating system
25
25
  To specify the operating system, use the `os` parameter in the GitHub Action configuration. For example:
26
26
 
27
- ### Example: Running a Test on Windows
27
+ ### Example: Running a test on Windows
28
28
  ```yaml
29
29
  with:
30
30
  os: windows
31
31
  ```
32
32
 
33
- ### Example: Running a Test on macOS
33
+ ### Example: Running a test on macOS
34
34
  ```yaml
35
35
  with:
36
36
  os: mac
37
37
  ```
38
38
 
39
- ### Example: Running a Test on Linux
39
+ ### Example: Running a test on Linux
40
40
  ```yaml
41
41
  with:
42
42
  os: linux
@@ -44,16 +44,16 @@ with:
44
44
 
45
45
  ---
46
46
 
47
- ## Prerun Scripts and OS-Specific Commands
47
+ ## Prerun scripts and OS-specific commands
48
48
  Prerun scripts are executed on the specified operating system. The scripting language depends on the OS:
49
49
  - **Windows**: Use PowerShell.
50
50
  - **macOS**: Use Bash.
51
51
  - **Linux**: Use Bash.
52
52
 
53
- ### Example: Installing Browsers Based on OS
53
+ ### Example: Installing browsers based on OS
54
54
  The following example demonstrates how to install Google Chrome or Firefox on Windows, macOS, and Linux using a prerun script:
55
55
 
56
- ```yaml
56
+ ```yaml [expandable]
57
57
  prerun: |
58
58
  if [ "${{ matrix.browser }}" == "chrome" ]; then
59
59
  if [ "${{ matrix.os }}" == "windows" ]; then
@@ -88,10 +88,10 @@ prerun: |
88
88
 
89
89
  ---
90
90
 
91
- ## Testing Multiple Operating Systems and Browsers
91
+ ## Testing multiple operating systems and browsers
92
92
  You can use the GitHub matrix strategy to test your application across multiple operating systems and browsers. This ensures comprehensive coverage for your tests.
93
93
 
94
- ### Example: Matrix Strategy for OS and Browser Testing
94
+ ### Example: Matrix strategy for OS and browser testing
95
95
  ```yaml
96
96
  strategy:
97
97
  matrix:
@@ -99,8 +99,8 @@ strategy:
99
99
  browser: [chrome, firefox]
100
100
  ```
101
101
 
102
- ### Full Workflow Example
103
- ```yaml
102
+ ### Full workflow example
103
+ ```yaml [expandable]
104
104
  name: Test Action
105
105
 
106
106
  permissions:
@@ -10,7 +10,7 @@ The TestDriver GitHub Action provides several output variables that can be used
10
10
 
11
11
  ---
12
12
 
13
- ## Output Variables
13
+ ## Output variables
14
14
 
15
15
  | Variable | Description |
16
16
  |------------|-----------------------------------------------------------------------------|
@@ -21,11 +21,11 @@ The TestDriver GitHub Action provides several output variables that can be used
21
21
 
22
22
  ---
23
23
 
24
- ## Example: Creating a Comment on a Pull Request
24
+ ## Example: Creating a comment on a pull request
25
25
  The following example demonstrates how to use the output variables to create a comment on a pull request after every TestDriver execution.
26
26
 
27
- ### Workflow Example
28
- ```yaml
27
+ ### Workflow example
28
+ ```yaml [expandable]
29
29
  name: TestDriver
30
30
 
31
31
  permissions:
@@ -48,7 +48,7 @@ jobs:
48
48
  key: ${{ secrets.TD_API_KEY }}
49
49
  with:
50
50
  prompt: |
51
- 1. /run /Users/ec2-user/actions-runner/_work/testdriver/testdriver/.testdriver/test.yml
51
+ 1. /run /Users/ec2-user/actions-runner/_work/testdriver/testdriver/.testdriver/test.yaml
52
52
  env:
53
53
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
54
54
  FORCE_COLOR: "3"
@@ -71,13 +71,13 @@ jobs:
71
71
 
72
72
  ---
73
73
 
74
- ## Use Cases for Output Variables
74
+ ## Use cases for output variables
75
75
 
76
- ### 1. Post Test Results as Comments
76
+ ### 1. Post test results as comments
77
77
  Use the `summary` and `markdown` outputs to post detailed test results as comments on pull requests. This provides immediate feedback to developers.
78
78
 
79
- ### 2. Send Notifications on Failure
80
- Use the `success` output to trigger notifications (e.g., email or Slack) when a test fails.
79
+ ### 2. Send notifications on failure
80
+ Use the `success` output to trigger notifications (for example, email or Slack) when a test fails.
81
81
 
82
82
  Example:
83
83
  ```yaml
@@ -88,7 +88,7 @@ Example:
88
88
  # Add your notification logic here
89
89
  ```
90
90
 
91
- ### 3. Integrate with Third-Party Tools
91
+ ### 3. Integrate with third-party tools
92
92
  Use the `link` output to upload test results to third-party test reporting tools or dashboards.
93
93
 
94
94
  ---
@@ -10,12 +10,12 @@ Optimizing your TestDriver tests can significantly reduce execution time, ensuri
10
10
 
11
11
  ---
12
12
 
13
- ## Tips for Improving Performance
13
+ ## Tips for improving performance
14
14
 
15
- ### 1. Use Parallel Testing
15
+ ### 1. Use parallel testing
16
16
  Parallel testing allows you to split your test actions into multiple files and run them simultaneously. This can drastically reduce the total runtime of your test suite.
17
17
 
18
- #### How to Implement Parallel Testing
18
+ #### How to implement parallel testing
19
19
  - Divide your test steps into smaller, independent YAML files.
20
20
  - Use the `run` command or GitHub matrix strategy to execute these files in parallel.
21
21
 
@@ -28,17 +28,17 @@ Example:
28
28
  strategy:
29
29
  matrix:
30
30
  test_file:
31
- - tests/login.yml
32
- - tests/search.yml
33
- - tests/cart.yml
31
+ - tests/login.yaml
32
+ - tests/search.yaml
33
+ - tests/cart.yaml
34
34
  ```
35
35
 
36
36
  ---
37
37
 
38
- ### 2. Use Optimized Matching Methods
38
+ ### 2. Use optimized matching methods
39
39
  For actions like `hover-text`, `wait-for-text`, and `scroll-until-text`, use the `turbo` matching method instead of `ai`. The `turbo` method uses text similarity to quickly compute the most relevant match, making it about 40% faster than the `ai` method.
40
40
 
41
- #### Example:
41
+ #### Example
42
42
  ```yaml
43
43
  command: hover-text
44
44
  text: Sign In
@@ -49,10 +49,10 @@ method: turbo
49
49
 
50
50
  ---
51
51
 
52
- ### 3. Use `async` Asserts
52
+ ### 3. Use `async` asserts
53
53
  The `assert` command supports the `async: true` property, allowing you to create non-blocking assertions. This means your tests can continue running while the assertion is being validated, saving valuable time.
54
54
 
55
- #### Example:
55
+ #### Example
56
56
  ```yaml
57
57
  command: assert
58
58
  expect: The user is logged in
@@ -61,7 +61,7 @@ async: true
61
61
 
62
62
  ---
63
63
 
64
- ## Best Practices
64
+ ## Best practices
65
65
  - **Minimize AI Matching**: Use AI-powered matching methods only when necessary. For common actions, rely on optimized methods like `turbo`.
66
66
  - **Break Down Tests**: Split large, monolithic test files into smaller, focused tests to enable parallel execution.
67
67
  - **Leverage Asynchronous Features**: Use `async` properties wherever possible to avoid blocking test execution.