summaryrefslogtreecommitdiffstats
path: root/src/pybind/mgr/dashboard/frontend/protractor.conf.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pybind/mgr/dashboard/frontend/protractor.conf.js')
-rw-r--r--src/pybind/mgr/dashboard/frontend/protractor.conf.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/protractor.conf.js b/src/pybind/mgr/dashboard/frontend/protractor.conf.js
new file mode 100644
index 00000000..f9038245
--- /dev/null
+++ b/src/pybind/mgr/dashboard/frontend/protractor.conf.js
@@ -0,0 +1,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);
+ });
+ });
+ }
+};