UNPKG

2.16 kBJavaScriptView Raw
1"use strict";
2const url = require('url');
3const require_project_module_1 = require('../utilities/require-project-module');
4const Task = require('../ember-cli/lib/models/task');
5exports.E2eTask = Task.extend({
6 run: function (e2eTaskOptions) {
7 const projectRoot = this.project.root;
8 const protractorLauncher = require_project_module_1.requireProjectModule(projectRoot, 'protractor/built/launcher');
9 return new Promise(function () {
10 let promise = Promise.resolve();
11 let additionalProtractorConfig = {
12 elementExplorer: e2eTaskOptions.elementExplorer
13 };
14 // use serve url as override for protractors baseUrl
15 if (e2eTaskOptions.serve) {
16 additionalProtractorConfig.baseUrl = url.format({
17 protocol: e2eTaskOptions.ssl ? 'https' : 'http',
18 hostname: e2eTaskOptions.host,
19 port: e2eTaskOptions.port.toString()
20 });
21 }
22 if (e2eTaskOptions.specs.length !== 0) {
23 additionalProtractorConfig['specs'] = e2eTaskOptions.specs;
24 }
25 if (e2eTaskOptions.webdriverUpdate) {
26 // webdriver-manager can only be accessed via a deep import from within
27 // protractor/node_modules. A double deep import if you will.
28 const webdriverUpdate = require_project_module_1.requireProjectModule(projectRoot, 'protractor/node_modules/webdriver-manager/built/lib/cmds/update');
29 // run `webdriver-manager update --standalone false --gecko false --quiet`
30 promise = promise.then(() => webdriverUpdate.program.run({
31 standalone: false,
32 gecko: false,
33 quiet: true
34 }));
35 }
36 // Don't call resolve(), protractor will manage exiting the process itself
37 return promise.then(() => protractorLauncher.init(e2eTaskOptions.config, additionalProtractorConfig));
38 });
39 }
40});
41//# sourceMappingURL=/Users/hansl/Sources/angular-cli/packages/@angular/cli/tasks/e2e.js.map
\No newline at end of file