UNPKG

@angular/benchpress

Version:

Benchpress - a framework for e2e performance tests

52 lines 6.44 kB
/** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ var FirefoxDriverExtension_1; import { __decorate, __metadata } from "tslib"; import { Injectable } from '@angular/core'; import { WebDriverAdapter } from '../web_driver_adapter'; import { PerfLogFeatures, WebDriverExtension } from '../web_driver_extension'; let FirefoxDriverExtension = FirefoxDriverExtension_1 = class FirefoxDriverExtension extends WebDriverExtension { constructor(_driver) { super(); this._driver = _driver; this._profilerStarted = false; } gc() { return this._driver.executeScript('window.forceGC()'); } timeBegin(name) { if (!this._profilerStarted) { this._profilerStarted = true; this._driver.executeScript('window.startProfiler();'); } return this._driver.executeScript('window.markStart("' + name + '");'); } timeEnd(name, restartName = null) { let script = 'window.markEnd("' + name + '");'; if (restartName != null) { script += 'window.markStart("' + restartName + '");'; } return this._driver.executeScript(script); } readPerfLog() { return this._driver.executeAsyncScript('var cb = arguments[0]; window.getProfile(cb);'); } perfLogFeatures() { return new PerfLogFeatures({ render: true, gc: true }); } supports(capabilities) { return capabilities['browserName'].toLowerCase() === 'firefox'; } }; FirefoxDriverExtension.PROVIDERS = [{ provide: FirefoxDriverExtension_1, deps: [WebDriverAdapter] }]; FirefoxDriverExtension = FirefoxDriverExtension_1 = __decorate([ Injectable(), __metadata("design:paramtypes", [WebDriverAdapter]) ], FirefoxDriverExtension); export { FirefoxDriverExtension }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWZveF9kcml2ZXJfZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYmVuY2hwcmVzcy9zcmMvd2ViZHJpdmVyL2ZpcmVmb3hfZHJpdmVyX2V4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7OztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFlLGVBQWUsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRzFGLElBQWEsc0JBQXNCLDhCQUFuQyxNQUFhLHNCQUF1QixTQUFRLGtCQUFrQjtJQUs1RCxZQUFvQixPQUF5QjtRQUMzQyxLQUFLLEVBQUUsQ0FBQztRQURVLFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBRTNDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVRLEVBQUU7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVRLFNBQVMsQ0FBQyxJQUFZO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVRLE9BQU8sQ0FBQyxJQUFZLEVBQUUsY0FBMkIsSUFBSTtRQUM1RCxJQUFJLE1BQU0sR0FBRyxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQy9DLElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtZQUN2QixNQUFNLElBQUksb0JBQW9CLEdBQUcsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUN0RDtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVRLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLCtDQUErQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVRLGVBQWU7UUFDdEIsT0FBTyxJQUFJLGVBQWUsQ0FBQyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVRLFFBQVEsQ0FBQyxZQUFrQztRQUNsRCxPQUFPLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLENBQUM7SUFDakUsQ0FBQztDQUNGLENBQUE7QUF4Q1EsZ0NBQVMsR0FBRyxDQUFDLEVBQUMsT0FBTyxFQUFFLHdCQUFzQixFQUFFLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsQ0FBQyxDQUFDO0FBRHRFLHNCQUFzQjtJQURsQyxVQUFVLEVBQUU7cUNBTWtCLGdCQUFnQjtHQUxsQyxzQkFBc0IsQ0F5Q2xDO1NBekNZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1dlYkRyaXZlckFkYXB0ZXJ9IGZyb20gJy4uL3dlYl9kcml2ZXJfYWRhcHRlcic7XG5pbXBvcnQge1BlcmZMb2dFdmVudCwgUGVyZkxvZ0ZlYXR1cmVzLCBXZWJEcml2ZXJFeHRlbnNpb259IGZyb20gJy4uL3dlYl9kcml2ZXJfZXh0ZW5zaW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpcmVmb3hEcml2ZXJFeHRlbnNpb24gZXh0ZW5kcyBXZWJEcml2ZXJFeHRlbnNpb24ge1xuICBzdGF0aWMgUFJPVklERVJTID0gW3twcm92aWRlOiBGaXJlZm94RHJpdmVyRXh0ZW5zaW9uLCBkZXBzOiBbV2ViRHJpdmVyQWRhcHRlcl19XTtcblxuICBwcml2YXRlIF9wcm9maWxlclN0YXJ0ZWQ6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZHJpdmVyOiBXZWJEcml2ZXJBZGFwdGVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9wcm9maWxlclN0YXJ0ZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdjKCkge1xuICAgIHJldHVybiB0aGlzLl9kcml2ZXIuZXhlY3V0ZVNjcmlwdCgnd2luZG93LmZvcmNlR0MoKScpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdGltZUJlZ2luKG5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9wcm9maWxlclN0YXJ0ZWQpIHtcbiAgICAgIHRoaXMuX3Byb2ZpbGVyU3RhcnRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9kcml2ZXIuZXhlY3V0ZVNjcmlwdCgnd2luZG93LnN0YXJ0UHJvZmlsZXIoKTsnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RyaXZlci5leGVjdXRlU2NyaXB0KCd3aW5kb3cubWFya1N0YXJ0KFwiJyArIG5hbWUgKyAnXCIpOycpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdGltZUVuZChuYW1lOiBzdHJpbmcsIHJlc3RhcnROYW1lOiBzdHJpbmd8bnVsbCA9IG51bGwpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBzY3JpcHQgPSAnd2luZG93Lm1hcmtFbmQoXCInICsgbmFtZSArICdcIik7JztcbiAgICBpZiAocmVzdGFydE5hbWUgIT0gbnVsbCkge1xuICAgICAgc2NyaXB0ICs9ICd3aW5kb3cubWFya1N0YXJ0KFwiJyArIHJlc3RhcnROYW1lICsgJ1wiKTsnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZHJpdmVyLmV4ZWN1dGVTY3JpcHQoc2NyaXB0KTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlYWRQZXJmTG9nKCk6IFByb21pc2U8UGVyZkxvZ0V2ZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5fZHJpdmVyLmV4ZWN1dGVBc3luY1NjcmlwdCgndmFyIGNiID0gYXJndW1lbnRzWzBdOyB3aW5kb3cuZ2V0UHJvZmlsZShjYik7Jyk7XG4gIH1cblxuICBvdmVycmlkZSBwZXJmTG9nRmVhdHVyZXMoKTogUGVyZkxvZ0ZlYXR1cmVzIHtcbiAgICByZXR1cm4gbmV3IFBlcmZMb2dGZWF0dXJlcyh7cmVuZGVyOiB0cnVlLCBnYzogdHJ1ZX0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgc3VwcG9ydHMoY2FwYWJpbGl0aWVzOiB7W2tleTogc3RyaW5nXTogYW55fSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBjYXBhYmlsaXRpZXNbJ2Jyb3dzZXJOYW1lJ10udG9Mb3dlckNhc2UoKSA9PT0gJ2ZpcmVmb3gnO1xuICB9XG59XG4iXX0=