From e36ebb6ede6d42cc841e4078527bba3cf33a40e9 Mon Sep 17 00:00:00 2001
From: ryanrosello-og <50574915+ryanrosello-og@users.noreply.github.com>
Date: Thu, 4 Jul 2024 17:59:56 +0800
Subject: [PATCH] feat(trace-viewer) add request urls for actions initiated via
APIRequestContext (#31534)
---
packages/trace-viewer/src/ui/actionList.tsx | 10 ++++++++++
tests/library/trace-viewer.spec.ts | 6 +++---
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/packages/trace-viewer/src/ui/actionList.tsx b/packages/trace-viewer/src/ui/actionList.tsx
index 886df28a4..e5866ba31 100644
--- a/packages/trace-viewer/src/ui/actionList.tsx
+++ b/packages/trace-viewer/src/ui/actionList.tsx
@@ -102,6 +102,7 @@ export const renderAction = (
{action.apiName}
{locator &&
{locator}
}
{action.method === 'goto' && action.params.url && {action.params.url}
}
+ {action.class === 'APIRequestContext' && action.params.url && {excludeOrigin(action.params.url)}
}
{(showDuration || showBadges) && }
{showDuration && {time || }
}
@@ -111,3 +112,12 @@ export const renderAction = (
}
>;
};
+
+function excludeOrigin(url: string): string {
+ try {
+ const urlObject = new URL(url);
+ return urlObject.pathname + urlObject.search;
+ } catch (error) {
+ return url;
+ }
+}
\ No newline at end of file
diff --git a/tests/library/trace-viewer.spec.ts b/tests/library/trace-viewer.spec.ts
index dc9e9faca..0f7feb365 100644
--- a/tests/library/trace-viewer.spec.ts
+++ b/tests/library/trace-viewer.spec.ts
@@ -812,12 +812,12 @@ test('should open two trace files', async ({ context, page, request, server, sho
await traceViewer.selectAction('apiRequestContext.get');
await traceViewer.selectAction('apiRequestContext.post');
await expect(traceViewer.actionTitles).toHaveText([
- `apiRequestContext.get`,
+ `apiRequestContext.get/simple.json`,
`page.gotohttp://localhost:${server.PORT}/input/button.html`,
- `apiRequestContext.head`,
+ `apiRequestContext.head/simplezip.json`,
`locator.clicklocator('button')`,
`locator.clicklocator('button')`,
- `apiRequestContext.post`,
+ `apiRequestContext.post/one-style.css`,
]);
await traceViewer.page.locator('text=Metadata').click();