@angular/benchpress
Version:
Benchpress - a framework for e2e performance tests
52 lines • 6.44 kB
JavaScript
/**
* @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=