wdio-ui5-service
Version:
WebdriverIO plugin for testing UI5 browser-based apps
53 lines • 1.77 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class Authenticator {
usernameSelector;
passwordSelector;
submitSelector;
browserInstanceName;
browserInstance;
constructor(browserInstanceName) {
this.browserInstanceName = browserInstanceName;
if (browserInstanceName) {
this.browserInstance = browser[browserInstanceName];
}
else {
this.browserInstance = browser;
}
}
getUsername() {
let envName = "wdi5_username";
if (browser.isMultiremote) {
envName = `wdi5_${this.browserInstanceName}_username`;
}
const sUserName = process.env[envName];
if (!sUserName) {
throw new Error(`Environment variable ${envName} for username is not set!`);
}
return sUserName;
}
getPassword() {
let envName = "wdi5_password";
if (browser.isMultiremote) {
envName = `wdi5_${this.browserInstanceName}_password`;
}
const sPassword = process.env[envName];
if (!sPassword) {
throw new Error(`Environment variable ${envName} for password is not set!`);
}
return sPassword;
}
async getIsLoggedIn() {
const cookies = await this.browserInstance.getCookies();
const index = cookies.findIndex((item) => {
return item.name === "isLoggedIn";
});
const value = index !== -1 ? cookies[index].value : "false";
return value === "true";
}
async setIsLoggedIn(status) {
await this.browserInstance.setCookies({ name: "isLoggedIn", value: status.toString() });
}
}
exports.default = Authenticator;
//# sourceMappingURL=Authenticator.js.map