fix(trace-viewer): time delta between local and remote actions (#32661)

This commit is contained in:
Yury Semikhatsky 2024-09-17 11:14:15 -07:00 committed by GitHub
parent f1390cc269
commit ad70e7a783
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 1 deletions

View file

@ -312,7 +312,7 @@ function monotonicTimeDeltaBetweenLibraryAndRunner(nonPrimaryContexts: ContextEn
for (const action of context.actions) {
if (!action.startTime)
continue;
const key = matchByStepId ? action.stepId! : `${action.apiName}@${(action as any).wallTime}`;
const key = matchByStepId ? action.callId! : `${action.apiName}@${(action as any).wallTime}`;
const libraryAction = libraryActions.get(key);
if (libraryAction)
return action.startTime - libraryAction.startTime;

Binary file not shown.

View file

@ -127,6 +127,12 @@ test('should complain about newer version of trace in old viewer', async ({ show
await expect(traceViewer.page.getByText('The trace was created by a newer version of Playwright and is not supported by this version of the viewer.')).toBeVisible();
});
test('should properly synchronize local and remote time', async ({ showTraceViewer, asset }, testInfo) => {
const traceViewer = await showTraceViewer([asset('trace-remote-time-diff.zip')]);
// The total duration should be sub 10s, rather than 16h.
await expect(traceViewer.page.locator('.timeline-time').last()).toHaveText('8.5s');
});
test('should contain action info', async ({ showTraceViewer }) => {
const traceViewer = await showTraceViewer([traceFile]);
await traceViewer.selectAction('locator.click');