doc-detective 4.0.0-beta.1-dev.1 → 4.0.0-beta.1-dev.3

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 +1 @@
1
- {"version":3,"file":"startRecording.d.ts","sourceRoot":"","sources":["../../../src/core/tests/startRecording.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,iBAAe,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBA0KrH"}
1
+ {"version":3,"file":"startRecording.d.ts","sourceRoot":"","sources":["../../../src/core/tests/startRecording.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,iBAAe,cAAc,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBA2MrH"}
@@ -1,4 +1,5 @@
1
1
  import { validate } from "../../common/src/validate.js";
2
+ import { log } from "../utils.js";
2
3
  import { instantiateCursor } from "./moveTo.js";
3
4
  import path from "node:path";
4
5
  import fs from "node:fs";
@@ -80,7 +81,14 @@ async function startRecording({ config, context, step, driver }) {
80
81
  await driver.execute(() => (document.title = "RECORDER"));
81
82
  config.recording.tab = await driver.getWindowHandle();
82
83
  // Start recording
83
- await driver.execute((baseName) => {
84
+ const recorderStarted = await driver.executeAsync((baseName, done) => {
85
+ let doneCalled = false;
86
+ const safeDone = (value) => {
87
+ if (!doneCalled) {
88
+ doneCalled = true;
89
+ done(value);
90
+ }
91
+ };
84
92
  let stream;
85
93
  const displayMediaOptions = {
86
94
  video: {
@@ -106,10 +114,18 @@ async function startRecording({ config, context, step, driver }) {
106
114
  }
107
115
  }
108
116
  async function captureAndDownload() {
109
- stream = await startCapture(displayMediaOptions);
110
- if (stream) {
117
+ try {
118
+ stream = await startCapture(displayMediaOptions);
119
+ if (!stream) {
120
+ safeDone(false);
121
+ return null;
122
+ }
111
123
  await recordStream(stream);
112
124
  }
125
+ catch (err) {
126
+ console.error(`Error: ${err}`);
127
+ safeDone(false);
128
+ }
113
129
  return stream;
114
130
  }
115
131
  async function recordStream(stream) {
@@ -117,7 +133,8 @@ async function startRecording({ config, context, step, driver }) {
117
133
  const data = [];
118
134
  window.recorder.ondataavailable = (event) => data.push(event.data);
119
135
  window.recorder.start();
120
- const stopped = new Promise((resolve, reject) => {
136
+ safeDone(true);
137
+ let stopped = new Promise((resolve, reject) => {
121
138
  window.recorder.onstop = resolve;
122
139
  window.recorder.onerror = (event) => reject(event.name);
123
140
  });
@@ -137,6 +154,22 @@ async function startRecording({ config, context, step, driver }) {
137
154
  }
138
155
  captureAndDownload();
139
156
  }, baseName);
157
+ // Handle recording failure
158
+ if (!recorderStarted) {
159
+ config.recording = null;
160
+ result.status = "FAIL";
161
+ result.description =
162
+ "Failed to start recording. getDisplayMedia may have been rejected. " +
163
+ "On macOS, ensure Chrome has screen recording permission in " +
164
+ "System Preferences > Privacy & Security > Screen Recording.";
165
+ log(config, "error", result.description);
166
+ await driver.closeWindow();
167
+ await driver.switchToWindow(originalTab);
168
+ await driver.execute((documentTitle) => {
169
+ document.title = documentTitle;
170
+ }, documentTitle);
171
+ return result;
172
+ }
140
173
  // Switch to original tab
141
174
  await driver.switchToWindow(originalTab);
142
175
  // Set document title back to original
@@ -1 +1 @@
1
- {"version":3,"file":"startRecording.js","sourceRoot":"","sources":["../../../src/core/tests/startRecording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startRecording.js","sourceRoot":"","sources":["../../../src/core/tests/startRecording.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stopRecording.d.ts","sourceRoot":"","sources":["../../../src/core/tests/stopRecording.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,iBAAe,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBA8F7F"}
1
+ {"version":3,"file":"stopRecording.d.ts","sourceRoot":"","sources":["../../../src/core/tests/stopRecording.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,iBAAe,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,gBAmH7F"}
@@ -31,6 +31,23 @@ async function stopRecording({ config, step, driver }) {
31
31
  // MediaRecorder
32
32
  // Switch to recording tab
33
33
  await driver.switchToWindow(config.recording.tab);
34
+ // Check that recorder was properly initialized
35
+ const recorderExists = await driver.execute(() => {
36
+ return typeof window.recorder !== "undefined" && window.recorder !== null;
37
+ });
38
+ if (!recorderExists) {
39
+ result.status = "FAIL";
40
+ result.description =
41
+ "Recording was not properly started. The recorder object doesn't exist in the browser context.";
42
+ const allHandles = await driver.getWindowHandles();
43
+ await driver.closeWindow();
44
+ const remainingHandles = allHandles.filter((h) => h !== config.recording.tab);
45
+ if (remainingHandles.length > 0) {
46
+ await driver.switchToWindow(remainingHandles[0]);
47
+ }
48
+ config.recording = null;
49
+ return result;
50
+ }
34
51
  // Stop recording
35
52
  await driver.execute(() => {
36
53
  window.recorder.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"stopRecording.js","sourceRoot":"","sources":["../../../src/core/tests/stopRecording.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stopRecording.js","sourceRoot":"","sources":["../../../src/core/tests/stopRecording.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -125661,7 +125661,14 @@ async function startRecording({ config, context, step, driver }) {
125661
125661
  await driver.url("chrome://new-tab-page");
125662
125662
  await driver.execute(() => document.title = "RECORDER");
125663
125663
  config.recording.tab = await driver.getWindowHandle();
125664
- await driver.execute((baseName2) => {
125664
+ const recorderStarted = await driver.executeAsync((baseName2, done) => {
125665
+ let doneCalled = false;
125666
+ const safeDone = (value) => {
125667
+ if (!doneCalled) {
125668
+ doneCalled = true;
125669
+ done(value);
125670
+ }
125671
+ };
125665
125672
  let stream;
125666
125673
  const displayMediaOptions = {
125667
125674
  video: {
@@ -125686,9 +125693,16 @@ async function startRecording({ config, context, step, driver }) {
125686
125693
  }
125687
125694
  }
125688
125695
  async function captureAndDownload() {
125689
- stream = await startCapture(displayMediaOptions);
125690
- if (stream) {
125696
+ try {
125697
+ stream = await startCapture(displayMediaOptions);
125698
+ if (!stream) {
125699
+ safeDone(false);
125700
+ return null;
125701
+ }
125691
125702
  await recordStream(stream);
125703
+ } catch (err) {
125704
+ console.error(`Error: ${err}`);
125705
+ safeDone(false);
125692
125706
  }
125693
125707
  return stream;
125694
125708
  }
@@ -125697,7 +125711,8 @@ async function startRecording({ config, context, step, driver }) {
125697
125711
  const data = [];
125698
125712
  window.recorder.ondataavailable = (event) => data.push(event.data);
125699
125713
  window.recorder.start();
125700
- const stopped = new Promise((resolve, reject) => {
125714
+ safeDone(true);
125715
+ let stopped = new Promise((resolve, reject) => {
125701
125716
  window.recorder.onstop = resolve;
125702
125717
  window.recorder.onerror = (event) => reject(event.name);
125703
125718
  });
@@ -125717,6 +125732,18 @@ async function startRecording({ config, context, step, driver }) {
125717
125732
  }
125718
125733
  captureAndDownload();
125719
125734
  }, baseName);
125735
+ if (!recorderStarted) {
125736
+ config.recording = null;
125737
+ result.status = "FAIL";
125738
+ result.description = "Failed to start recording. getDisplayMedia may have been rejected. On macOS, ensure Chrome has screen recording permission in System Preferences > Privacy & Security > Screen Recording.";
125739
+ log(config, "error", result.description);
125740
+ await driver.closeWindow();
125741
+ await driver.switchToWindow(originalTab);
125742
+ await driver.execute((documentTitle2) => {
125743
+ document.title = documentTitle2;
125744
+ }, documentTitle);
125745
+ return result;
125746
+ }
125720
125747
  await driver.switchToWindow(originalTab);
125721
125748
  await driver.execute((documentTitle2) => {
125722
125749
  document.title = documentTitle2;
@@ -125763,6 +125790,21 @@ async function stopRecording({ config, step, driver }) {
125763
125790
  try {
125764
125791
  if (config.recording.type === "MediaRecorder") {
125765
125792
  await driver.switchToWindow(config.recording.tab);
125793
+ const recorderExists = await driver.execute(() => {
125794
+ return typeof window.recorder !== "undefined" && window.recorder !== null;
125795
+ });
125796
+ if (!recorderExists) {
125797
+ result.status = "FAIL";
125798
+ result.description = "Recording was not properly started. The recorder object doesn't exist in the browser context.";
125799
+ const allHandles2 = await driver.getWindowHandles();
125800
+ await driver.closeWindow();
125801
+ const remainingHandles2 = allHandles2.filter((h) => h !== config.recording.tab);
125802
+ if (remainingHandles2.length > 0) {
125803
+ await driver.switchToWindow(remainingHandles2[0]);
125804
+ }
125805
+ config.recording = null;
125806
+ return result;
125807
+ }
125766
125808
  await driver.execute(() => {
125767
125809
  window.recorder.stop();
125768
125810
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,GAAG,EACH,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,gBAAgB,GACjB,CAAC;AAGF,iBAAS,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,MAAe,EAAE,MAAM,GAAE,GAAQ,QAclE;AAGD,iBAAS,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAkC/B;AAGD,iBAAe,uBAAuB,CAAC,MAAM,GAAE,GAAQ;;;UAyEtD;AAqCD,iBAAe,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,gBAqF7E;AAGD,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAubzG,CAAC;AAGF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAM5D;AAED,iBAAe,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,iBA8DpF;AAED,iBAAe,aAAa,CAAC,MAAM,EAAE,GAAG,YAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,GAAQ,kBAgD9F;AAGD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;;;;GAwCvD;AAED,iBAAS,OAAO,SAuBf;AAGD,iBAAS,cAAc,QA+GtB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,OAAO,EACP,SAAS,EACT,aAAa,EACb,YAAY,EACZ,OAAO,EACP,cAAc,EACd,GAAG,EACH,uBAAuB,EACvB,aAAa,EACb,SAAS,EACT,gBAAgB,GACjB,CAAC;AAGF,iBAAS,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,GAAE,MAAe,EAAE,MAAM,GAAE,GAAQ,QAclE;AAGD,iBAAS,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAmC/B;AAGD,iBAAe,uBAAuB,CAAC,MAAM,GAAE,GAAQ;;;UAyEtD;AAqCD,iBAAe,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;IAAE,UAAU,CAAC,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,gBAqF7E;AAGD,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAubzG,CAAC;AAGF,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAM5D;AAED,iBAAe,aAAa,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAE,iBA8DpF;AAED,iBAAe,aAAa,CAAC,MAAM,EAAE,GAAG,YAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,GAAE,GAAQ,kBAgD9F;AAGD,iBAAe,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE;;;;GAwCvD;AAED,iBAAS,OAAO,SAuBf;AAGD,iBAAS,cAAc,QA+GtB"}
package/dist/utils.js CHANGED
@@ -55,6 +55,7 @@ function setArgs(args) {
55
55
  description: "Allow execution of potentially unsafe tests",
56
56
  type: "boolean",
57
57
  })
58
+ .version(require("../package.json").version)
58
59
  .help()
59
60
  .alias("help", "h").argv;
60
61
  return argv;
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-detective",
3
- "version": "4.0.0-beta.1-dev.1",
3
+ "version": "4.0.0-beta.1-dev.3",
4
4
  "description": "Treat doc content as testable assertions to validate doc accuracy and product UX.",
5
5
  "workspaces": [
6
6
  "src/common"
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "doc-detective-common",
3
- "version": "4.0.0-beta.0-dev.2",
3
+ "version": "4.0.0-beta.0-dev.4",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "doc-detective-common",
9
- "version": "4.0.0-beta.0-dev.2",
9
+ "version": "4.0.0-beta.0-dev.4",
10
10
  "license": "AGPL-3.0-only",
11
11
  "dependencies": {
12
12
  "ajv": "^8.17.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-detective-common",
3
- "version": "4.0.0-beta.0-dev.2",
3
+ "version": "4.0.0-beta.0-dev.4",
4
4
  "description": "Shared components for Doc Detective projects.",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -1,4 +1,5 @@
1
1
  import { validate } from "../../common/src/validate.js";
2
+ import { log } from "../utils.js";
2
3
  import { instantiateCursor } from "./moveTo.js";
3
4
  import path from "node:path";
4
5
  import fs from "node:fs";
@@ -92,8 +93,15 @@ async function startRecording({ config, context, step, driver }: { config: any;
92
93
  config.recording.tab = await driver.getWindowHandle();
93
94
 
94
95
  // Start recording
95
- await driver.execute((baseName: any) => {
96
- let stream;
96
+ const recorderStarted = await driver.executeAsync((baseName: any, done: any) => {
97
+ let doneCalled = false;
98
+ const safeDone = (value: boolean) => {
99
+ if (!doneCalled) {
100
+ doneCalled = true;
101
+ done(value);
102
+ }
103
+ };
104
+ let stream: any;
97
105
  const displayMediaOptions = {
98
106
  video: {
99
107
  displaySurface: "browser",
@@ -119,9 +127,16 @@ async function startRecording({ config, context, step, driver }: { config: any;
119
127
  }
120
128
  }
121
129
  async function captureAndDownload() {
122
- stream = await startCapture(displayMediaOptions);
123
- if (stream) {
130
+ try {
131
+ stream = await startCapture(displayMediaOptions);
132
+ if (!stream) {
133
+ safeDone(false);
134
+ return null;
135
+ }
124
136
  await recordStream(stream);
137
+ } catch (err) {
138
+ console.error(`Error: ${err}`);
139
+ safeDone(false);
125
140
  }
126
141
  return stream;
127
142
  }
@@ -131,8 +146,9 @@ async function startRecording({ config, context, step, driver }: { config: any;
131
146
 
132
147
  (window as any).recorder.ondataavailable = (event: any) => data.push(event.data);
133
148
  (window as any).recorder.start();
149
+ safeDone(true);
134
150
 
135
- const stopped = new Promise((resolve, reject) => {
151
+ let stopped = new Promise((resolve, reject) => {
136
152
  (window as any).recorder.onstop = resolve;
137
153
  (window as any).recorder.onerror = (event: any) => reject(event.name);
138
154
  });
@@ -154,6 +170,24 @@ async function startRecording({ config, context, step, driver }: { config: any;
154
170
  }
155
171
  captureAndDownload();
156
172
  }, baseName);
173
+
174
+ // Handle recording failure
175
+ if (!recorderStarted) {
176
+ config.recording = null;
177
+ result.status = "FAIL";
178
+ result.description =
179
+ "Failed to start recording. getDisplayMedia may have been rejected. " +
180
+ "On macOS, ensure Chrome has screen recording permission in " +
181
+ "System Preferences > Privacy & Security > Screen Recording.";
182
+ log(config, "error", result.description);
183
+ await driver.closeWindow();
184
+ await driver.switchToWindow(originalTab);
185
+ await driver.execute((documentTitle: any) => {
186
+ document.title = documentTitle;
187
+ }, documentTitle);
188
+ return result;
189
+ }
190
+
157
191
  // Switch to original tab
158
192
  await driver.switchToWindow(originalTab);
159
193
  // Set document title back to original
@@ -37,6 +37,27 @@ async function stopRecording({ config, step, driver }: { config: any; step: any;
37
37
 
38
38
  // Switch to recording tab
39
39
  await driver.switchToWindow(config.recording.tab);
40
+
41
+ // Check that recorder was properly initialized
42
+ const recorderExists = await driver.execute(() => {
43
+ return typeof (window as any).recorder !== "undefined" && (window as any).recorder !== null;
44
+ });
45
+ if (!recorderExists) {
46
+ result.status = "FAIL";
47
+ result.description =
48
+ "Recording was not properly started. The recorder object doesn't exist in the browser context.";
49
+ const allHandles = await driver.getWindowHandles();
50
+ await driver.closeWindow();
51
+ const remainingHandles = allHandles.filter(
52
+ (h: string) => h !== config.recording.tab
53
+ );
54
+ if (remainingHandles.length > 0) {
55
+ await driver.switchToWindow(remainingHandles[0]);
56
+ }
57
+ config.recording = null;
58
+ return result;
59
+ }
60
+
40
61
  // Stop recording
41
62
  await driver.execute(() => {
42
63
  (window as any).recorder.stop();
package/src/utils.ts CHANGED
@@ -73,6 +73,7 @@ function setArgs(args: any): any {
73
73
  description: "Allow execution of potentially unsafe tests",
74
74
  type: "boolean",
75
75
  })
76
+ .version(require("../package.json").version)
76
77
  .help()
77
78
  .alias("help", "h").argv;
78
79
 
@@ -0,0 +1,117 @@
1
+ {
2
+ "specId": "recording",
3
+ "description": "Tests for screen recording start/stop lifecycle. Non-headless tests require Chrome with screen recording permissions and only run on Windows and macOS. Headless tests verify skip/guard behavior on all platforms.",
4
+ "tests": [
5
+ {
6
+ "testId": "recording-basic",
7
+ "description": "Start and stop a basic recording.",
8
+ "runOn": [
9
+ {
10
+ "platforms": ["windows", "mac"],
11
+ "browsers": {
12
+ "name": "chrome",
13
+ "headless": false
14
+ }
15
+ }
16
+ ],
17
+ "steps": [
18
+ {
19
+ "goTo": "http://localhost:8092"
20
+ },
21
+ {
22
+ "record": {
23
+ "path": "recording-basic.webm",
24
+ "overwrite": "true"
25
+ }
26
+ },
27
+ {
28
+ "find": {
29
+ "selector": "body",
30
+ "timeout": 5000
31
+ }
32
+ },
33
+ {
34
+ "stopRecord": true
35
+ }
36
+ ]
37
+ },
38
+ {
39
+ "testId": "recording-mp4",
40
+ "description": "Start and stop recording with mp4 output.",
41
+ "runOn": [
42
+ {
43
+ "platforms": ["windows", "mac"],
44
+ "browsers": {
45
+ "name": "chrome",
46
+ "headless": false
47
+ }
48
+ }
49
+ ],
50
+ "steps": [
51
+ {
52
+ "goTo": "http://localhost:8092"
53
+ },
54
+ {
55
+ "record": {
56
+ "path": "recording-mp4.mp4",
57
+ "overwrite": "true"
58
+ }
59
+ },
60
+ {
61
+ "find": {
62
+ "selector": "body",
63
+ "timeout": 5000
64
+ }
65
+ },
66
+ {
67
+ "stopRecord": true
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "testId": "recording-headless-skipped",
73
+ "description": "Recording should be skipped in headless mode.",
74
+ "runOn": [
75
+ {
76
+ "platforms": ["windows", "mac", "linux"],
77
+ "browsers": {
78
+ "name": "chrome",
79
+ "headless": true
80
+ }
81
+ }
82
+ ],
83
+ "steps": [
84
+ {
85
+ "goTo": "http://localhost:8092"
86
+ },
87
+ {
88
+ "record": true
89
+ },
90
+ {
91
+ "stopRecord": true
92
+ }
93
+ ]
94
+ },
95
+ {
96
+ "testId": "recording-stop-without-start",
97
+ "description": "Stopping a recording that was never started should be skipped.",
98
+ "runOn": [
99
+ {
100
+ "platforms": ["windows", "mac", "linux"],
101
+ "browsers": {
102
+ "name": "chrome",
103
+ "headless": true
104
+ }
105
+ }
106
+ ],
107
+ "steps": [
108
+ {
109
+ "goTo": "http://localhost:8092"
110
+ },
111
+ {
112
+ "stopRecord": true
113
+ }
114
+ ]
115
+ }
116
+ ]
117
+ }