UNPKG

benchpress

Version:

Benchpress - a framework for e2e performance tests

39 lines 6.14 kB
import { bind } from 'angular2/src/core/di'; import { isPresent, StringWrapper } from 'angular2/src/facade/lang'; import { WebDriverExtension, PerfLogFeatures } from '../web_driver_extension'; import { WebDriverAdapter } from '../web_driver_adapter'; export class FirefoxDriverExtension extends WebDriverExtension { constructor(_driver) { super(); this._driver = _driver; this._profilerStarted = false; } static get BINDINGS() { return _PROVIDERS; } 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) { var script = 'window.markEnd("' + name + '");'; if (isPresent(restartName)) { 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 StringWrapper.equals(capabilities['browserName'].toLowerCase(), 'firefox'); } } var _PROVIDERS = [ bind(FirefoxDriverExtension) .toFactory((driver) => new FirefoxDriverExtension(driver), [WebDriverAdapter]) ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWZveF9kcml2ZXJfZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGlmZmluZ19wbHVnaW5fd3JhcHBlci1vdXRwdXRfcGF0aC14QkxJQnJWUi50bXAvYmVuY2hwcmVzcy9zcmMvd2ViZHJpdmVyL2ZpcmVmb3hfZHJpdmVyX2V4dGVuc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiT0FBTyxFQUFDLElBQUksRUFBb0IsTUFBTSxzQkFBc0I7T0FDckQsRUFBQyxTQUFTLEVBQUUsYUFBYSxFQUFDLE1BQU0sMEJBQTBCO09BQzFELEVBQUMsa0JBQWtCLEVBQUUsZUFBZSxFQUFDLE1BQU0seUJBQXlCO09BQ3BFLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1QkFBdUI7QUFFdEQsNENBQTRDLGtCQUFrQjtJQUs1RCxZQUFvQixPQUF5QjtRQUMzQyxPQUFPLENBQUM7UUFEVSxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQUUzQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFQRCxXQUFXLFFBQVEsS0FBaUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFTeEQsRUFBRSxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUvRCxTQUFTLENBQUMsSUFBWTtRQUNwQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBWSxFQUFFLFdBQVcsR0FBVyxJQUFJO1FBQzlDLElBQUksTUFBTSxHQUFHLGtCQUFrQixHQUFHLElBQUksR0FBRyxLQUFLLENBQUM7UUFDL0MsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixNQUFNLElBQUksb0JBQW9CLEdBQUcsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN2RCxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsZUFBZSxLQUFzQixNQUFNLENBQUMsSUFBSSxlQUFlLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUU1RixRQUFRLENBQUMsWUFBa0M7UUFDekMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxVQUFVLEdBQUc7SUFDZixJQUFJLENBQUMsc0JBQXNCLENBQUM7U0FDdkIsU0FBUyxDQUFDLENBQUMsTUFBTSxLQUFLLElBQUksc0JBQXNCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQ25GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2JpbmQsIHByb3ZpZGUsIFByb3ZpZGVyfSBmcm9tICdhbmd1bGFyMi9zcmMvY29yZS9kaSc7XG5pbXBvcnQge2lzUHJlc2VudCwgU3RyaW5nV3JhcHBlcn0gZnJvbSAnYW5ndWxhcjIvc3JjL2ZhY2FkZS9sYW5nJztcbmltcG9ydCB7V2ViRHJpdmVyRXh0ZW5zaW9uLCBQZXJmTG9nRmVhdHVyZXN9IGZyb20gJy4uL3dlYl9kcml2ZXJfZXh0ZW5zaW9uJztcbmltcG9ydCB7V2ViRHJpdmVyQWRhcHRlcn0gZnJvbSAnLi4vd2ViX2RyaXZlcl9hZGFwdGVyJztcblxuZXhwb3J0IGNsYXNzIEZpcmVmb3hEcml2ZXJFeHRlbnNpb24gZXh0ZW5kcyBXZWJEcml2ZXJFeHRlbnNpb24ge1xuICBzdGF0aWMgZ2V0IEJJTkRJTkdTKCk6IFByb3ZpZGVyW10geyByZXR1cm4gX1BST1ZJREVSUzsgfVxuXG4gIHByaXZhdGUgX3Byb2ZpbGVyU3RhcnRlZDogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kcml2ZXI6IFdlYkRyaXZlckFkYXB0ZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3Byb2ZpbGVyU3RhcnRlZCA9IGZhbHNlO1xuICB9XG5cbiAgZ2MoKSB7IHJldHVybiB0aGlzLl9kcml2ZXIuZXhlY3V0ZVNjcmlwdCgnd2luZG93LmZvcmNlR0MoKScpOyB9XG5cbiAgdGltZUJlZ2luKG5hbWU6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCF0aGlzLl9wcm9maWxlclN0YXJ0ZWQpIHtcbiAgICAgIHRoaXMuX3Byb2ZpbGVyU3RhcnRlZCA9IHRydWU7XG4gICAgICB0aGlzLl9kcml2ZXIuZXhlY3V0ZVNjcmlwdCgnd2luZG93LnN0YXJ0UHJvZmlsZXIoKTsnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RyaXZlci5leGVjdXRlU2NyaXB0KCd3aW5kb3cubWFya1N0YXJ0KFwiJyArIG5hbWUgKyAnXCIpOycpO1xuICB9XG5cbiAgdGltZUVuZChuYW1lOiBzdHJpbmcsIHJlc3RhcnROYW1lOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxhbnk+IHtcbiAgICB2YXIgc2NyaXB0ID0gJ3dpbmRvdy5tYXJrRW5kKFwiJyArIG5hbWUgKyAnXCIpOyc7XG4gICAgaWYgKGlzUHJlc2VudChyZXN0YXJ0TmFtZSkpIHtcbiAgICAgIHNjcmlwdCArPSAnd2luZG93Lm1hcmtTdGFydChcIicgKyByZXN0YXJ0TmFtZSArICdcIik7JztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2RyaXZlci5leGVjdXRlU2NyaXB0KHNjcmlwdCk7XG4gIH1cblxuICByZWFkUGVyZkxvZygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9kcml2ZXIuZXhlY3V0ZUFzeW5jU2NyaXB0KCd2YXIgY2IgPSBhcmd1bWVudHNbMF07IHdpbmRvdy5nZXRQcm9maWxlKGNiKTsnKTtcbiAgfVxuXG4gIHBlcmZMb2dGZWF0dXJlcygpOiBQZXJmTG9nRmVhdHVyZXMgeyByZXR1cm4gbmV3IFBlcmZMb2dGZWF0dXJlcyh7cmVuZGVyOiB0cnVlLCBnYzogdHJ1ZX0pOyB9XG5cbiAgc3VwcG9ydHMoY2FwYWJpbGl0aWVzOiB7W2tleTogc3RyaW5nXTogYW55fSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBTdHJpbmdXcmFwcGVyLmVxdWFscyhjYXBhYmlsaXRpZXNbJ2Jyb3dzZXJOYW1lJ10udG9Mb3dlckNhc2UoKSwgJ2ZpcmVmb3gnKTtcbiAgfVxufVxuXG52YXIgX1BST1ZJREVSUyA9IFtcbiAgYmluZChGaXJlZm94RHJpdmVyRXh0ZW5zaW9uKVxuICAgICAgLnRvRmFjdG9yeSgoZHJpdmVyKSA9PiBuZXcgRmlyZWZveERyaXZlckV4dGVuc2lvbihkcml2ZXIpLCBbV2ViRHJpdmVyQWRhcHRlcl0pXG5dO1xuIl19