wdio-ui5-service
Version:
WebdriverIO plugin for testing UI5 browser-based apps
40 lines • 2.02 kB
JavaScript
;
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