UNPKG

3.35 kBTypeScriptView Raw
1/// <reference types="node" />
2/// <reference types="q" />
3import { EventEmitter } from 'events';
4import * as q from 'q';
5import { promise as wdpromise } from 'selenium-webdriver';
6import { ProtractorBrowser } from './browser';
7import { Config } from './config';
8import { DriverProvider } from './driverProviders';
9import { Plugins } from './plugins';
10export declare class Runner extends EventEmitter {
11 config_: Config;
12 preparer_: any;
13 driverprovider_: DriverProvider;
14 o: any;
15 plugins_: Plugins;
16 restartPromise: q.Promise<any>;
17 frameworkUsesAfterEach: boolean;
18 ready_?: wdpromise.Promise<void>;
19 constructor(config: Config);
20 /**
21 * Registrar for testPreparers - executed right before tests run.
22 * @public
23 * @param {string/Fn} filenameOrFn
24 */
25 setTestPreparer(filenameOrFn: string | Function): void;
26 /**
27 * Executor of testPreparer
28 * @public
29 * @param {string[]=} An optional list of command line arguments the framework will accept.
30 * @return {q.Promise} A promise that will resolve when the test preparers
31 * are finished.
32 */
33 runTestPreparer(extraFlags?: string[]): q.Promise<any>;
34 /**
35 * Called after each test finishes.
36 *
37 * Responsible for `restartBrowserBetweenTests`
38 *
39 * @public
40 * @return {q.Promise} A promise that will resolve when the work here is done
41 */
42 afterEach(): q.Promise<void>;
43 /**
44 * Grab driver provider based on type
45 * @private
46 *
47 * Priority
48 * 1) if directConnect is true, use that
49 * 2) if seleniumAddress is given, use that
50 * 3) if a Sauce Labs account is given, use that
51 * 4) if a seleniumServerJar is specified, use that
52 * 5) try to find the seleniumServerJar in protractor/selenium
53 */
54 loadDriverProvider_(config: Config): void;
55 /**
56 * Responsible for cleaning up test run and exiting the process.
57 * @private
58 * @param {int} Standard unix exit code
59 */
60 exit_: (exitCode: number) => any;
61 /**
62 * Getter for the Runner config object
63 * @public
64 * @return {Object} config
65 */
66 getConfig(): Config;
67 /**
68 * Get the control flow used by this runner.
69 * @return {Object} WebDriver control flow.
70 */
71 controlFlow(): any;
72 /**
73 * Sets up convenience globals for test specs
74 * @private
75 */
76 setupGlobals_(browser_: ProtractorBrowser): void;
77 /**
78 * Create a new driver from a driverProvider. Then set up a
79 * new protractor instance using this driver.
80 * This is used to set up the initial protractor instances and any
81 * future ones.
82 *
83 * @param {Plugin} plugins The plugin functions
84 * @param {ProtractorBrowser=} parentBrowser The browser which spawned this one
85 *
86 * @return {Protractor} a protractor instance.
87 * @public
88 */
89 createBrowser(plugins: any, parentBrowser?: ProtractorBrowser): any;
90 /**
91 * Final cleanup on exiting the runner.
92 *
93 * @return {q.Promise} A promise which resolves on finish.
94 * @private
95 */
96 shutdown_(): q.Promise<void>;
97 /**
98 * The primary workhorse interface. Kicks off the test running process.
99 *
100 * @return {q.Promise} A promise which resolves to the exit code of the tests.
101 * @public
102 */
103 run(): q.Promise<any>;
104}