mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-05 05:30:29 +00:00
Bug 1603182: Add a test for target-switching of performance panel. r=julienw
Depends on D68537 Differential Revision: https://phabricator.services.mozilla.com/D69488 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
deb44a7392
commit
818bca8761
@ -16,7 +16,7 @@ support-files =
|
||||
[browser_aaa-run-first-leaktest.js]
|
||||
[browser_perf-button-states.js]
|
||||
[browser_perf-calltree-js-categories.js]
|
||||
skip-if = (os == 'win' && os_version == '10.0' && bits == 64 && !asan) # Bug 1466377
|
||||
skip-if = (os == 'win' && os_version == '10.0' && bits == 64 && !asan) # Bug 1466377
|
||||
[browser_perf-calltree-js-columns.js]
|
||||
[browser_perf-calltree-js-events.js]
|
||||
[browser_perf-calltree-memory-columns.js]
|
||||
@ -42,6 +42,7 @@ skip-if = (os == 'win' && os_version == '10.0' && bits == 64 && !asan) # Bug 146
|
||||
[browser_perf-details-render-03-memory-calltree.js]
|
||||
[browser_perf-details-render-04-memory-flamegraph.js]
|
||||
[browser_perf-docload.js]
|
||||
[browser_perf-fission-switch-target.js]
|
||||
[browser_perf-highlighted.js]
|
||||
[browser_perf-loading-01.js]
|
||||
[browser_perf-loading-02.js]
|
||||
|
@ -0,0 +1,62 @@
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
"use strict";
|
||||
|
||||
/**
|
||||
* Test behavior while target-switching.
|
||||
*/
|
||||
|
||||
const {
|
||||
MAIN_PROCESS_URL,
|
||||
SIMPLE_URL: CONTENT_PROCESS_URL,
|
||||
} = require("devtools/client/performance/test/helpers/urls");
|
||||
const {
|
||||
BrowserTestUtils,
|
||||
} = require("resource://testing-common/BrowserTestUtils.jsm");
|
||||
const {
|
||||
addTab,
|
||||
} = require("devtools/client/performance/test/helpers/tab-utils");
|
||||
const {
|
||||
initPerformanceInTab,
|
||||
teardownToolboxAndRemoveTab,
|
||||
} = require("devtools/client/performance/test/helpers/panel-utils");
|
||||
const {
|
||||
startRecording,
|
||||
stopRecording,
|
||||
} = require("devtools/client/performance/test/helpers/actions");
|
||||
|
||||
add_task(async function() {
|
||||
await SpecialPowers.pushPrefEnv({
|
||||
set: [["devtools.target-switching.enabled", true]],
|
||||
});
|
||||
|
||||
info("Open a page running on content process");
|
||||
const tab = await addTab({
|
||||
url: CONTENT_PROCESS_URL,
|
||||
win: window,
|
||||
});
|
||||
|
||||
info("Open the performance panel");
|
||||
const { panel } = await initPerformanceInTab({ tab });
|
||||
const { PerformanceController, PerformanceView, EVENTS } = panel.panelWin;
|
||||
|
||||
info("Start recording");
|
||||
await startRecording(panel);
|
||||
await PerformanceView.once(EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED);
|
||||
|
||||
info("Navigate to a page running on main process");
|
||||
await BrowserTestUtils.loadURI(tab.linkedBrowser, MAIN_PROCESS_URL);
|
||||
await PerformanceView.once(EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED);
|
||||
|
||||
info("Return to a page running on content process again");
|
||||
await BrowserTestUtils.loadURI(tab.linkedBrowser, CONTENT_PROCESS_URL);
|
||||
await PerformanceView.once(EVENTS.UI_RECORDING_PROFILER_STATUS_RENDERED);
|
||||
|
||||
info("Stop recording");
|
||||
await stopRecording(panel);
|
||||
|
||||
const recordings = PerformanceController.getRecordings();
|
||||
is(recordings.length, 3, "Have a record for every target-switching");
|
||||
|
||||
await teardownToolboxAndRemoveTab(panel);
|
||||
});
|
@ -5,3 +5,5 @@
|
||||
exports.EXAMPLE_URL =
|
||||
"http://example.com/browser/devtools/client/performance/test";
|
||||
exports.SIMPLE_URL = `${exports.EXAMPLE_URL}/doc_simple-test.html`;
|
||||
// Used to test a page running on main process.
|
||||
exports.MAIN_PROCESS_URL = "about:robots";
|
||||
|
Loading…
x
Reference in New Issue
Block a user