gecko-dev/testing/performance/perftest_applink.js
Tarek Ziadé 33f1eee4d5 Bug 1633437 - Support for test metadata r=acreskey
This patch adds support for tests metadata. A test script parser is added as
well as a new "doc" flavor that can be used to display the script info in the
command line. This parser will be the basis for building automated docs and
scripts verifications if we want to do this.

Differential Revision: https://phabricator.services.mozilla.com/D72800
2020-04-28 17:07:14 +00:00

45 lines
1.8 KiB
JavaScript

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
/* eslint-env node */
"use strict";
async function test(context, commands) {
// This violates all sorts of abstraction boundaries, but I don't see supported APIs for "just
// waiting" nor for allowing navigation scripts to produce measurements.
await commands.measure.start();
await commands.measure.browser.wait(commands.measure.pageCompleteCheck);
await commands.measure.stop();
const browserScripts = commands.measure.result[0].browserScripts;
const processLaunchToNavStart =
browserScripts.pageinfo.navigationStartTime -
browserScripts.browser.processStartTime;
browserScripts.pageinfo.processLaunchToNavStart = processLaunchToNavStart;
console.log("processLaunchToNavStart: " + processLaunchToNavStart);
return true;
}
module.exports = {
test,
owner: "Performance Team",
description: "Measures cold process applink time",
long_description: `
This test launches the appropriate android app, simulating an app link
workflow. The application is launched with the intent action
android.intent.action.VIEW loading a trivially simple website. The reported
metric is the time from process start to navigationStart, reported as processLaunchToNavStart
`,
usage: `
./mach perftest testing/performance/perftest_applink.js \
--android-install-apk ~/fenix.v2.fennec-nightly.2020.04.22-arm32.apk \
--hooks testing/performance/hooks_applink.py \
--android-app-name org.mozilla.fennec_aurora \
--perfherder-metrics processLaunchToNavStart
`,
supported_browser: ["Fenix nightly", "Geckoview_example", "Fennec"],
platform: ["Android"],
};