1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome',
chromeOptions: {
args: ['--no-sandbox', '--headless', '--window-size=1920x1080']
},
acceptInsecureCerts : true
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
params: {
login: {
user: 'admin',
password: 'admin'
}
},
onPrepare() {
browser.manage().timeouts().implicitlyWait(360000);
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
browser.get('/#/login');
browser.driver.findElement(by.name('username')).clear();
browser.driver.findElement(by.name('username')).sendKeys(browser.params.login.user);
browser.driver.findElement(by.name('password')).clear();
browser.driver.findElement(by.name('password')).sendKeys(browser.params.login.password);
browser.driver.findElement(by.css('input[type="submit"]')).click();
// Login takes some time, so wait until it's done.
// For the test app's login, we know it's done when it redirects to
// dashboard.
return browser.driver.wait(function() {
return browser.driver.getCurrentUrl().then(function(url) {
return /dashboard/.test(url);
});
});
}
};
|