Skip to content

Commit fa13103

Browse files
Liviu RauDevtools-frontend LUCI CQ
authored andcommitted
Port performance/wasm tests
Together with second most flaky test. Bug: 407460244 Change-Id: Id5f9c4935814b0137e018488d34214e926314b4c Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6424741 Commit-Queue: Liviu Rau <liviurau@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org>
1 parent 21ef102 commit fa13103

File tree

9 files changed

+197
-249
lines changed

9 files changed

+197
-249
lines changed

test/e2e/helpers/performance-helpers.ts

Lines changed: 38 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,11 @@
44

55
import type * as puppeteer from 'puppeteer-core';
66

7-
import {getBrowserAndPages} from '../../conductor/puppeteer-state.js';
87
import type {DevToolsPage} from '../../e2e_non_hosted/shared/frontend-helper.js';
98
import type {InspectedPage} from '../../e2e_non_hosted/shared/target-helper.js';
109
import {
1110
$,
1211
click,
13-
drainFrontendTaskQueue,
14-
summonSearchBox,
1512
waitFor,
1613
waitForAria,
1714
waitForElementWithTextContent,
@@ -63,6 +60,7 @@ export async function navigateToPerformanceTab(
6360

6461
// Make sure the landing page is shown.
6562
await devToolsPage.waitFor('.timeline-landing-page');
63+
await devToolsPage.timeout(100);
6664
await expectVeEvents(
6765
[veClick('Toolbar: main > PanelTabHeader: timeline'), veImpressionForPerformancePanel()], undefined,
6866
devToolsPage);
@@ -89,39 +87,36 @@ export async function openCaptureSettings(
8987
'Panel: timeline', devToolsPage);
9088
}
9189

92-
export async function searchForComponent(frontend: puppeteer.Page, searchEntry: string) {
93-
await waitFor('devtools-performance-timeline-summary');
94-
await summonSearchBox();
95-
// TODO: it should actually wait for rendering to finish.
96-
await drainFrontendTaskQueue();
97-
await waitFor('.search-bar');
98-
// TODO: it should actually wait for rendering to finish.
99-
await drainFrontendTaskQueue();
100-
await frontend.keyboard.type(searchEntry);
101-
await drainFrontendTaskQueue();
102-
await frontend.keyboard.press('Tab');
103-
// TODO: it should actually wait for rendering to finish.
104-
await drainFrontendTaskQueue();
105-
await drainFrontendTaskQueue();
106-
await drainFrontendTaskQueue();
107-
await expectVeEvents([
108-
veKeyDown(''),
109-
veImpressionsUnder('Panel: timeline', [veImpression(
110-
'Toolbar', 'search',
111-
[
112-
veImpression('TextField', 'search'),
113-
veImpression('Action', 'regular-expression'),
114-
veImpression('Action', 'match-case'),
115-
veImpression('Action', 'select-previous'),
116-
veImpression('Action', 'select-next'),
117-
veImpression('Action', 'close-search'),
118-
])]),
119-
veChange('Panel: timeline > Toolbar: search > TextField: search'),
120-
]);
90+
export async function searchForComponent(
91+
searchEntry: string, devToolsPage: DevToolsPage = getBrowserAndPagesWrappers().devToolsPage) {
92+
await devToolsPage.waitFor('devtools-performance-timeline-summary');
93+
await devToolsPage.timeout(100);
94+
await devToolsPage.summonSearchBox();
95+
await devToolsPage.waitFor('.search-bar');
96+
await devToolsPage.page.keyboard.type(searchEntry);
97+
await devToolsPage.timeout(100);
98+
await devToolsPage.page.keyboard.press('Tab');
99+
await devToolsPage.timeout(100);
100+
await expectVeEvents(
101+
[
102+
veKeyDown(''),
103+
veImpressionsUnder('Panel: timeline', [veImpression(
104+
'Toolbar', 'search',
105+
[
106+
veImpression('TextField', 'search'),
107+
veImpression('Action', 'regular-expression'),
108+
veImpression('Action', 'match-case'),
109+
veImpression('Action', 'select-previous'),
110+
veImpression('Action', 'select-next'),
111+
veImpression('Action', 'close-search'),
112+
])]),
113+
veChange('Panel: timeline > Toolbar: search > TextField: search'),
114+
],
115+
undefined, devToolsPage);
121116
}
122117

123-
export async function navigateToBottomUpTab() {
124-
await click(BOTTOM_UP_SELECTOR);
118+
export async function navigateToBottomUpTab(devToolsPage: DevToolsPage = getBrowserAndPagesWrappers().devToolsPage) {
119+
await devToolsPage.click(BOTTOM_UP_SELECTOR);
125120
await expectVeEvents(
126121
[
127122
veClick('Section: timeline.flame-chart-view > Toolbar: sidebar > PanelTabHeader: bottom-up'),
@@ -154,11 +149,11 @@ export async function navigateToBottomUpTab() {
154149
]),
155150

156151
],
157-
'Panel: timeline');
152+
'Panel: timeline', devToolsPage);
158153
}
159154

160-
export async function navigateToCallTreeTab() {
161-
await click(CALL_TREE_SELECTOR);
155+
export async function navigateToCallTreeTab(devToolsPage: DevToolsPage = getBrowserAndPagesWrappers().devToolsPage) {
156+
await devToolsPage.click(CALL_TREE_SELECTOR);
162157
await expectVeEvents(
163158
[
164159
veClick('Section: timeline.flame-chart-view > Toolbar: sidebar > PanelTabHeader: call-tree'),
@@ -192,7 +187,7 @@ export async function navigateToCallTreeTab() {
192187
],
193188
),
194189
],
195-
'Panel: timeline');
190+
'Panel: timeline', devToolsPage);
196191
}
197192

198193
export async function setFilter(filter: string) {
@@ -270,8 +265,9 @@ export async function getTotalTimeFromSummary(): Promise<number> {
270265
return parseInt(totalText, 10);
271266
}
272267

273-
export async function getTotalTimeFromPie(): Promise<number> {
274-
const pieChartTotal = await waitFor('.pie-chart-total');
268+
export async function getTotalTimeFromPie(devToolsPage: DevToolsPage = getBrowserAndPagesWrappers().devToolsPage):
269+
Promise<number> {
270+
const pieChartTotal = await devToolsPage.waitFor('.pie-chart-total');
275271
const totalText = await pieChartTotal.evaluate(node => node.textContent as string);
276272
return parseInt(totalText, 10);
277273
}
@@ -300,6 +296,7 @@ export async function retrieveSelectedAndExpandedActivityItems(frontend: puppete
300296
export async function navigateToSelectorStatsTab(
301297
devToolsPage: DevToolsPage = getBrowserAndPagesWrappers().devToolsPage) {
302298
await devToolsPage.click(SELECTOR_STATS_SELECTOR);
299+
await devToolsPage.timeout(100);
303300
await expectVeEvents(
304301
[
305302
veClick('Toolbar: sidebar > PanelTabHeader: selector-stats'),
@@ -319,10 +316,8 @@ export async function navigateToSelectorStatsTab(
319316
}
320317

321318
export async function selectRecalculateStylesEvent() {
322-
const {frontend} = getBrowserAndPages();
323-
324319
await waitForFunction(async () => {
325-
await searchForComponent(frontend, RECALCULATE_STYLE_TITLE);
320+
await searchForComponent(RECALCULATE_STYLE_TITLE, getBrowserAndPagesWrappers().devToolsPage);
326321
const title = await $('.timeline-details-chip-title');
327322
if (!title) {
328323
return false;

test/e2e/performance/BUILD.gn

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ node_ts_library("performance") {
1212
"settings-throttle-persist_test.ts",
1313
"timeline-js-line-level-profile-no-url-end-to-end_test.ts",
1414
"timeline/treeView_test.ts",
15-
"wasm/performance_profiling_test.ts",
1615
]
1716

1817
deps = [

test/e2e/performance/wasm/performance_profiling_test.ts

Lines changed: 0 additions & 192 deletions
This file was deleted.

test/e2e_non_hosted/performance/BUILD.gn

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
import("../../../scripts/build/typescript/typescript.gni")
66

77
ts_e2e_library("performance") {
8-
sources = [ "selector-stats-tracing_test.ts" ]
8+
sources = [
9+
"selector-stats-tracing_test.ts",
10+
"wasm/performance_profiling_test.ts",
11+
]
912
deps = [
1013
"../../e2e/helpers",
1114
"../shared",

test/e2e_non_hosted/performance/selector-stats-tracing_test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe('The Performance panel', () => {
4848
// Sort table by style sheet
4949
const styleSheetColumnHeader = await devToolsPage.waitFor('th.style_sheet_id-column');
5050
await styleSheetColumnHeader.click();
51-
await devToolsPage.drainFrontendTaskQueue();
51+
await devToolsPage.timeout(100);
5252

5353
// Click on the first source link
5454
// await devToolsPage.scrollElementIntoView('devtools-linkifier');

0 commit comments

Comments
 (0)