testdriverai 7.1.0 → 7.1.1
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/.env.example +2 -0
- package/.github/workflows/linux-tests.yml +28 -0
- package/agent/index.js +18 -45
- package/agent/interface.js +13 -2
- package/agent/lib/commands.js +1 -1
- package/agent/lib/redraw.js +1 -1
- package/agent/lib/sandbox.js +30 -2
- package/agent/lib/valid-version.js +2 -2
- package/debugger/index.html +1 -1
- package/docs/docs.json +86 -125
- package/docs/v6/getting-started/self-hosting.mdx +3 -2
- package/docs/v7/_drafts/agents.mdx +852 -0
- package/docs/v7/_drafts/auto-cache-key.mdx +167 -0
- package/docs/v7/{guides → _drafts}/caching-selectors.mdx +125 -17
- package/docs/v7/_drafts/dashcam-title-feature.mdx +89 -0
- package/docs/v7/_drafts/error-handling.mdx +501 -0
- package/docs/v7/_drafts/implementation-plan.mdx +994 -0
- package/docs/v7/_drafts/init-command.mdx +95 -0
- package/docs/v7/_drafts/optimal-sdk-design.mdx +1348 -0
- package/docs/v7/_drafts/plugin-migration.mdx +222 -0
- package/docs/v7/_drafts/prompt-cache.mdx +200 -0
- package/docs/{QUICK_START_TEST_RECORDING.md → v7/_drafts/quick-start-test-recording.mdx} +3 -3
- package/docs/v7/_drafts/sdk-logging.mdx +222 -0
- package/docs/v7/_drafts/sdk-migration.mdx +474 -0
- package/docs/v7/_drafts/sdk-v7-complete.mdx +345 -0
- package/docs/v7/{guides → _drafts}/self-hosting.mdx +1 -1
- package/docs/v7/{guides → _drafts}/troubleshooting.mdx +2 -2
- package/docs/v7/{guides → _drafts}/vitest-plugin.mdx +4 -4
- package/docs/v7/api/{ai.mdx → act.mdx} +24 -24
- package/docs/v7/api/client.mdx +1 -1
- package/docs/v7/api/dashcam.mdx +2 -2
- package/docs/v7/api/elements.mdx +143 -41
- package/docs/v7/api/find.mdx +258 -0
- package/docs/v7/api/type.mdx +51 -7
- package/docs/v7/features/ai-native.mdx +427 -0
- package/docs/v7/features/easy-to-write.mdx +351 -0
- package/docs/v7/features/enterprise.mdx +540 -0
- package/docs/v7/features/fast.mdx +424 -0
- package/docs/v7/features/observable.mdx +623 -0
- package/docs/v7/features/powerful.mdx +531 -0
- package/docs/v7/features/scalable.mdx +417 -0
- package/docs/v7/features/stable.mdx +514 -0
- package/docs/v7/getting-started/configuration.mdx +1 -1
- package/docs/v7/getting-started/generating-tests.mdx +525 -0
- package/docs/v7/getting-started/installation.mdx +486 -0
- package/docs/v7/getting-started/quickstart.mdx +51 -5
- package/docs/v7/getting-started/running-and-debugging.mdx +511 -0
- package/docs/v7/getting-started/setting-up-in-ci.mdx +612 -0
- package/docs/v7/getting-started/writing-tests.mdx +535 -0
- package/docs/v7/overview/what-is-testdriver.mdx +398 -0
- package/docs/v7/playwright.mdx +3 -3
- package/docs/v7/presets/chrome.mdx +16 -0
- package/docs/v7/presets/electron.mdx +18 -0
- package/docs/v7/presets/vscode.mdx +19 -0
- package/examples/run-tests-with-recording.sh +70 -0
- package/examples/screenshot-example.js +63 -0
- package/examples/sdk-awesome-logs-demo.js +177 -0
- package/examples/sdk-cache-thresholds.js +96 -0
- package/examples/sdk-element-properties.js +155 -0
- package/examples/sdk-simple-example.js +65 -0
- package/examples/test-recording-example.test.js +166 -0
- package/interfaces/cli/commands/init.js +358 -0
- package/interfaces/vitest-plugin.mjs +214 -10
- package/{src → lib}/core/Dashcam.js +41 -4
- package/{src → lib}/vitest/hooks.mjs +118 -100
- package/lib/vitest/setup.mjs +44 -0
- package/package.json +9 -10
- package/sdk.d.ts +15 -2
- package/sdk.js +70 -18
- package/{self-hosted.yml → setup/aws/self-hosted.yml} +1 -1
- package/{testdriver/acceptance-sdk → test/manual}/test-console-logs.test.mjs +1 -1
- package/test/manual/test-find-api.js +73 -0
- package/test/manual/test-init.sh +54 -0
- package/test/manual/test-prompt-cache.js +96 -0
- package/test/manual/test-provision-auth.mjs +22 -0
- package/test/manual/test-sandbox-render.js +28 -0
- package/test/manual/test-sdk-methods.js +15 -0
- package/test/manual/test-sdk-refactor.js +53 -0
- package/test/manual/test-stack-trace.mjs +57 -0
- package/test/testdriver/assert.test.mjs +41 -0
- package/{testdriver/acceptance-sdk → test/testdriver}/auto-cache-key-demo.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/drag-and-drop.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/element-not-found.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-js.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-output.test.mjs +3 -3
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-pwsh.test.mjs +3 -3
- package/{testdriver/acceptance-sdk → test/testdriver}/focus-window.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/formatted-logging.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-image.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-text-with-description.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-text.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/match-image.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/press-keys.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/prompt.test.mjs +2 -2
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll-keyboard.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll-until-image.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll-until-text.test.mjs +1 -1
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll.test.mjs +1 -1
- package/{src/vitest/lifecycle.mjs → test/testdriver/setup/lifecycleHelpers.mjs} +84 -99
- package/test/testdriver/setup/testHelpers.mjs +653 -0
- package/{testdriver/acceptance-sdk → test/testdriver}/type.test.mjs +1 -1
- package/vitest.config.mjs +11 -57
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/acceptance-linux.yml +0 -75
- package/.github/workflows/acceptance-sdk-tests.yml +0 -133
- package/.github/workflows/acceptance-tests.yml +0 -130
- package/.github/workflows/lint.yml +0 -27
- package/.github/workflows/publish-canary.yml +0 -40
- package/.github/workflows/publish-latest.yml +0 -61
- package/.github/workflows/test-install.yml +0 -29
- package/.vscode/extensions.json +0 -3
- package/.vscode/launch.json +0 -22
- package/.vscode/settings.json +0 -14
- package/AGENTS.md +0 -550
- package/CODEOWNERS +0 -2
- package/_testdriver/acceptance/assert.yaml +0 -7
- package/_testdriver/acceptance/dashcam.yaml +0 -9
- package/_testdriver/acceptance/drag-and-drop.yaml +0 -49
- package/_testdriver/acceptance/embed.yaml +0 -9
- package/_testdriver/acceptance/exec-js.yaml +0 -29
- package/_testdriver/acceptance/exec-output.yaml +0 -43
- package/_testdriver/acceptance/exec-shell.yaml +0 -40
- package/_testdriver/acceptance/focus-window.yaml +0 -16
- package/_testdriver/acceptance/hover-image.yaml +0 -18
- package/_testdriver/acceptance/hover-text-with-description.yaml +0 -29
- package/_testdriver/acceptance/hover-text.yaml +0 -14
- package/_testdriver/acceptance/if-else.yaml +0 -31
- package/_testdriver/acceptance/match-image.yaml +0 -15
- package/_testdriver/acceptance/press-keys.yaml +0 -35
- package/_testdriver/acceptance/prompt.yaml +0 -11
- package/_testdriver/acceptance/remember.yaml +0 -27
- package/_testdriver/acceptance/screenshots/cart.png +0 -0
- package/_testdriver/acceptance/scroll-keyboard.yaml +0 -34
- package/_testdriver/acceptance/scroll-until-image.yaml +0 -26
- package/_testdriver/acceptance/scroll-until-text.yaml +0 -20
- package/_testdriver/acceptance/scroll.yaml +0 -33
- package/_testdriver/acceptance/snippets/login.yaml +0 -29
- package/_testdriver/acceptance/snippets/match-cart.yaml +0 -8
- package/_testdriver/acceptance/type.yaml +0 -29
- package/_testdriver/behavior/failure.yaml +0 -7
- package/_testdriver/behavior/hover-text.yaml +0 -13
- package/_testdriver/behavior/lifecycle/postrun.yaml +0 -10
- package/_testdriver/behavior/lifecycle/prerun.yaml +0 -8
- package/_testdriver/behavior/lifecycle/provision.yaml +0 -8
- package/_testdriver/behavior/secrets.yaml +0 -7
- package/_testdriver/edge-cases/dashcam-chrome.yaml +0 -8
- package/_testdriver/edge-cases/exec-pwsh-multiline.yaml +0 -10
- package/_testdriver/edge-cases/js-exception.yaml +0 -8
- package/_testdriver/edge-cases/js-promise.yaml +0 -19
- package/_testdriver/edge-cases/lifecycle/postrun.yaml +0 -10
- package/_testdriver/edge-cases/prompt-in-middle.yaml +0 -23
- package/_testdriver/edge-cases/prompt-nested.yaml +0 -7
- package/_testdriver/edge-cases/success-test.yaml +0 -9
- package/_testdriver/examples/android/example.yaml +0 -12
- package/_testdriver/examples/android/lifecycle/postrun.yaml +0 -11
- package/_testdriver/examples/android/lifecycle/provision.yaml +0 -47
- package/_testdriver/examples/android/readme.md +0 -7
- package/_testdriver/examples/chrome-extension/lifecycle/provision.yaml +0 -74
- package/_testdriver/examples/desktop/lifecycle/prerun.yaml +0 -0
- package/_testdriver/examples/desktop/lifecycle/provision.yaml +0 -64
- package/_testdriver/examples/vscode-extension/lifecycle/provision.yaml +0 -73
- package/_testdriver/examples/web/lifecycle/postrun.yaml +0 -7
- package/_testdriver/examples/web/lifecycle/prerun.yaml +0 -22
- package/_testdriver/lifecycle/postrun.yaml +0 -8
- package/_testdriver/lifecycle/prerun.yaml +0 -15
- package/_testdriver/lifecycle/provision.yaml +0 -25
- package/docs/v7/guides/ci-cd/azure.mdx +0 -587
- package/docs/v7/guides/ci-cd/circleci.mdx +0 -523
- package/docs/v7/guides/ci-cd/github-actions.mdx +0 -457
- package/docs/v7/guides/ci-cd/gitlab.mdx +0 -498
- package/docs/v7/guides/ci-cd/jenkins.mdx +0 -664
- package/docs/v7/guides/ci-cd/travis.mdx +0 -438
- package/scripts/view-test-results.mjs +0 -96
- package/src/vitest/extended.mjs +0 -108
- package/src/vitest/index.mjs +0 -64
- package/src/vitest/utils.mjs +0 -150
- package/styles/.vale-config/2-MDX.ini +0 -5
- package/styles/Microsoft/AMPM.yml +0 -9
- package/styles/Microsoft/Accessibility.yml +0 -30
- package/styles/Microsoft/Acronyms.yml +0 -64
- package/styles/Microsoft/Adverbs.yml +0 -272
- package/styles/Microsoft/Auto.yml +0 -11
- package/styles/Microsoft/Avoid.yml +0 -14
- package/styles/Microsoft/Contractions.yml +0 -50
- package/styles/Microsoft/Dashes.yml +0 -13
- package/styles/Microsoft/DateFormat.yml +0 -8
- package/styles/Microsoft/DateNumbers.yml +0 -40
- package/styles/Microsoft/DateOrder.yml +0 -8
- package/styles/Microsoft/Ellipses.yml +0 -9
- package/styles/Microsoft/FirstPerson.yml +0 -16
- package/styles/Microsoft/Foreign.yml +0 -13
- package/styles/Microsoft/Gender.yml +0 -8
- package/styles/Microsoft/GenderBias.yml +0 -42
- package/styles/Microsoft/GeneralURL.yml +0 -11
- package/styles/Microsoft/HeadingAcronyms.yml +0 -7
- package/styles/Microsoft/HeadingColons.yml +0 -8
- package/styles/Microsoft/HeadingPunctuation.yml +0 -13
- package/styles/Microsoft/Headings.yml +0 -28
- package/styles/Microsoft/Hyphens.yml +0 -14
- package/styles/Microsoft/Negative.yml +0 -13
- package/styles/Microsoft/Ordinal.yml +0 -13
- package/styles/Microsoft/OxfordComma.yml +0 -8
- package/styles/Microsoft/Passive.yml +0 -183
- package/styles/Microsoft/Percentages.yml +0 -7
- package/styles/Microsoft/Plurals.yml +0 -7
- package/styles/Microsoft/Quotes.yml +0 -7
- package/styles/Microsoft/RangeTime.yml +0 -13
- package/styles/Microsoft/Semicolon.yml +0 -8
- package/styles/Microsoft/SentenceLength.yml +0 -6
- package/styles/Microsoft/Spacing.yml +0 -8
- package/styles/Microsoft/Suspended.yml +0 -7
- package/styles/Microsoft/Terms.yml +0 -42
- package/styles/Microsoft/URLFormat.yml +0 -9
- package/styles/Microsoft/Units.yml +0 -16
- package/styles/Microsoft/Vocab.yml +0 -25
- package/styles/Microsoft/We.yml +0 -11
- package/styles/Microsoft/Wordiness.yml +0 -127
- package/styles/Microsoft/meta.json +0 -4
- package/styles/alex/Ablist.yml +0 -274
- package/styles/alex/Condescending.yml +0 -16
- package/styles/alex/Gendered.yml +0 -110
- package/styles/alex/LGBTQ.yml +0 -55
- package/styles/alex/OCD.yml +0 -10
- package/styles/alex/Press.yml +0 -12
- package/styles/alex/ProfanityLikely.yml +0 -1289
- package/styles/alex/ProfanityMaybe.yml +0 -282
- package/styles/alex/ProfanityUnlikely.yml +0 -251
- package/styles/alex/README.md +0 -27
- package/styles/alex/Race.yml +0 -85
- package/styles/alex/Suicide.yml +0 -26
- package/styles/alex/meta.json +0 -4
- package/styles/config/vocabularies/Docs/accept.txt +0 -47
- package/styles/config/vocabularies/Docs/reject.txt +0 -4
- package/styles/proselint/Airlinese.yml +0 -8
- package/styles/proselint/AnimalLabels.yml +0 -48
- package/styles/proselint/Annotations.yml +0 -9
- package/styles/proselint/Apologizing.yml +0 -8
- package/styles/proselint/Archaisms.yml +0 -52
- package/styles/proselint/But.yml +0 -8
- package/styles/proselint/Cliches.yml +0 -782
- package/styles/proselint/CorporateSpeak.yml +0 -30
- package/styles/proselint/Currency.yml +0 -5
- package/styles/proselint/Cursing.yml +0 -15
- package/styles/proselint/DateCase.yml +0 -7
- package/styles/proselint/DateMidnight.yml +0 -7
- package/styles/proselint/DateRedundancy.yml +0 -10
- package/styles/proselint/DateSpacing.yml +0 -7
- package/styles/proselint/DenizenLabels.yml +0 -52
- package/styles/proselint/Diacritical.yml +0 -95
- package/styles/proselint/GenderBias.yml +0 -45
- package/styles/proselint/GroupTerms.yml +0 -39
- package/styles/proselint/Hedging.yml +0 -8
- package/styles/proselint/Hyperbole.yml +0 -6
- package/styles/proselint/Jargon.yml +0 -11
- package/styles/proselint/LGBTOffensive.yml +0 -13
- package/styles/proselint/LGBTTerms.yml +0 -15
- package/styles/proselint/Malapropisms.yml +0 -8
- package/styles/proselint/Needless.yml +0 -358
- package/styles/proselint/Nonwords.yml +0 -38
- package/styles/proselint/Oxymorons.yml +0 -22
- package/styles/proselint/P-Value.yml +0 -6
- package/styles/proselint/RASSyndrome.yml +0 -30
- package/styles/proselint/README.md +0 -12
- package/styles/proselint/Skunked.yml +0 -13
- package/styles/proselint/Spelling.yml +0 -17
- package/styles/proselint/Typography.yml +0 -11
- package/styles/proselint/Uncomparables.yml +0 -50
- package/styles/proselint/Very.yml +0 -6
- package/styles/proselint/meta.json +0 -15
- package/styles/write-good/Cliches.yml +0 -702
- package/styles/write-good/E-Prime.yml +0 -32
- package/styles/write-good/Illusions.yml +0 -11
- package/styles/write-good/Passive.yml +0 -183
- package/styles/write-good/README.md +0 -27
- package/styles/write-good/So.yml +0 -5
- package/styles/write-good/ThereIs.yml +0 -6
- package/styles/write-good/TooWordy.yml +0 -221
- package/styles/write-good/Weasel.yml +0 -29
- package/styles/write-good/meta.json +0 -4
- package/test/dashcam.test.js +0 -137
- package/test/mcp-example-test.yaml +0 -27
- package/test/test_parser.js +0 -47
- package/testdriver/acceptance-sdk/QUICK_REFERENCE.md +0 -61
- package/testdriver/acceptance-sdk/README.md +0 -128
- package/testdriver/acceptance-sdk/TEST_REPORTING.md +0 -245
- package/testdriver/acceptance-sdk/assert.test.mjs +0 -26
- package/testdriver/acceptance-sdk/hooks-example.test.mjs +0 -38
- package/testdriver/acceptance-sdk/presets-example.test.mjs +0 -87
- package/testdriver/acceptance-sdk/setup/testHelpers.mjs +0 -420
- package/testdriver/acceptance-sdk/sully-ai.test.mjs +0 -234
- package/testdriver/acceptance-sdk/type-checking-demo.js +0 -49
- package/vale.ini +0 -18
- package/vitest.config.example.js +0 -19
- package/vitest.config.mjs.bak +0 -44
- /package/docs/{ARCHITECTURE.md → v7/_drafts/architecture.mdx} +0 -0
- /package/docs/{AWESOME_LOGS_QUICK_REF.md → v7/_drafts/awesome-logs-quick-ref.mdx} +0 -0
- /package/docs/v7/{guides → _drafts}/best-practices.mdx +0 -0
- /package/docs/v7/{guides → _drafts}/caching-ai.mdx +0 -0
- /package/docs/v7/{guides → _drafts}/caching.mdx +0 -0
- /package/docs/{MIGRATION.md → v7/_drafts/cli-to-sdk-migration.mdx} +0 -0
- /package/{CONTRIBUTING.md → docs/v7/_drafts/contributing.mdx} +0 -0
- /package/docs/v7/{progressive-apis/CORE.md → _drafts/core.mdx} +0 -0
- /package/docs/v7/{guides → _drafts}/debugging.mdx +0 -0
- /package/docs/v7/{guides → _drafts}/faq.mdx +0 -0
- /package/docs/v7/{progressive-apis/HOOKS.md → _drafts/hooks.mdx} +0 -0
- /package/docs/v7/{guides → _drafts}/migration.mdx +0 -0
- /package/docs/v7/{guides → _drafts}/performance.mdx +0 -0
- /package/docs/{PRESETS.md → v7/_drafts/presets.mdx} +0 -0
- /package/docs/v7/{progressive-apis/PROGRESSIVE_DISCLOSURE.md → _drafts/progressive-disclosure.mdx} +0 -0
- /package/docs/v7/{progressive-apis/PROVISION.md → _drafts/provision.mdx} +0 -0
- /package/docs/{SDK_AWESOME_LOGS.md → v7/_drafts/sdk-awesome-logs.mdx} +0 -0
- /package/docs/{sdk-browser-rendering.md → v7/_drafts/sdk-browser-rendering.mdx} +0 -0
- /package/docs/{TEST_RECORDING.md → v7/_drafts/test-recording.mdx} +0 -0
- /package/docs/v7/{guides → _drafts}/vitest.mdx +0 -0
- /package/docs/v7/{README.md → overview/readme.mdx} +0 -0
- /package/{src → lib}/core/index.d.ts +0 -0
- /package/{src → lib}/core/index.js +0 -0
- /package/{src → lib}/presets/index.mjs +0 -0
- /package/{src → lib}/vitest/hooks.d.ts +0 -0
- /package/{debug-locate-response.js → test/manual/debug-locate-response.js} +0 -0
- /package/{verify-element-api.js → test/manual/verify-element-api.js} +0 -0
- /package/{verify-types.js → test/manual/verify-types.js} +0 -0
- /package/{testdriver/acceptance-sdk → test/testdriver}/chrome-extension.test.mjs +0 -0
- /package/{testdriver/acceptance-sdk → test/testdriver}/setup/globalTeardown.mjs +0 -0
- /package/{testdriver/acceptance-sdk → test/testdriver}/setup/vitestSetup.mjs +0 -0
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
version: 5.1.1
|
|
2
|
-
session: 67f00511acbd9ccac373edf7
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: launch chrome
|
|
5
|
-
commands:
|
|
6
|
-
- command: exec
|
|
7
|
-
lang: pwsh
|
|
8
|
-
output: user
|
|
9
|
-
code: |
|
|
10
|
-
# Random email generator in PowerShell
|
|
11
|
-
|
|
12
|
-
# Arrays of possible names and domains
|
|
13
|
-
$firstNames = @("john", "jane", "alex", "chris", "sara", "mike", "lisa", "david", "emma", "ryan")
|
|
14
|
-
$lastNames = @("smith", "johnson", "williams", "brown", "jones", "garcia", "miller", "davis", "martin", "lee")
|
|
15
|
-
$domains = @("example.com", "testmail.com", "mailinator.com", "demo.org", "company.net")
|
|
16
|
-
|
|
17
|
-
# Random selection
|
|
18
|
-
$first = Get-Random -InputObject $firstNames
|
|
19
|
-
$last = Get-Random -InputObject $lastNames
|
|
20
|
-
$domain = Get-Random -InputObject $domains
|
|
21
|
-
$number = Get-Random -Minimum 1 -Maximum 1000
|
|
22
|
-
|
|
23
|
-
# Generate the email
|
|
24
|
-
$email = "$first.$last$number@$domain".ToLower()
|
|
25
|
-
|
|
26
|
-
# Output
|
|
27
|
-
Write-Output "$email"
|
|
28
|
-
|
|
29
|
-
- command: hover-text
|
|
30
|
-
text: Username
|
|
31
|
-
description: input field for username
|
|
32
|
-
action: click
|
|
33
|
-
- command: type
|
|
34
|
-
text: ${OUTPUT.user}
|
|
35
|
-
- prompt: assert that the username field shows a valid email address
|
|
36
|
-
commands:
|
|
37
|
-
- command: assert
|
|
38
|
-
expect: >-
|
|
39
|
-
the username field contains ${OUTPUT.user} which is a valid email
|
|
40
|
-
address
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 6866d2b90e5814d31e590fce
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: click on the microsoft edge icon
|
|
5
|
-
commands:
|
|
6
|
-
- command: press-keys
|
|
7
|
-
keys:
|
|
8
|
-
- winleft
|
|
9
|
-
- d
|
|
10
|
-
- command: hover-image
|
|
11
|
-
description: a blue and green swirl icon on the taskbar representing Microsoft Edge
|
|
12
|
-
action: click
|
|
13
|
-
- prompt: focus google chrome
|
|
14
|
-
commands:
|
|
15
|
-
- command: focus-application
|
|
16
|
-
name: Google Chrome
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f60bf2856e2eb4066427f
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: complete the login process
|
|
5
|
-
commands:
|
|
6
|
-
- command: run
|
|
7
|
-
file: snippets/login.yaml
|
|
8
|
-
- prompt: click on the image of a shopping cart
|
|
9
|
-
commands:
|
|
10
|
-
- command: focus-application
|
|
11
|
-
name: Google Chrome
|
|
12
|
-
- command: hover-image
|
|
13
|
-
description: shopping cart icon next to the Cart text in the top right corner
|
|
14
|
-
action: click
|
|
15
|
-
- prompt: assert that you see an empty shopping cart
|
|
16
|
-
commands:
|
|
17
|
-
- command: assert
|
|
18
|
-
expect: Your cart is empty
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 685c63558f43d1527c84d053
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: complete the login process
|
|
5
|
-
commands:
|
|
6
|
-
- command: run
|
|
7
|
-
file: snippets/login.yaml
|
|
8
|
-
- prompt: click on add to cart under the testdriver hat
|
|
9
|
-
commands:
|
|
10
|
-
- command: focus-application
|
|
11
|
-
name: Google Chrome
|
|
12
|
-
- command: hover-text
|
|
13
|
-
text: Add to Cart
|
|
14
|
-
description: add to cart button under TestDriver Hat
|
|
15
|
-
action: click
|
|
16
|
-
- prompt: click on the cart
|
|
17
|
-
commands:
|
|
18
|
-
- command: focus-application
|
|
19
|
-
name: Google Chrome
|
|
20
|
-
- command: hover-text
|
|
21
|
-
text: Cart
|
|
22
|
-
description: cart button in the top right corner
|
|
23
|
-
action: click
|
|
24
|
-
- prompt: assert the testdriver hat is in the cart
|
|
25
|
-
commands:
|
|
26
|
-
- command: focus-application
|
|
27
|
-
name: Google Chrome
|
|
28
|
-
- command: assert
|
|
29
|
-
expect: TestDriver Hat is in the cart
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 682f5aab811bd5a322c0e5a1
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: click on sign in
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: Sign In
|
|
10
|
-
description: black button below the password field
|
|
11
|
-
action: click
|
|
12
|
-
timeout: 5000
|
|
13
|
-
- command: assert
|
|
14
|
-
expect: an error shows that fields are required
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
version: 6.0.3-canary.e36d0f0.0
|
|
2
|
-
session: 6879467764060bdfedd4709d
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: if a cookie banner is present on the page, close it
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: if
|
|
9
|
-
condition: a cookie banner is visible on the page
|
|
10
|
-
then:
|
|
11
|
-
- command: hover-text
|
|
12
|
-
text: Accept Cookies
|
|
13
|
-
description: accept cookies button
|
|
14
|
-
action: click
|
|
15
|
-
else:
|
|
16
|
-
- command: focus-application
|
|
17
|
-
name: Google Chrome
|
|
18
|
-
- command: if
|
|
19
|
-
condition: the Username field is visible on the page
|
|
20
|
-
then:
|
|
21
|
-
- command: hover-text
|
|
22
|
-
text: Username
|
|
23
|
-
description: username field
|
|
24
|
-
action: click
|
|
25
|
-
- command: type
|
|
26
|
-
text: testuser
|
|
27
|
-
else:
|
|
28
|
-
- command: focus-application
|
|
29
|
-
name: Google Chrome
|
|
30
|
-
- command: assert
|
|
31
|
-
expect: the text testuser is visible on screen
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f5d92811bd5a322c0e636
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: complete the login process
|
|
5
|
-
commands:
|
|
6
|
-
- command: run
|
|
7
|
-
file: snippets/login.yaml
|
|
8
|
-
- prompt: match the image of a shopping cart
|
|
9
|
-
commands:
|
|
10
|
-
- command: run
|
|
11
|
-
file: snippets/match-cart.yaml
|
|
12
|
-
- prompt: assert that you see an empty shopping cart
|
|
13
|
-
commands:
|
|
14
|
-
- command: assert
|
|
15
|
-
expect: Your cart is empty
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
version: 5.7.62
|
|
2
|
-
session: 685af99e5652a7099e99e171
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: create a new tab
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: Sign In
|
|
10
|
-
description: black button below the password field
|
|
11
|
-
action: click
|
|
12
|
-
- command: press-keys
|
|
13
|
-
keys:
|
|
14
|
-
- ctrl
|
|
15
|
-
- t
|
|
16
|
-
- command: wait-for-text
|
|
17
|
-
text: "Learn more"
|
|
18
|
-
- command: press-keys
|
|
19
|
-
keys:
|
|
20
|
-
- ctrl
|
|
21
|
-
- shift
|
|
22
|
-
- i
|
|
23
|
-
- command: wait-for-text
|
|
24
|
-
text: "Elements"
|
|
25
|
-
- command: press-keys
|
|
26
|
-
keys:
|
|
27
|
-
- ctrl
|
|
28
|
-
- t
|
|
29
|
-
- command: type
|
|
30
|
-
text: google.com
|
|
31
|
-
- command: press-keys
|
|
32
|
-
keys:
|
|
33
|
-
- enter
|
|
34
|
-
- command: assert
|
|
35
|
-
expect: google appears
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 6869c3e61445b2acbbdc0018
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: log in
|
|
5
|
-
- prompt: add an item to the cart
|
|
6
|
-
- prompt: click on the cart icon
|
|
7
|
-
- prompt: complete checkout
|
|
8
|
-
- prompt: assert
|
|
9
|
-
commands:
|
|
10
|
-
- command: assert
|
|
11
|
-
expect: the testdriver sandbox is visible
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
version: 6.0.11
|
|
2
|
-
session: 689a163a8d474e20a6142e70
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: focus chrome, remember the password, enter the username and the remembered password and login
|
|
5
|
-
commands:
|
|
6
|
-
- command: remember
|
|
7
|
-
description: the password
|
|
8
|
-
output: my_password
|
|
9
|
-
- command: hover-text
|
|
10
|
-
text: Username
|
|
11
|
-
description: username input field
|
|
12
|
-
action: click
|
|
13
|
-
- command: type
|
|
14
|
-
text: standard_user
|
|
15
|
-
- command: press-keys
|
|
16
|
-
keys:
|
|
17
|
-
- tab
|
|
18
|
-
- command: type
|
|
19
|
-
text: ${OUTPUT.my_password}
|
|
20
|
-
- command: press-keys
|
|
21
|
-
keys:
|
|
22
|
-
- tab
|
|
23
|
-
- command: press-keys
|
|
24
|
-
keys:
|
|
25
|
-
- enter
|
|
26
|
-
- command: assert
|
|
27
|
-
expect: The product listing page is visible
|
|
Binary file
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
version: 5.7.62
|
|
2
|
-
session: 685accd3d043aff871e84071
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: Navigate to https://developer.mozilla.org/en-US/docs/Web/HTML
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: testdriver-sandbox.vercel.app/login
|
|
10
|
-
description: the URL in the omnibox showing the current page
|
|
11
|
-
action: click
|
|
12
|
-
- command: press-keys
|
|
13
|
-
keys:
|
|
14
|
-
- ctrl
|
|
15
|
-
- a
|
|
16
|
-
- command: type
|
|
17
|
-
text: https://www.webhamster.com/
|
|
18
|
-
- command: press-keys
|
|
19
|
-
keys:
|
|
20
|
-
- enter
|
|
21
|
-
- prompt: scroll down with the mouse 1000 pixels
|
|
22
|
-
commands:
|
|
23
|
-
- command: hover-text
|
|
24
|
-
text: The Hamster Dance
|
|
25
|
-
description: large heading at top of page
|
|
26
|
-
action: click
|
|
27
|
-
- command: scroll
|
|
28
|
-
direction: down
|
|
29
|
-
method: keyboard
|
|
30
|
-
amount: 1000
|
|
31
|
-
- prompt: assert the "The Hamster Dance" heading does not show on the webpage
|
|
32
|
-
commands:
|
|
33
|
-
- command: assert
|
|
34
|
-
expect: the page is scrolled down
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 67f00511acbd9ccac373edf7
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: scroll until image
|
|
5
|
-
commands:
|
|
6
|
-
- command: press-keys
|
|
7
|
-
keys:
|
|
8
|
-
- ctrl
|
|
9
|
-
- l
|
|
10
|
-
- command: type
|
|
11
|
-
text: https://en.wikipedia.org/wiki/Leonardo_da_Vinci
|
|
12
|
-
- command: press-keys
|
|
13
|
-
keys:
|
|
14
|
-
- enter
|
|
15
|
-
- command: hover-text
|
|
16
|
-
text: Leonardo Da Vinci
|
|
17
|
-
description: the page heazding
|
|
18
|
-
action: click
|
|
19
|
-
- command: scroll-until-image
|
|
20
|
-
description: a brown colored house
|
|
21
|
-
direction: down
|
|
22
|
-
|
|
23
|
-
- prompt: assert image of brown colored house appears on screen
|
|
24
|
-
commands:
|
|
25
|
-
- command: assert
|
|
26
|
-
expect: image of brown colored house appears on screen
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f62a1811bd5a322c0e70b
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: complete the login process
|
|
5
|
-
commands:
|
|
6
|
-
- command: run
|
|
7
|
-
file: snippets/login.yaml
|
|
8
|
-
- prompt: scroll until text testdriver socks
|
|
9
|
-
commands:
|
|
10
|
-
- command: focus-application
|
|
11
|
-
name: Google Chrome
|
|
12
|
-
- command: scroll-until-text
|
|
13
|
-
text: testdriver socks
|
|
14
|
-
direction: down
|
|
15
|
-
- prompt: assert testdriver socks appears on screen
|
|
16
|
-
commands:
|
|
17
|
-
- command: focus-application
|
|
18
|
-
name: Google Chrome
|
|
19
|
-
- command: assert
|
|
20
|
-
expect: TestDriver Socks appears on screen
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
version: 5.7.62
|
|
2
|
-
session: 685accd3d043aff871e84071
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: Navigate to https://developer.mozilla.org/en-US/docs/Web/HTML
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: testdriver-sandbox.vercel.app/login
|
|
10
|
-
description: the URL in the omnibox showing the current page
|
|
11
|
-
action: click
|
|
12
|
-
- command: press-keys
|
|
13
|
-
keys:
|
|
14
|
-
- ctrl
|
|
15
|
-
- a
|
|
16
|
-
- command: type
|
|
17
|
-
text: https://www.webhamster.com/
|
|
18
|
-
- command: press-keys
|
|
19
|
-
keys:
|
|
20
|
-
- enter
|
|
21
|
-
- prompt: scroll down with the mouse 1000 pixels
|
|
22
|
-
commands:
|
|
23
|
-
- command: hover-text
|
|
24
|
-
text: The Hamster Dance
|
|
25
|
-
description: large heading at top of page
|
|
26
|
-
action: click
|
|
27
|
-
- command: scroll
|
|
28
|
-
direction: down
|
|
29
|
-
amount: 1000
|
|
30
|
-
- prompt: assert the "The Hamster Dance" heading does not show on the webpage
|
|
31
|
-
commands:
|
|
32
|
-
- command: assert
|
|
33
|
-
expect: the page is scrolled down
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
perversion: 5.7.7
|
|
2
|
-
session: 682f6071811bd5a322c0e6dd
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: focus chrome
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- prompt: enter a username
|
|
9
|
-
commands:
|
|
10
|
-
- command: hover-text
|
|
11
|
-
text: Username
|
|
12
|
-
description: username input field
|
|
13
|
-
action: click
|
|
14
|
-
- command: type
|
|
15
|
-
text: standard_user
|
|
16
|
-
- prompt: enter a password
|
|
17
|
-
commands:
|
|
18
|
-
- command: hover-text
|
|
19
|
-
text: Password
|
|
20
|
-
description: password input field
|
|
21
|
-
action: click
|
|
22
|
-
- command: type
|
|
23
|
-
text: secret_password
|
|
24
|
-
- prompt: click sign in
|
|
25
|
-
commands:
|
|
26
|
-
- command: hover-text
|
|
27
|
-
text: Sign in
|
|
28
|
-
description: sign in button
|
|
29
|
-
action: click
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f5c4c811bd5a322c0e5c1
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: enter standard_user within the username field
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: Username
|
|
10
|
-
description: input field for username
|
|
11
|
-
action: click
|
|
12
|
-
- command: type
|
|
13
|
-
text: standard_user
|
|
14
|
-
- prompt: assert that standard_user shows in the username field
|
|
15
|
-
commands:
|
|
16
|
-
- command: assert
|
|
17
|
-
expect: the username field contains "standard_user"
|
|
18
|
-
- prompt: click on sign in
|
|
19
|
-
commands:
|
|
20
|
-
- command: hover-text
|
|
21
|
-
text: Sign in
|
|
22
|
-
description: black button below the password field
|
|
23
|
-
action: click
|
|
24
|
-
- prompt: assert that "please fill out this field" shows in the password field
|
|
25
|
-
commands:
|
|
26
|
-
- command: focus-application
|
|
27
|
-
name: Google Chrome
|
|
28
|
-
- command: assert
|
|
29
|
-
expect: Please fill out this field is visible near the password field
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f5aab811bd5a322c0e5a1
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: click on log in
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- command: hover-text
|
|
9
|
-
text: Log In
|
|
10
|
-
description: black button below the password field
|
|
11
|
-
action: click
|
|
12
|
-
- command: assert
|
|
13
|
-
expect: an error shows that fields are required
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
steps:
|
|
3
|
-
- commands:
|
|
4
|
-
- command: exec
|
|
5
|
-
lang: pwsh
|
|
6
|
-
code: |
|
|
7
|
-
npm init
|
|
8
|
-
Start-Process "C:\Program Files\Google\Chrome\Application\chrome.exe" -ArgumentList "--start-maximized --disable-infobars --disable-fre --no-default-browser-check --no-first-run --guest --load-extension=$(pwd)/node_modules/dashcam-chrome/build", "${TD_WEBSITE}"
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
version: 5.1.1
|
|
2
|
-
session: 67f00511acbd9ccac373edf7
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: execute powershell multiline
|
|
5
|
-
commands:
|
|
6
|
-
- command: exec
|
|
7
|
-
lang: pwsh
|
|
8
|
-
code: |
|
|
9
|
-
Start-Process "C:/Program Files/Google/Chrome/Application/chrome.exe" -ArgumentList "--start-maximized", "--guest", "${TD_WEBSITE}"
|
|
10
|
-
exit
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
version: 5.1.1
|
|
2
|
-
session: 67f00511acbd9ccac373edf7
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: execute powershell multiline
|
|
5
|
-
commands:
|
|
6
|
-
- command: exec
|
|
7
|
-
lang: js
|
|
8
|
-
code: |
|
|
9
|
-
const failingPromise = new Promise((resolve, reject) => {
|
|
10
|
-
try {
|
|
11
|
-
// Simulate some operation that fails
|
|
12
|
-
throw new Error("Something went wrong!");
|
|
13
|
-
} catch (err) {
|
|
14
|
-
reject(err);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
// Usage
|
|
19
|
-
await failingPromise()
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
version: 5.7.7
|
|
2
|
-
session: 682f6071811bd5a322c0e6dd
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: focus chrome
|
|
5
|
-
commands:
|
|
6
|
-
- command: focus-application
|
|
7
|
-
name: Google Chrome
|
|
8
|
-
- prompt: enter a username
|
|
9
|
-
commands:
|
|
10
|
-
- command: hover-text
|
|
11
|
-
text: Username
|
|
12
|
-
description: username input field
|
|
13
|
-
action: click
|
|
14
|
-
- command: type
|
|
15
|
-
text: standard_user
|
|
16
|
-
- prompt: >-
|
|
17
|
-
enter a valid password
|
|
18
|
-
- prompt: click sign in
|
|
19
|
-
commands:
|
|
20
|
-
- command: hover-text
|
|
21
|
-
text: Sign in
|
|
22
|
-
description: sign in button
|
|
23
|
-
action: click
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
version: 6.0.0
|
|
2
|
-
session: 685c63558f43d1527c84d053
|
|
3
|
-
steps:
|
|
4
|
-
- prompt: assert app opens
|
|
5
|
-
commands:
|
|
6
|
-
- command: assert
|
|
7
|
-
expect: The Todo App is open
|
|
8
|
-
|
|
9
|
-
- command: hover-text
|
|
10
|
-
action: click
|
|
11
|
-
text: "click anywhere"
|
|
12
|
-
description: Label that describes to click anywhere
|