venetian 0.3.0-aarch64-linux → 0.3.2-aarch64-linux

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -3
  3. data/Rakefile +1 -0
  4. data/exe/aarch64-linux/node +2 -2
  5. data/exe/aarch64-linux/package/browsers.json +9 -9
  6. data/exe/aarch64-linux/package/cli.js +1 -0
  7. data/exe/aarch64-linux/package/lib/bootstrap.js +61 -0
  8. data/exe/aarch64-linux/package/lib/coreBundle.js +6393 -4170
  9. data/exe/aarch64-linux/package/lib/server/electron/loader.js +4 -0
  10. data/exe/aarch64-linux/package/lib/tools/cli-client/cli.js +2 -1
  11. data/exe/aarch64-linux/package/lib/tools/cli-client/help.json +99 -12
  12. data/exe/aarch64-linux/package/lib/tools/cli-client/output.js +17 -16
  13. data/exe/aarch64-linux/package/lib/tools/cli-client/program.js +8 -4
  14. data/exe/aarch64-linux/package/lib/tools/cli-client/session.js +2 -0
  15. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/SKILL.md +71 -3
  16. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
  17. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/references/running-code.md +4 -0
  18. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/references/session-management.md +2 -0
  19. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/references/test-generation.md +1 -1
  20. data/exe/aarch64-linux/package/lib/tools/skills/playwright-cli/references/video-recording.md +76 -3
  21. data/exe/aarch64-linux/package/lib/tools/skills/playwright-trace/SKILL.md +1 -1
  22. data/exe/aarch64-linux/package/lib/utilsBundle.js +948 -227
  23. data/exe/aarch64-linux/package/lib/utilsBundle.js.LICENSE +6 -6
  24. data/exe/aarch64-linux/package/lib/vite/htmlReport/report.js +1 -1
  25. data/exe/aarch64-linux/package/lib/vite/recorder/assets/{codeMirrorModule-CVQWJZAA.js → codeMirrorModule-DK72OMRi.js} +1 -1
  26. data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
  27. data/exe/aarch64-linux/package/lib/vite/recorder/index.html +1 -1
  28. data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/{codeMirrorModule-BbkfBe3n.js → codeMirrorModule-BEB2e8M3.js} +1 -1
  29. data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
  30. data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/{xtermModule-DywYcAf8.js → xtermModule-B794rD2Z.js} +1 -1
  31. data/exe/aarch64-linux/package/lib/vite/traceViewer/{defaultSettingsView.Bqk9acqE.css → defaultSettingsView.C8BeHuxd.css} +1 -1
  32. data/exe/aarch64-linux/package/lib/vite/traceViewer/{index.B4cLoZK3.js → index.7-c5LSTW.js} +1 -1
  33. data/exe/aarch64-linux/package/lib/vite/traceViewer/index.html +3 -3
  34. data/exe/aarch64-linux/package/lib/vite/traceViewer/sw.bundle.js +3 -3
  35. data/exe/aarch64-linux/package/lib/vite/traceViewer/{uiMode.CU5KtEkS.js → uiMode.CYwC_gH1.js} +4 -4
  36. data/exe/aarch64-linux/package/lib/vite/traceViewer/uiMode.html +3 -3
  37. data/exe/aarch64-linux/package/package.json +1 -1
  38. data/exe/aarch64-linux/package/types/protocol.d.ts +468 -337
  39. data/exe/aarch64-linux/package/types/types.d.ts +572 -37
  40. data/lib/venetian/browser_installer.rb +82 -5
  41. data/lib/venetian/browser_runner_extensions.rb +7 -3
  42. data/lib/venetian/connection_extensions.rb +28 -0
  43. data/lib/venetian/executable.rb +139 -45
  44. data/lib/venetian/playwright.rb +1 -0
  45. data/lib/venetian/system_test_case_extension.rb +21 -8
  46. data/lib/venetian/upstream.rb +38 -3
  47. data/lib/venetian/version.rb +3 -2
  48. metadata +16 -14
  49. data/exe/aarch64-linux/package/lib/vite/recorder/assets/index-hrlLqLtq.js +0 -129
  50. data/exe/aarch64-linux/package/lib/vite/traceViewer/assets/defaultSettingsView-Ds6CBOo0.js +0 -182
@@ -8,8 +8,9 @@ Capture browser automation sessions as video for debugging, documentation, or ve
8
8
  # Open browser first
9
9
  playwright-cli open
10
10
 
11
- # Start recording
12
- playwright-cli video-start demo.webm
11
+ # Start recording, --cursor renders an animated mouse cursor that travels to each action point
12
+ # and paces actions by 800ms so that it has time to travel
13
+ playwright-cli video-start demo.webm --cursor --fps=60
13
14
 
14
15
  # Add a chapter marker for section transitions
15
16
  playwright-cli video-chapter "Getting Started" --description="Opening the homepage" --duration=2000
@@ -27,6 +28,56 @@ playwright-cli fill e2 "test input"
27
28
  playwright-cli video-stop
28
29
  ```
29
30
 
31
+ ## Cursor, Target Highlight and Click Point
32
+
33
+ Three decorations can be drawn for each action: the mouse **cursor**, a **highlight** box around the
34
+ target element and a **point** marker at the click point. A **title** callout naming the action comes
35
+ with `video-show-actions`. The cursor is the only one `video-start --cursor` turns on; the rest are
36
+ opt-in and styled with plain CSS declarations, so they look exactly the way you want.
37
+
38
+ ```bash
39
+ # Cursor only, nothing else on screen
40
+ playwright-cli video-start demo.webm --cursor
41
+
42
+ # Action callout, plus a red click point and a dark frame around the target
43
+ playwright-cli video-show-actions --duration=800 --position=top-right \
44
+ --point-style="width: 20px; height: 20px; border-radius: 50%; background: rgba(255,0,0,.7)" \
45
+ --highlight-style="outline: 2px solid #333; background: rgba(0,128,255,.15)" \
46
+ --title-style="font-size: 16px"
47
+
48
+ # Stop annotating actions
49
+ playwright-cli video-hide-actions
50
+ ```
51
+
52
+ The same options are available programmatically, which is the better choice for hero scripts:
53
+
54
+ ```js
55
+ await page.screencast.showActions({
56
+ // 'pointer' (default) animates the cursor from the previous action point, 'none' hides it.
57
+ cursor: 'pointer',
58
+ // How long decorations stay on screen. Actions are paced by this delay, 500ms by default.
59
+ duration: 800,
60
+ // Where the action title goes: top-left, top, top-right, bottom-left, bottom, bottom-right.
61
+ position: 'top-right',
62
+ style: {
63
+ // Marker at the click point. The element is zero-sized and centered on the point,
64
+ // so give it a size, or draw around the point with box-shadow. Hidden when omitted.
65
+ point: 'width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 0, 0, .7)',
66
+ // Box that covers the target element. Hidden when omitted.
67
+ // Prefer `outline` over `border`, it does not shrink the box.
68
+ highlight: 'outline: 2px solid #333; background: rgba(0, 128, 255, .15)',
69
+ // The action title. Use 'display: none' to keep the cursor but drop the callout.
70
+ title: 'font-size: 16px',
71
+ },
72
+ });
73
+ ```
74
+
75
+ Notes:
76
+ - All decorations fade out over `duration`. Override `animation` in a style to do something else.
77
+ - The cursor stays on screen at the last action point between actions and across navigations,
78
+ and travels along a slightly curved path, so it reads as a hand moving a mouse.
79
+ - Call `page.screencast.hideActions()` to stop annotating and hide the cursor.
80
+
30
81
  ## Best Practices
31
82
 
32
83
  ### 1. Use Descriptive Filenames
@@ -50,7 +101,15 @@ It allows inserting appropriate pauses between the actions and annotating the vi
50
101
 
51
102
  ```js
52
103
  async page => {
53
- await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 } });
104
+ await page.screencast.start({ path: 'video.webm', size: { width: 1280, height: 800 }, fps: 60 });
105
+ // Show the cursor and mark the click point, and pace actions by 800ms.
106
+ await page.screencast.showActions({
107
+ duration: 800,
108
+ style: {
109
+ point: 'width: 20px; height: 20px; border-radius: 50%; background: rgba(255, 0, 0, .7)',
110
+ title: 'display: none',
111
+ },
112
+ });
54
113
  await page.goto('https://demo.playwright.dev/todomvc');
55
114
 
56
115
  // Show a chapter card — blurs the page and shows a dialog.
@@ -127,6 +186,20 @@ Embrace creativity, overlays are powerful.
127
186
  | `page.screencast.showOverlay(html, { duration? })` | Custom HTML overlay — use for callouts, labels, highlights |
128
187
  | `disposable.dispose()` | Remove a sticky overlay added without duration |
129
188
  | `page.screencast.hideOverlays()` / `page.screencast.showOverlays()` | Temporarily hide/show all overlays |
189
+ | `page.screencast.showActions({ cursor, duration, position, style })` | Cursor, click point, target highlight and action title |
190
+ | `page.screencast.hideActions()` | Stop annotating actions and hide the cursor |
191
+
192
+ ### 3. Attach the recording to the pull request
193
+
194
+ A hero script recording is the best proof of work for a user-facing change. GitHub accepts WebM as is, so once the recording looks right, attach it with `gh` 2.99+ instead of describing the flow in words:
195
+
196
+ ```bash
197
+ gh pr create --title "feat(todo): add items inline" --body-file body.md --attach ./demo.webm
198
+ gh pr comment 123 --body "Walkthrough of the new flow." --attach ./demo.webm
199
+ gh issue comment 456 --body "Recording of the repro steps." --attach ./repro.webm
200
+ ```
201
+
202
+ `gh` appends unreferenced attachments to the end of the body, which is the right place for a walkthrough. Videos are limited to 10 MB on free plans and 100 MB on paid plans, so keep the script focused, record at a modest size such as 1280x800 and drop chapters that do not add to the story. See [pr-attachments.md](pr-attachments.md) for the full set of commands, including attaching test artifacts from CI.
130
203
 
131
204
  ## Tracing vs Video
132
205
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: playwright-trace
3
3
  description: Inspect Playwright trace files from the command line — list actions, view requests, console, errors, snapshots and screenshots.
4
- allowed-tools: Bash(npx:*)
4
+ allowed-tools: Bash(npx playwright trace:*)
5
5
  ---
6
6
 
7
7
  # Playwright Trace CLI