]> git.proxmox.com Git - ceph.git/blob - ceph/src/pybind/mgr/dashboard/frontend/protractor.conf.js
import 15.2.0 Octopus source
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / protractor.conf.js
1 // Protractor configuration file, see link for more information
2 // https://github.com/angular/protractor/blob/master/lib/config.ts
3
4 const { SpecReporter } = require('jasmine-spec-reporter');
5 let failFast = require("protractor-fail-fast");
6
7 const config = {
8 SELENIUM_PROMISE_MANAGER: false,
9 allScriptsTimeout: 11000,
10 implicitWaitTimeout: 9000,
11 suites: {
12 block: './e2e/block/*.e2e-spec.ts',
13 cluster: './e2e/cluster/*.e2e-spec.ts',
14 filesystems: './e2e/filesystems/*.e2e-spec.ts',
15 nfs: './e2e/nfs/*.e2e-spec.ts',
16 pools: './e2e/pools/*.e2e-spec.ts',
17 rgw: './e2e/rgw/*.e2e-spec.ts',
18 ui: './e2e/ui/*.e2e-spec.ts'
19 },
20 capabilities: {
21 browserName: 'chrome',
22 chromeOptions: {
23 args: ['--no-sandbox', '--headless', '--window-size=1920x1080']
24 },
25 acceptInsecureCerts : true
26 },
27 directConnect: true,
28 baseUrl: process.env.BASE_URL || 'http://localhost:4200/',
29 framework: 'jasmine',
30 jasmineNodeOpts: {
31 showColors: true,
32 defaultTimeoutInterval: 300000,
33 print: function() {}
34 },
35 params: {
36 login: {
37 user: process.env.E2E_LOGIN_USER || 'admin',
38 password: process.env.E2E_LOGIN_PWD || 'admin'
39 }
40 },
41
42 plugins: [
43 {
44 package: 'protractor-screenshoter-plugin',
45 screenshotPath: '.protractor-report',
46 screenshotOnExpect: 'failure',
47 screenshotOnSpec: 'none',
48 withLogs: true,
49 writeReportFreq: 'asap',
50 imageToAscii: 'none',
51 clearFoldersBeforeTest: true
52 },
53 failFast.init()
54 ],
55 afterLaunch: function() {
56 failFast.clean();
57 }
58 };
59
60 config.onPrepare = async () => {
61 await browser.manage().timeouts().implicitlyWait(config.implicitWaitTimeout);
62
63 require('ts-node').register({
64 project: 'e2e/tsconfig.e2e.json'
65 });
66 jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true, displayDuration: true } }));
67
68 await browser.get('/#/login');
69
70 await browser.driver.findElement(by.name('username')).clear();
71 await browser.driver.findElement(by.name('username')).sendKeys(browser.params.login.user);
72 await browser.driver.findElement(by.name('password')).clear();
73 await browser.driver.findElement(by.name('password')).sendKeys(browser.params.login.password);
74
75 await browser.driver.findElement(by.css('input[type="submit"]')).click();
76 };
77
78 exports.config = config;