diff --git a/bigbluebutton-html5/tests/webdriverio/pageobjects/home.page.js b/bigbluebutton-html5/tests/webdriverio/pageobjects/home.page.js index 5de75aa8e4b6b302b06b051b9908df2f5f3914b1..f500bcd510894514f59a93036b4ad53151499af5 100644 --- a/bigbluebutton-html5/tests/webdriverio/pageobjects/home.page.js +++ b/bigbluebutton-html5/tests/webdriverio/pageobjects/home.page.js @@ -8,6 +8,52 @@ class HomePage extends Page { login(username, meeting) { super.open('demo/demoHTML5.jsp?username=' + username + '&meetingname=' + meeting.replace(/\s+/g, '+') + '&action=create'); } + + get audioModalHeaderSelector() { + return '[data-test=audioModalHeader]'; + } + get audioModalHeaderElement() { + return browser.element(this.audioModalSelector); + } + + get audioModalSelector() { + return '.ReactModal__Content--after-open._imports_ui_components_audio_audio_modal__styles__modal'; + } + + get modalBaseCloseButtonSelector() { + return '[data-test=modalBaseCloseButton]'; + } + get modalBaseCloseButtonElement() { + return $(this.modalBaseCloseButtonSelector); + } + + get settingsDropdownTriggerSelector() { + return '[data-test=settingsDropdownTrigger]'; + } + get settingsDropdownTriggerElement() { + return browser.element(this.settingsDropdownTriggerSelector); + } + + get settingsDropdownSelector() { + return '[data-test=settingsDropdownTrigger] + [data-test=dropdownContent][aria-expanded="true"]'; + } + get settingsDropdownElement() { + return browser.element(this.settingsDropdownSelector); + } + + get settingsDropdownLogoutButtonSelector() { + return '[data-test=settingsDropdownLogoutButton]'; + } + get settingsDropdownLogoutButtonElement() { + return browser.element(this.settingsDropdownLogoutButtonSelector); + } + + get logoutModalSelector() { + return '.ReactModal__Content--after-open._imports_ui_components_modal_fullscreen__styles__modal'; + } + get logoutModalElement() { + return browser.element(this.logoutModalSelector); + } } module.exports = new HomePage(); diff --git a/bigbluebutton-html5/tests/webdriverio/specs/visual-regression/modals.spec.js b/bigbluebutton-html5/tests/webdriverio/specs/visual-regression/modals.spec.js index a2de912c2d97d2b1740f4de0a34bf3be950db849..bf1409bdcb801724a85b2c3fe9a12e8242e74f9f 100644 --- a/bigbluebutton-html5/tests/webdriverio/specs/visual-regression/modals.spec.js +++ b/bigbluebutton-html5/tests/webdriverio/specs/visual-regression/modals.spec.js @@ -7,27 +7,27 @@ let utils = require('../../utils'); describe('Screenshots:', function() { it('Join Audio modal looks good', function() { HomePage.login('testuser', 'Demo Meeting'); - browser.element('[data-test=audioModalHeader]').waitForExist(7000); - utils.expectImageMatch(browser.checkElement('.ReactModal__Content--after-open._imports_ui_components_audio_audio_modal__styles__modal'), 'Join Audio modal isn\'t the same'); + HomePage.audioModalHeaderElement.waitForExist(7000); + utils.expectImageMatch(browser.checkElement(HomePage.audioModalSelector), 'Join Audio modal isn\'t the same'); }); it('Home page viewport looks good', function() { - $('[data-test=modalBaseCloseButton]').click(); + HomePage.modalBaseCloseButtonElement.click(); utils.expectImageMatch(browser.checkViewport(), 'Home page viewport isn\'t the same'); }); it('Settings dropdown looks good', function() { - browser.element('[data-test=settingsDropdownTrigger]').waitForExist(2000); - $('[data-test=settingsDropdownTrigger]').click(); - browser.element('[data-test=settingsDropdownTrigger] + [data-test=dropdownContent][aria-expanded="true"]').waitForExist(2000); - utils.expectImageMatch(browser.checkElement('[data-test=settingsDropdownTrigger] + [data-test=dropdownContent][aria-expanded="true"]'), 'Settings dropdown isn\'t the same'); + HomePage.settingsDropdownTriggerElement.waitForExist(2000); + HomePage.settingsDropdownTriggerElement.click(); + HomePage.settingsDropdownElement.waitForExist(2000); + utils.expectImageMatch(browser.checkElement(HomePage.settingsDropdownSelector), 'Settings dropdown isn\'t the same'); }); it('Logout popup looks good', function() { - browser.element('[data-test=settingsDropdownLogoutButton]').waitForExist(2000); - $('[data-test=settingsDropdownLogoutButton]').click(); - browser.element('.ReactModal__Content--after-open._imports_ui_components_modal_fullscreen__styles__modal').waitForExist(2000); - utils.expectImageMatch(browser.checkElement('.ReactModal__Content--after-open._imports_ui_components_modal_fullscreen__styles__modal')); + HomePage.settingsDropdownLogoutButtonElement.waitForExist(2000); + HomePage.settingsDropdownLogoutButtonElement.click(); + HomePage.logoutModalElement.waitForExist(2000); + utils.expectImageMatch(browser.checkElement(HomePage.logoutModalSelector)); }); });