UNPKG

wdio-ui5-service

Version:

WebdriverIO plugin for testing UI5 browser-based apps

40 lines 2.02 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const Authenticator_js_1 = __importDefault(require("./Authenticator.js")); class Office365Authenticator extends Authenticator_js_1.default { staySignedIn; constructor(options, browserInstanceName) { super(browserInstanceName); this.usernameSelector = options.usernameSelector ?? "[name=loginfmt]"; this.passwordSelector = options.passwordSelector ?? "[name=passwd]"; this.submitSelector = options.submitSelector ?? "[data-report-event=Signin_Submit]"; this.staySignedIn = options.staySignedIn ?? true; } async login() { if (!(await this.getIsLoggedIn())) { const usernameControl = await $(this.usernameSelector || ""); await usernameControl.setValue(this.getUsername()); await $(this.submitSelector || "").click(); await browser.waitUntil(async () => await (await $(this.passwordSelector || "")).isClickable(), { timeout: 5000, timeoutMsg: "Password field is not visible" }); const passwordControl = await $(this.passwordSelector || ""); await passwordControl.setValue(this.getPassword()); await $(this.submitSelector || "").click(); if (this.staySignedIn) { await browser.waitUntil(async () => await (await $("#KmsiDescription")).isClickable(), { timeout: 5000, timeoutMsg: "StaySignedIn step is not visible. If this step doesn't exist, set in wdi5 configuration 'staySignedIn' option to false." }); await $(this.submitSelector || "").click(); } this.setIsLoggedIn(true); } } } exports.default = Office365Authenticator; //# sourceMappingURL=Office365Authenticator.js.map