integration/js/utils/WebdriverLocal.js (50 lines of code) (raw):

const {WebDriverFactory} = require('../node_modules/kite-common'); const {AppPage, TestAppPage} = require('../pages'); const {MeetingReadinessCheckerPage} = require('../pages/MeetingReadinessCheckerPage'); const { MessagingSessionPage } = require('../pages/MessagingSessionPage'); class LocalSession { static async createSession(capabilities, remoteUrl, appName) { const driver = await WebDriverFactory.getDriver(capabilities, remoteUrl); return new LocalSession(driver, appName); } constructor(driver, appName) { this.driver = driver; this.appName = appName; } async init() { this.name = ""; this.logger = (message) => { const prefix = this.name === "" ? "" : `[${this.name} App] `; console.log(`${prefix}${message}`) }; this.getAppPage(); } getAppPage() { if (this.page === undefined) { switch (this.appName) { case 'meetingReadinessChecker': this.page = new MeetingReadinessCheckerPage(this.driver, this.logger); break; case 'messagingSession': this.page = new MessagingSessionPage(this.driver, this.logger); break; case 'testApp': this.page = new TestAppPage(this.driver, this.logger); break; default: this.page = new AppPage(this.driver, this.logger); break; } } } async updateTestResults(passed) { //Not needed return; }; async printRunDetails() { //Not needed return; } async quit() { await this.driver.quit(); } } module.exports.LocalSession = LocalSession;