diff --git a/packages/playwright-test/src/reporters/json.ts b/packages/playwright-test/src/reporters/json.ts index a2704877e5..493b627247 100644 --- a/packages/playwright-test/src/reporters/json.ts +++ b/packages/playwright-test/src/reporters/json.ts @@ -177,6 +177,7 @@ class JSONReporter implements Reporter { stderr: result.stderr.map(s => stdioEntry(s)), retry: result.retry, steps: steps.length ? steps.map(s => this._serializeTestStep(s)) : undefined, + startTime: result.startTime, attachments: result.attachments.map(a => ({ name: a.name, contentType: a.contentType, diff --git a/packages/playwright-test/types/testReporter.d.ts b/packages/playwright-test/types/testReporter.d.ts index 0b63983017..9581ea18fa 100644 --- a/packages/playwright-test/types/testReporter.d.ts +++ b/packages/playwright-test/types/testReporter.d.ts @@ -493,6 +493,7 @@ export interface JSONReportTestResult { stderr: JSONReportSTDIOEntry[]; retry: number; steps?: JSONReportTestStep[]; + startTime: Date; attachments: { name: string; path?: string; diff --git a/tests/playwright-test/reporter-json.spec.ts b/tests/playwright-test/reporter-json.spec.ts index 2702c008c0..799bdbafc5 100644 --- a/tests/playwright-test/reporter-json.spec.ts +++ b/tests/playwright-test/reporter-json.spec.ts @@ -235,3 +235,16 @@ test('should add line in addition to file json without CI', async ({ runInlineTe expect(stripAnsi(result.output)).toContain('[1/1] a.test.js:6:7 › one'); expect(fs.existsSync(testInfo.outputPath('a.json'))).toBeTruthy(); }); +test('should have starting time in results', async ({ runInlineTest }, testInfo) => { + const result = await runInlineTest({ + 'a.test.js': ` + const { test } = pwt; + test('math works!', async ({}) => { + expect(1 + 1).toBe(2); + }); + ` + }, { reporter: 'json' }); + expect(result.exitCode).toBe(0); + const startTime = result.report.suites[0].specs[0].tests[0].results[0].startTime; + expect(new Date(startTime).getTime()).toBeGreaterThan(new Date('1/1/2000').getTime()); +}); diff --git a/utils/generate_types/overrides-testReporter.d.ts b/utils/generate_types/overrides-testReporter.d.ts index 9ad45f2b3b..1837fca003 100644 --- a/utils/generate_types/overrides-testReporter.d.ts +++ b/utils/generate_types/overrides-testReporter.d.ts @@ -104,6 +104,7 @@ export interface JSONReportTestResult { stderr: JSONReportSTDIOEntry[]; retry: number; steps?: JSONReportTestStep[]; + startTime: Date; attachments: { name: string; path?: string;