diff --git a/packages/trace-viewer/src/ui/inspectorTab.tsx b/packages/trace-viewer/src/ui/inspectorTab.tsx
index c608cde21b..7b3a90b709 100644
--- a/packages/trace-viewer/src/ui/inspectorTab.tsx
+++ b/packages/trace-viewer/src/ui/inspectorTab.tsx
@@ -22,16 +22,15 @@ import * as React from 'react';
import './sourceTab.css';
export const InspectorTab: React.FunctionComponent<{
- showScreenshot: boolean,
sdkLanguage: Language,
setIsInspecting: (isInspecting: boolean) => void,
highlightedLocator: string,
setHighlightedLocator: (locator: string) => void,
-}> = ({ showScreenshot, sdkLanguage, setIsInspecting, highlightedLocator, setHighlightedLocator }) => {
+}> = ({ sdkLanguage, setIsInspecting, highlightedLocator, setHighlightedLocator }) => {
return
Locator
-
{
+ {
// Updating text needs to go first - react can squeeze a render between the state updates.
setHighlightedLocator(text);
setIsInspecting(false);
diff --git a/packages/trace-viewer/src/ui/modelUtil.ts b/packages/trace-viewer/src/ui/modelUtil.ts
index b639a4c03d..8badcbd87e 100644
--- a/packages/trace-viewer/src/ui/modelUtil.ts
+++ b/packages/trace-viewer/src/ui/modelUtil.ts
@@ -22,7 +22,6 @@ import type { ActionEntry, ContextEntry, PageEntry } from '../types/entries';
import type { StackFrame } from '@protocol/channels';
const contextSymbol = Symbol('context');
-const pageSymbol = Symbol('page');
const nextInContextSymbol = Symbol('next');
const prevInListSymbol = Symbol('prev');
const eventsSymbol = Symbol('events');
@@ -148,7 +147,6 @@ function indexModel(context: ContextEntry) {
for (let i = 0; i < context.actions.length; ++i) {
const action = context.actions[i] as any;
action[contextSymbol] = context;
- action[pageSymbol] = context.pages.find(page => page.pageId === action.pageId);
}
let lastNonRouteAction = undefined;
for (let i = context.actions.length - 1; i >= 0; i--) {
@@ -353,10 +351,6 @@ export function prevInList(action: ActionTraceEvent): ActionTraceEvent {
return (action as any)[prevInListSymbol];
}
-export function pageForAction(action: ActionTraceEvent): PageEntry {
- return (action as any)[pageSymbol];
-}
-
export function stats(action: ActionTraceEvent): { errors: number, warnings: number } {
let errors = 0;
let warnings = 0;
diff --git a/packages/trace-viewer/src/ui/recorder/recorderView.tsx b/packages/trace-viewer/src/ui/recorder/recorderView.tsx
index ed36efbbb6..6ff6b665d3 100644
--- a/packages/trace-viewer/src/ui/recorder/recorderView.tsx
+++ b/packages/trace-viewer/src/ui/recorder/recorderView.tsx
@@ -213,7 +213,6 @@ const PropertiesView: React.FunctionComponent<{
id: 'inspector',
title: 'Locator',
render: () => (items: T[], metric: (v: T) => number, target: number) {
- return items.find((item, index) => {
- if (index === items.length - 1)
- return true;
- const next = items[index + 1];
- return Math.abs(metric(item) - target) < Math.abs(metric(next) - target);
- });
-}
export const SnapshotTabsView: React.FunctionComponent<{
action: ActionTraceEvent | undefined,
@@ -52,7 +42,6 @@ export const SnapshotTabsView: React.FunctionComponent<{
openPage?: (url: string, target?: string) => Window | any,
}> = ({ action, sdkLanguage, testIdAttributeName, isInspecting, setIsInspecting, highlightedLocator, setHighlightedLocator, openPage }) => {
const [snapshotTab, setSnapshotTab] = React.useState<'action'|'before'|'after'>('action');
- const showScreenshotInsteadOfSnapshot = false;
const snapshots = React.useMemo(() => {
return collectSnapshots(action);
@@ -64,7 +53,7 @@ export const SnapshotTabsView: React.FunctionComponent<{
return
- setIsInspecting(!isInspecting)} disabled={showScreenshotInsteadOfSnapshot} />
+ setIsInspecting(!isInspecting)} />
{['action', 'before', 'after'].map(tab => {
return ;
})}
- {
+ {
if (!openPage)
openPage = window.open;
const win = openPage(snapshotUrls?.popoutUrl || '', '_blank');
@@ -85,7 +74,7 @@ export const SnapshotTabsView: React.FunctionComponent<{
});
}} />
- {!showScreenshotInsteadOfSnapshot &&
}
- {showScreenshotInsteadOfSnapshot &&
}
+ />
;
};
@@ -193,38 +178,6 @@ export const SnapshotView: React.FunctionComponent<{
;
};
-export const ScreenshotView: React.FunctionComponent<{
- action: ActionTraceEvent | undefined,
- snapshotUrls: SnapshotUrls | undefined,
- snapshot: Snapshot | undefined,
-}> = ({ action, snapshotUrls, snapshot }) => {
- const [snapshotInfo, setSnapshotInfo] = React.useState
({ viewport: kDefaultViewport, url: '' });
- React.useEffect(() => {
- fetchSnapshotInfo(snapshotUrls?.snapshotInfoUrl).then(setSnapshotInfo);
- }, [snapshotUrls?.snapshotInfoUrl]);
-
- const page = action ? pageForAction(action) : undefined;
- const screencastFrame = React.useMemo(() => {
- if (snapshotInfo.wallTime && page?.screencastFrames[0]?.frameSwapWallTime)
- return findClosest(page.screencastFrames, frame => frame.frameSwapWallTime!, snapshotInfo.wallTime);
-
- if (snapshotInfo.timestamp && page?.screencastFrames)
- return findClosest(page.screencastFrames, frame => frame.timestamp, snapshotInfo.timestamp);
- },
- [page?.screencastFrames, snapshotInfo.timestamp, snapshotInfo.wallTime]);
-
- const point = snapshot?.point;
-
- return
- {screencastFrame && (
- <>
- {point && }
-
- >
- )}
- ;
-};
-
const SnapshotWrapper: React.FunctionComponent> = ({ snapshotInfo, children }) => {
diff --git a/packages/trace-viewer/src/ui/workbench.tsx b/packages/trace-viewer/src/ui/workbench.tsx
index f5471ca81c..3f440c7e75 100644
--- a/packages/trace-viewer/src/ui/workbench.tsx
+++ b/packages/trace-viewer/src/ui/workbench.tsx
@@ -68,7 +68,6 @@ export const Workbench: React.FunctionComponent<{
const [highlightedLocator, setHighlightedLocator] = React.useState('');
const [selectedTime, setSelectedTime] = React.useState();
const [sidebarLocation, setSidebarLocation] = useSetting<'bottom' | 'right'>('propertiesSidebarLocation', 'bottom');
- const showScreenshot = false;
const setSelectedAction = React.useCallback((action: modelUtil.ActionTraceEventInContext | undefined) => {
setSelectedCallId(action?.callId);
@@ -164,7 +163,6 @@ export const Workbench: React.FunctionComponent<{
id: 'inspector',
title: 'Locator',
render: () => {
- const traceViewer = await runAndTrace(async () => {
- await page.goto(server.PREFIX + '/one-style.html');
- await page.waitForTimeout(1000); // ensure we could take a screenshot
- });
-
- const screenshot = traceViewer.page.getByAltText(`Screenshot of page.goto`);
- const snapshot = (await traceViewer.snapshotFrame('page.goto')).owner();
- await expect(snapshot).toBeVisible();
- await expect(screenshot).not.toBeVisible();
-
- await traceViewer.page.getByTitle('Settings').click();
- await traceViewer.page.getByText('Show screenshot instead of snapshot').setChecked(true);
-
- await expect(snapshot).not.toBeVisible();
- await expect(screenshot).toBeVisible();
-});
-
-test.skip('should handle case where neither snapshots nor screenshots exist', async ({ runAndTrace, page, server }) => {
- const traceViewer = await runAndTrace(async () => {
- await page.goto(server.PREFIX + '/one-style.html');
- }, { snapshots: false, screenshots: false });
-
- await traceViewer.page.getByTitle('Settings').click();
- await traceViewer.page.getByText('Show screenshot instead of snapshot').setChecked(true);
-
- const screenshot = traceViewer.page.getByAltText(`Screenshot of page.goto > Action`);
- await expect(screenshot).not.toBeVisible();
-});
-
test('should show only one pointer with multilevel iframes', async ({ page, runAndTrace, server, browserName }) => {
test.fixme(browserName === 'firefox', 'Elements in iframe are not marked');