angular/tools/saucelabs-daemon/browser.ts
Greg Magolan 5a9059be38 build: share Saucelabs browsers between karma test targets using background Saucelabs daemon and custom karma launcher (#49200)
This upgrades the Saucelabs Bazel step on CI to use the more efficient Saucelabs daemon

PR Close #49200
2023-05-15 09:21:46 -07:00

25 lines
713 B
TypeScript

/**
* @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
*/
/** Definition of a test browser. */
export interface Browser {
browserName: string;
browserVersion?: string;
platformName?: string;
platformVersion?: string;
deviceName?: string;
}
/**
* Gets a unique id for the specified browser. This id can be shared
* across the background service and launcher using IPC.
*/
export function getUniqueId(browser: Browser): string {
let result = Object.keys(browser).sort().map(key => `${key}=${browser[key as keyof Browser]}`);
return result.join(':');
}