jest-environment-browserstack
Version:
an environment for using Browserstack with Jest
63 lines (62 loc) • 1.57 kB
TypeScript
/// <reference types="node" />
import NodeEnvironment from 'jest-environment-node';
import { Config } from '@jest/types';
import { Driver } from '@jest-environment-browserstack/plugins';
import { Script } from 'vm';
/**
* Browserstack environment
*/
export default class BrowserstackEnvironment<T extends Driver> extends NodeEnvironment {
/**
* local identifier for the Browserstack tunnel
*/
private readonly localIdentifier;
/**
* Browserstack key
*/
private readonly key;
/**
* Browserstack Selenium hub URL
*/
private readonly selHubUrl;
/**
* default browser capabilities
*/
private readonly btCapabilities;
/**
* Browserstack tunnel options
*/
private btTunnelOpts;
/**
* driver module name
*/
private pluginDriver;
/**
* plugin instance
*/
private plugin;
/**
* driver instances
*/
private readonly drivers;
constructor(config: Config.ProjectConfig);
/**
* override the original setup environment for the Browserstack one
*/
setup(): Promise<void>;
/**
* environment teardown - kill all driver instance and close the tunnel
*/
teardown(): Promise<void>;
runScript(script: Script): any;
/**
* Create the Browserstack tunnel
* @returns {Promise} resolve if the tunnel was correctly created
*/
private createBTTunnel;
/**
* Browserstack tunnel teardown
* @returns {Promise} resolve if everything went well
*/
private closeBTTunnel;
}