53c4c8de8f
Previously, when the benchmark tests ran outside of Bazel, developers had the posibility to control how the tests run through command line options. e.g. `--dryrun`. This no longer works reliable in Bazel where command line arguments are not passed to the text executable. To make the global options still usable (as they could be still useful in some cases), we just pass them through the Bazel `--test_env`. This reduces the code we need to read the command line, but still preserves the flexibility in a Bazel idiomatic way. PR Close #34753
51 lines
1.5 KiB
TypeScript
51 lines
1.5 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright Google Inc. 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
|
|
*/
|
|
|
|
/* tslint:disable:no-console */
|
|
import {browser} from 'protractor';
|
|
import * as webdriver from 'selenium-webdriver';
|
|
|
|
declare var expect: any;
|
|
|
|
export function openBrowser(config: {
|
|
url: string,
|
|
params?: {name: string, value: any}[],
|
|
ignoreBrowserSynchronization?: boolean
|
|
}) {
|
|
if (config.ignoreBrowserSynchronization) {
|
|
browser.ignoreSynchronization = true;
|
|
}
|
|
const urlParams: string[] = [];
|
|
if (config.params) {
|
|
config.params.forEach((param) => urlParams.push(param.name + '=' + param.value));
|
|
}
|
|
const url = encodeURI(config.url + '?' + urlParams.join('&'));
|
|
browser.get(url);
|
|
if (config.ignoreBrowserSynchronization) {
|
|
browser.sleep(2000);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @experimental This API will be moved to Protractor.
|
|
*/
|
|
export function verifyNoBrowserErrors() {
|
|
// TODO(tbosch): Bug in ChromeDriver: Need to execute at least one command
|
|
// so that the browser logs can be read out!
|
|
browser.executeScript('1+1');
|
|
browser.manage().logs().get('browser').then(function(browserLog: any) {
|
|
const filteredLog = browserLog.filter(function(logEntry: any) {
|
|
if (logEntry.level.value >= webdriver.logging.Level.INFO.value) {
|
|
console.log('>> ' + logEntry.message);
|
|
}
|
|
return logEntry.level.value > webdriver.logging.Level.WARNING.value;
|
|
});
|
|
expect(filteredLog).toEqual([]);
|
|
});
|
|
}
|