testdriverai 7.2.17 → 7.2.18

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.
@@ -1,7 +1,7 @@
1
1
  {
2
- "sandboxId": "i-081d1f2924e90502a",
3
- "os": "windows",
2
+ "sandboxId": "it4moajx3h6qvkfltmbt6",
3
+ "os": "linux",
4
4
  "ami": null,
5
5
  "instanceType": null,
6
- "timestamp": "2026-01-06T23:55:58.081Z"
6
+ "timestamp": "2026-01-07T19:39:22.593Z"
7
7
  }
@@ -725,18 +725,22 @@ const createCommands = (
725
725
  * @param {number} [options.timeout=5000] - Timeout in milliseconds
726
726
  */
727
727
  "hover-text": async (...args) => {
728
- let description, action, timeout;
728
+ let description, text, action, timeout;
729
729
 
730
730
  // Handle both object and positional argument styles
731
- if (isObjectArgs(args, ['description', 'action', 'timeout'])) {
732
- ({ description, action = 'click', timeout = 5000 } = args[0]);
731
+ if (isObjectArgs(args, ['description', 'text', 'action', 'timeout'])) {
732
+ ({ description, text, action = 'click', timeout = 5000 } = args[0]);
733
733
  } else {
734
734
  // Legacy positional: hoverText(description, action, timeout)
735
735
  [description, action = 'click', timeout = 5000] = args;
736
736
  }
737
737
 
738
+ // Use text if provided, otherwise fall back to description
739
+ // This handles both the new spec (text + description) and legacy usage (just description)
740
+ description = text || description;
741
+
738
742
  if (!description) {
739
- throw new CommandError("hover-text requires a description parameter");
743
+ throw new CommandError("hover-text requires either a text or description parameter");
740
744
  }
741
745
 
742
746
  description = description.toString();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "testdriverai",
3
- "version": "7.2.17",
3
+ "version": "7.2.18",
4
4
  "description": "Next generation autonomous AI agent for end-to-end testing of web & desktop",
5
5
  "main": "sdk.js",
6
6
  "exports": {
@@ -15,11 +15,12 @@ describe("Launch VS Code on Linux", () => {
15
15
  // provision.vscode() automatically calls ready() and starts dashcam
16
16
  await testdriver.provision.vscode();
17
17
 
18
- // Assert that VS Code is running
19
- const result = await testdriver.assert(
20
- "Visual Studio Code window is visible on screen",
18
+ // Wait for VS Code to launch (polls every 5s until found or timeout)
19
+ const vsCodeWindow = await testdriver.find(
20
+ "Visual Studio Code window",
21
+ { timeout: 60000 }
21
22
  );
22
- expect(result).toBeTruthy();
23
+ expect(vsCodeWindow.found()).toBeTruthy();
23
24
  },
24
25
  );
25
26
 
@@ -32,11 +33,12 @@ describe("Launch VS Code on Linux", () => {
32
33
  await testdriver.provision.vscode({
33
34
  extensions: ["esbenp.prettier-vscode"],
34
35
  });
35
-
36
- // Assert that VS Code is running
37
- const vsCodeVisible = await testdriver.assert(
38
- "Visual Studio Code window is visible on screen",
36
+ Wait for VS Code to launch (polls every 5s until found or timeout)
37
+ const vsCodeWindow = await testdriver.find(
38
+ "Visual Studio Code window",
39
+ { timeout: 60000 }
39
40
  );
41
+ expect(vsCodeWindow.found()
40
42
  expect(vsCodeVisible).toBeTruthy();
41
43
 
42
44
  // Open the extensions panel to verify Prettier is installed