LocalFile.CommerceProductDisplayPages#set-up
  • Running IsTestName with locator1 with value1
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running isTestName with parameters
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1644340008551,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1644367558375,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1644367771236,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1644367851623,"mvccVersion":"80","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"725d5061-d815-3b4b-b014-8c7949ab59f8"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1644340008551,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1644367558375,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1644367771236,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1644367851904,"mvccVersion":"81","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"725d5061-d815-3b4b-b014-8c7949ab59f8"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
  • Running Pause with locator13000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters3000
    • Running assertLiferayErrors
    • Running pause with parameters3000
  • Running IsElementPresent#pauseIsElementPresent with locator1//input[contains(@id,'reminderQueryAnswer')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'reminderQueryAnswer')]
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//input[contains(@id,'reminderQueryAnswer')]
  • Running IsElementNotPresent with locator1//span[@class='user-avatar-link']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[@class='user-avatar-link']
    • Running isNotVisible with parameters//span[@class='user-avatar-link']
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • LocalFile.CommerceProductDisplayPages#OverrideDefaultProductDisplayPageForDifferentProducts
  • This is a test for COMMERCE-7842. Verify user can override the default product display page for different products.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running waitForVisible with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running mouseDown with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running mouseUp with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Minium')]
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForJavaScriptNoError with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running verifyJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running waitForVisible with parameters//div[contains(@class,'modal-body')]/iframe
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running Type with locator1//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')] with value1Minium
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Minium
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Minium
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]Minium
    • Running waitForEditable with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running mouseOver with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running clickAt with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running pause with parameters1000
    • Running type with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]Minium
    • Running pause with parameters1000
    • Running clickAt with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Name')]]//input[@type='text'] | //div[contains(@class,'form-group')]//input[contains(@id,'name')]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Add'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running mouseOver with parameters//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running click with parameters//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'list-group')]//*[@class='list-group-card-item-text' and normalize-space(./text())='Site Configuration']
    • Running assertLiferayErrors
  • Running Select with locator1//select[contains(@name,'type')] with value1Private
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Private
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Private
    • Running assertJavaScriptErrors with parameters//select[contains(@name,'type')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//select[contains(@name,'type')]Private
    • Running mouseOver with parameters//select[contains(@name,'type')]
    • Running select with parameters//select[contains(@name,'type')]Private
    • Running assertJavaScriptErrors with parameters//select[contains(@name,'type')]
    • Running assertLiferayErrors
  • Running ScrollWebElementIntoView with locator1//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running scrollWebElementIntoView with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running AssertTextEquals with locator1//input[contains(@id,'SiteSettingsPortlet_name')] with value1Minium
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Minium
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Minium
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'SiteSettingsPortlet_name')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Minium
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Minium
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'SiteSettingsPortlet_name')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'SiteSettingsPortlet_name')]Minium
    • Running waitForValue with parameters//input[contains(@id,'SiteSettingsPortlet_name')]Minium
    • Running assertValue with parameters//input[contains(@id,'SiteSettingsPortlet_name')]Minium
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'SiteSettingsPortlet_name')]
    • Running assertLiferayErrors
  • ## * GroupId: 56290
  • Running Open with locator1http://localhost:8080/web/minium/test-public-content-page?p_l_mode=edit
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/minium/test-public-content-page?p_l_mode=edit
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/minium/test-public-content-page?p_l_mode=edit
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/minium/test-public-content-page?p_l_mode=edit
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/minium/test-public-content-page?p_l_mode=edit
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running IsElementNotPresent with locator1//*[@data-qa-id='productMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[@data-qa-id='productMenu']
    • Running isNotVisible with parameters//*[@data-qa-id='productMenu']
  • Running WaitForVisible with locator1//div[contains(@class,'sidebar-content')][contains(@class,'open')] | //div[contains(@class,'sidebar__content')][contains(@class,'open')]
    • Running waitForVisible with parameters//div[contains(@class,'sidebar-content')][contains(@class,'open')] | //div[contains(@class,'sidebar__content')][contains(@class,'open')]
  • Running IsElementNotPresent with locator1//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running isNotVisible with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
  • Running IsElementNotPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running isElementNotPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))] with value1Widgets
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Widgets
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Widgets
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Type#sendKeysApplicationSearch with locator1//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')] with value1Product Details
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//script[contains(@src,'/autocomplete-filters/autocomplete-filters')]Product Details
    • Running waitForEditable with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]Product Details
    • Running waitForEditable with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running sendKeys with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1xpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1] with value1Product Details with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]Product Details
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor__root page-editor__topper')]Product Details
    • Running executeJavaScript with parameters Simulate = { dragAndDrop: function (source, target) { const dispatchEvent = function (type, element) { const rect = element.getBoundingClientRect(); const event = document.createEvent('customEvent'); event.initEvent(type, true, true); event.relatedTarget = element; (event.clientX = rect.left + rect.width / 2), (event.clientY = rect.top + rect.height / 2), element.dispatchEvent(event); return Promise.resolve(); }; dispatchEvent('dragstart', source) .then(function () { dispatchEvent('dragover', target); }) .then(function () { dispatchEvent('drop', target); }) .then(function () { dispatchEvent('dragend', source); }); } }; Simulate.dragAndDrop(arguments[0], arguments[1]); xpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]
    • Running assertLiferayErrors
  • Running WaitForVisible with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'text-success')]
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'text-success')]
  • Running AssertElementPresent with locator1xpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertElementPresent with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running click with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • ## * GroupId: 56290
  • ## * GroupId: 56290
  • Running post with parametersArg: ${curl}Return: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20099","createDate":1644367898751,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/test-public-widget-page","groupId":"56290","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"4","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1644367900055,"mvccVersion":"1","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Test Public Widget Page<\/Name><\/root>","nameCurrentValue":"Test Public Widget Page","parentLayoutId":"0","parentPlid":"0","plid":"113","priority":2,"privateLayout":false,"publishDate":1644367898751,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","status":0,"statusByUserId":"20127","statusByUserName":"Test Test","statusDate":1644367898751,"styleBookEntryId":"0","system":false,"themeId":"","title":"","titleCurrentValue":"","type":"portlet","typeSettings":"column-1=com_liferay_commerce_product_content_web_internal_portlet_CPContentPortlet_INSTANCE_MjsvIh6iluBN%0Alayout-template-id=2_columns_ii%0A","userId":"20127","userName":"Test Test","uuid":"54fdb322-cff4-ad9c-c476-d7f46cb15569"}Finished executing commands.
  • ## * GroupId: 56290
  • Running Open with locator1http://localhost:8080/group/minium/test-private-content-page?p_l_mode=edit
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/minium/test-private-content-page?p_l_mode=edit
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/minium/test-private-content-page?p_l_mode=edit
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/minium/test-private-content-page?p_l_mode=edit
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/minium/test-private-content-page?p_l_mode=edit
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running IsElementNotPresent with locator1//*[@data-qa-id='productMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[@data-qa-id='productMenu']
    • Running isNotVisible with parameters//*[@data-qa-id='productMenu']
  • Running WaitForVisible with locator1//div[contains(@class,'sidebar-content')][contains(@class,'open')] | //div[contains(@class,'sidebar__content')][contains(@class,'open')]
    • Running waitForVisible with parameters//div[contains(@class,'sidebar-content')][contains(@class,'open')] | //div[contains(@class,'sidebar__content')][contains(@class,'open')]
  • Running IsElementNotPresent with locator1//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running isNotVisible with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
  • Running IsElementNotPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running isElementNotPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))] with value1Widgets
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Widgets
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Widgets
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]Widgets
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Widgets'][not(contains(@id,'ProductMenu') or contains(@href,'site_administration'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Type#sendKeysApplicationSearch with locator1//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')] with value1Product Details
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//script[contains(@src,'/autocomplete-filters/autocomplete-filters')]Product Details
    • Running waitForEditable with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]Product Details
    • Running waitForEditable with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running sendKeys with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]Product Details
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar')]//div[@role='search']//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1xpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1] with value1Product Details with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Details
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Details
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]Product Details
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor__root page-editor__topper')]Product Details
    • Running executeJavaScript with parameters Simulate = { dragAndDrop: function (source, target) { const dispatchEvent = function (type, element) { const rect = element.getBoundingClientRect(); const event = document.createEvent('customEvent'); event.initEvent(type, true, true); event.relatedTarget = element; (event.clientX = rect.left + rect.width / 2), (event.clientY = rect.top + rect.height / 2), element.dispatchEvent(event); return Promise.resolve(); }; dispatchEvent('dragstart', source) .then(function () { dispatchEvent('dragover', target); }) .then(function () { dispatchEvent('drop', target); }) .then(function () { dispatchEvent('dragend', source); }); } }; Simulate.dragAndDrop(arguments[0], arguments[1]); xpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'page-editor__fragments-widgets__tab-list-item')][normalize-space()='Product Details'])[1]
    • Running assertLiferayErrors
  • Running WaitForVisible with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'text-success')]
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'text-success')]
  • Running AssertElementPresent with locator1xpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertElementPresent with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertJavaScriptErrors with parametersxpath=(//li[contains(@class,'topper__title') and contains(.,'Product Details')])[1]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running click with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__fragments-widgets-panel')]//button[.//*[name()='svg'][contains(@class,'icon-times')]]
    • Running assertLiferayErrors
  • Running ScrollWebElementIntoView with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running scrollWebElementIntoView with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Publish'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet
    • Running assertLiferayErrors
  • Running AssertClickNoError with locator1//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal'] with value1Minium Portal
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Minium Portal
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Minium Portal
    • Running assertJavaScriptErrors with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Minium Portal
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Minium Portal
    • Running assertJavaScriptErrors with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']Minium Portal
    • Running waitForTextCaseInsensitive with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']Minium Portal
    • Running assertTextCaseInsensitive with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']Minium Portal
    • Running mouseOver with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']
    • Running click with parameters//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a[text()='Minium Portal']
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running AssertClick with locator1xpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))] with value1Product Display Pages
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Display Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Display Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Display Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Display Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Product Display Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Product Display Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]Product Display Pages
    • Running waitForTextCaseInsensitive with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]Product Display Pages
    • Running assertTextCaseInsensitive with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]Product Display Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertLiferayErrors
    • Running mouseOver with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running clickAt with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Product Display Pages'))]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal-body')]/iframe
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Test Public Content Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Content Page
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Content Page
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Content Page
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running waitForVisible with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running mouseDown with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running mouseUp with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Content Page')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'Done')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Done')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Done')]
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running AssertElementPresent with locator1//div[contains(@class,'alert') and contains(@class,'alert-success')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and contains(@class,'alert-success')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert') and contains(@class,'alert-success')]
    • Running assertElementPresent with parameters//div[contains(@class,'alert') and contains(@class,'alert-success')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and contains(@class,'alert-success')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//span[contains (@id,'displayPageNameInput')] with value1Public Pages > Test Public Content Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Public Pages > Test Public Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Public Pages > Test Public Content Page
    • Running assertJavaScriptErrors with parameters//span[contains (@id,'displayPageNameInput')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Public Pages > Test Public Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Public Pages > Test Public Content Page
    • Running assertJavaScriptErrors with parameters//span[contains (@id,'displayPageNameInput')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains (@id,'displayPageNameInput')]Public Pages > Test Public Content Page
    • Running waitForTextCaseInsensitive with parameters//span[contains (@id,'displayPageNameInput')]Public Pages > Test Public Content Page
    • Running assertTextCaseInsensitive with parameters//span[contains (@id,'displayPageNameInput')]Public Pages > Test Public Content Page
    • Running assertJavaScriptErrors with parameters//span[contains (@id,'displayPageNameInput')]
    • Running assertLiferayErrors
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//iframe[contains(@title,'Select Product')]
    • Running waitForJavaScriptNoError with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running verifyJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running waitForVisible with parameters//iframe[contains(@title,'Select Product')]
    • Running mouseOver with parameters//iframe[contains(@title,'Select Product')]
    • Running selectFrame with parameters//iframe[contains(@title,'Select Product')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Torque Converters
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Torque Converters
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Torque Converters
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running mouseOver with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running click with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running AssertElementPresent with locator1//div[@role='alert' and contains(.,'Please select a valid layout.')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@role='alert' and contains(.,'Please select a valid layout.')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[@role='alert' and contains(.,'Please select a valid layout.')]
    • Running assertElementPresent with parameters//div[@role='alert' and contains(.,'Please select a valid layout.')]
    • Running assertJavaScriptErrors with parameters//div[@role='alert' and contains(.,'Please select a valid layout.')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'modal-body')]/iframe
    • Running isElementNotPresent with parameters//div[contains(@class,'modal-body')]/iframe
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal-body')]/iframe
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Test Public Widget Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Widget Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Widget Page
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Widget Page
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Widget Page
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running waitForVisible with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running mouseDown with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running mouseUp with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'Done')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Done')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Done')]
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running AssertElementPresent with locator1//div[@role='alert' and contains(.,'Please select a valid product.')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@role='alert' and contains(.,'Please select a valid product.')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[@role='alert' and contains(.,'Please select a valid product.')]
    • Running assertElementPresent with parameters//div[@role='alert' and contains(.,'Please select a valid product.')]
    • Running assertJavaScriptErrors with parameters//div[@role='alert' and contains(.,'Please select a valid product.')]
    • Running assertLiferayErrors
  • Running Refresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running refresh
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//iframe[contains(@title,'Select Product')]
    • Running waitForJavaScriptNoError with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running verifyJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running waitForVisible with parameters//iframe[contains(@title,'Select Product')]
    • Running mouseOver with parameters//iframe[contains(@title,'Select Product')]
    • Running selectFrame with parameters//iframe[contains(@title,'Select Product')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Torque Converters
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Torque Converters
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Torque Converters
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running mouseOver with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running click with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Torque Converters')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'modal-body')]/iframe
    • Running isElementNotPresent with parameters//div[contains(@class,'modal-body')]/iframe
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal-body')]/iframe
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Test Public Widget Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Widget Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Widget Page
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Widget Page
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Public Widget Page
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running waitForVisible with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running mouseDown with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running mouseUp with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Public Widget Page')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'Done')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Done')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Done')]
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running mouseOver with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running click with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Refresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running refresh
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Torque Converters')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Torque Converters')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Torque Converters')]
    • Running assertElementPresent with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Torque Converters')]
    • Running assertJavaScriptErrors with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Torque Converters')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@class,'table')]//div[contains(text(),'Test Public Widget Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Public Widget Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Public Widget Page')]
    • Running assertElementPresent with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Public Widget Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Public Widget Page')]
    • Running assertLiferayErrors
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Select Product'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//iframe[contains(@title,'Select Product')]
    • Running waitForJavaScriptNoError with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running verifyJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running waitForVisible with parameters//iframe[contains(@title,'Select Product')]
    • Running mouseOver with parameters//iframe[contains(@title,'Select Product')]
    • Running selectFrame with parameters//iframe[contains(@title,'Select Product')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//iframe[contains(@title,'Select Product')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Transmission Cooler Line Assembly
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Transmission Cooler Line Assembly
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Transmission Cooler Line Assembly
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Transmission Cooler Line Assembly
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Transmission Cooler Line Assembly
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running mouseOver with parameters//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running click with parameters//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running assertJavaScriptErrors with parameters//tr/td[contains(.,'Transmission Cooler Line Assembly')]//..//button[contains(.,'Choose')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Choose'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'modal-body')]/iframe
    • Running isElementNotPresent with parameters//div[contains(@class,'modal-body')]/iframe
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal-body')]/iframe
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running AssertClick with locator1xpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))] with value1Private Pages
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Private Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Private Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Private Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Private Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Private Pages
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Private Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]Private Pages
    • Running waitForTextCaseInsensitive with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]Private Pages
    • Running assertTextCaseInsensitive with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]Private Pages
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertLiferayErrors
    • Running mouseOver with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running clickAt with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertJavaScriptErrors with parametersxpath=(//li)[contains(@class,'nav-item')]//a[contains(@class,'nav-link') and (contains(.,'Private Pages'))]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Test Private Content Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Private Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Private Content Page
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Private Content Page
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Test Private Content Page
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running waitForVisible with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running mouseDown with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running mouseUp with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'card-body')][contains(.,'Test Private Content Page')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'Done')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Done')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Done')]
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Done'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel') and contains(@class,'is-visible')]//iframe
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running mouseOver with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running click with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'side-panel-iframe-header')]//button[contains(@class,'side-panel-iframe-close')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Refresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running refresh
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Transmission Cooler Line Assembly')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Transmission Cooler Line Assembly')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Transmission Cooler Line Assembly')]
    • Running assertElementPresent with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Transmission Cooler Line Assembly')]
    • Running assertJavaScriptErrors with parameters//h4[contains(.,'Override Default Product Display Page')]//..//div/a[contains(.,'Transmission Cooler Line Assembly')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@class,'table')]//div[contains(text(),'Test Private Content Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Private Content Page')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Private Content Page')]
    • Running assertElementPresent with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Private Content Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'table')]//div[contains(text(),'Test Private Content Page')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running mouseOver with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running click with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
  • Running Click with locator1//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running mouseOver with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running click with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1U-Joint
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]U-Joint
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]U-Joint
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]U-Joint
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]U-Joint
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//p[@class='card-title']//span[text() = 'U-Joint']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'U-Joint']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//p[@class='card-title']//span[text() = 'U-Joint']
    • Running mouseOver with parameters//p[@class='card-title']//span[text() = 'U-Joint']
    • Running click with parameters//p[@class='card-title']//span[text() = 'U-Joint']
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'U-Joint']
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//*[@data-qa-id='headerTitle'] with value1Test Public Content Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='headerTitle']Test Public Content Page
    • Running waitForTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Public Content Page
    • Running assertTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Public Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
  • Running AssertLocation#assertPartialLocation with value1web/minium/p/u-joint
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]web/minium/p/u-joint
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]web/minium/p/u-joint
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running assertPartialLocation with parametersweb/minium/p/u-joint
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//h2[@class='product-header-title'] with value1U-Joint
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]U-Joint
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]U-Joint
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]U-Joint
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]U-Joint
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//h2[@class='product-header-title']U-Joint
    • Running waitForTextCaseInsensitive with parameters//h2[@class='product-header-title']U-Joint
    • Running assertTextCaseInsensitive with parameters//h2[@class='product-header-title']U-Joint
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
  • Running AssertElementPresent with locator1//span[contains(text(),'MIN55861')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55861')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[contains(text(),'MIN55861')]
    • Running assertElementPresent with parameters//span[contains(text(),'MIN55861')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55861')]
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'price')]//span[@class='price-value'] with value124.00
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]24.00
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]24.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'price')]//span[@class='price-value']24.00
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']24.00
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']24.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running mouseOver with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running click with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
  • Running Click with locator1//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running mouseOver with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running click with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Torque Converters
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Torque Converters
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Torque Converters
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Torque Converters
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running mouseOver with parameters//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running click with parameters//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'Torque Converters']
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//*[@data-qa-id='headerTitle'] with value1Test Public Widget Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Widget Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Widget Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Public Widget Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Public Widget Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='headerTitle']Test Public Widget Page
    • Running waitForTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Public Widget Page
    • Running assertTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Public Widget Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
  • Running AssertLocation#assertPartialLocation with value1web/minium/p/torque-converter
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]web/minium/p/torque-converter
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]web/minium/p/torque-converter
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running assertPartialLocation with parametersweb/minium/p/torque-converter
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//h2[@class='product-header-title'] with value1Torque Converters
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Torque Converters
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Torque Converters
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Torque Converters
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Torque Converters
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//h2[@class='product-header-title']Torque Converters
    • Running waitForTextCaseInsensitive with parameters//h2[@class='product-header-title']Torque Converters
    • Running assertTextCaseInsensitive with parameters//h2[@class='product-header-title']Torque Converters
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
  • Running AssertElementPresent with locator1//span[contains(text(),'MIN55859')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55859')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[contains(text(),'MIN55859')]
    • Running assertElementPresent with parameters//span[contains(text(),'MIN55859')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55859')]
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'price')]//span[@class='price-value'] with value134.00
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]34.00
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]34.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'price')]//span[@class='price-value']34.00
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']34.00
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']34.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running mouseOver with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running click with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-sites')]//span[normalize-space(text())='Minium']
    • Running assertLiferayErrors
  • Running Click with locator1//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running mouseOver with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running click with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertJavaScriptErrors with parameters//div[@class='minium-sidebar']//..//a[contains (.,'Catalog')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertElementPresent with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1Transmission Cooler Line Assembly
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Transmission Cooler Line Assembly
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Transmission Cooler Line Assembly
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Transmission Cooler Line Assembly
    • Running waitForEditable with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]Transmission Cooler Line Assembly
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')] with value1\RETURN
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\RETURN
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running keyPress with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]\RETURN
    • Running assertJavaScriptErrors with parameters//input[contains(@aria-label,'Search')] | //input[contains(@name,'Keywords')]
    • Running assertLiferayErrors
  • Running Click with locator1//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running mouseOver with parameters//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running click with parameters//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running assertJavaScriptErrors with parameters//p[@class='card-title']//span[text() = 'Transmission Cooler Line Assembly']
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//*[@data-qa-id='headerTitle'] with value1Test Private Content Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Private Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Private Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Private Content Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Test Private Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='headerTitle']Test Private Content Page
    • Running waitForTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Private Content Page
    • Running assertTextCaseInsensitive with parameters//*[@data-qa-id='headerTitle']Test Private Content Page
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='headerTitle']
    • Running assertLiferayErrors
  • Running AssertLocation#assertPartialLocation with value1group/minium/p/transmission-cooler-line-assembly
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]group/minium/p/transmission-cooler-line-assembly
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]group/minium/p/transmission-cooler-line-assembly
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running assertPartialLocation with parametersgroup/minium/p/transmission-cooler-line-assembly
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//h2[@class='product-header-title'] with value1Transmission Cooler Line Assembly
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Transmission Cooler Line Assembly
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Transmission Cooler Line Assembly
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Transmission Cooler Line Assembly
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Transmission Cooler Line Assembly
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//h2[@class='product-header-title']Transmission Cooler Line Assembly
    • Running waitForTextCaseInsensitive with parameters//h2[@class='product-header-title']Transmission Cooler Line Assembly
    • Running assertTextCaseInsensitive with parameters//h2[@class='product-header-title']Transmission Cooler Line Assembly
    • Running assertJavaScriptErrors with parameters//h2[@class='product-header-title']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div/label[text()='${key_optionName}']/..//div[contains (@class,'select-field-trigger')]//a
  • Running AssertElementPresent with locator1//span[contains(text(),'MIN55860')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55860')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[contains(text(),'MIN55860')]
    • Running assertElementPresent with parameters//span[contains(text(),'MIN55860')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'MIN55860')]
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'price')]//span[@class='price-value'] with value115.00
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]15.00
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]15.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'price')]//span[@class='price-value']15.00
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']15.00
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'price')]//span[@class='price-value']15.00
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'price')]//span[@class='price-value']
    • Running assertLiferayErrors
  • LocalFile.CommerceProductDisplayPages#tear-down
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//span[@class='user-avatar-link']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[@class='user-avatar-link']
  • Log out of Liferay Portal.
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isElementNotPresent with parameters//span[contains(@class,'sign-in')]/a/span
  • Running IsElementPresent with locator1//button//img[contains(@src,'user_portrait')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button//img[contains(@src,'user_portrait')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button//img[contains(@src,'user_portrait')]
  • Running IsElementPresent with locator1//button[contains(@data-toggle,'dropdown')]//span[contains(@class,'user-icon')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@data-toggle,'dropdown')]//span[contains(@class,'user-icon')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(@data-toggle,'dropdown')]//span[contains(@class,'user-icon')]
  • Running Click#waitForPersonalMenuJSClick with locator1//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//script[contains(@src,'personal_menu/js/PersonalMenu.es.js')]
    • Running pause with parameters3000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running mouseOver with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running click with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']//span[*[name()='svg'][contains(@class,'lexicon-icon-user')]]
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//*[contains(@class,'dropdown-menu') and contains(@class,'show')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'dropdown-menu') and contains(@class,'show')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'dropdown-menu') and contains(@class,'show')]
    • Running assertVisible with parameters//*[contains(@class,'dropdown-menu') and contains(@class,'show')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'dropdown-menu') and contains(@class,'show')]
    • Running assertLiferayErrors
  • Running ScrollWebElementIntoView with locator1//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running scrollWebElementIntoView with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertLiferayErrors
  • Running Click with locator1//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running mouseOver with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running click with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'dropdown-item')][contains(.,'Sign Out') or contains(.,'Salir')]
    • Running assertLiferayErrors
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1644340008551,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1644367771236,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1644367852212,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1644368074758,"mvccVersion":"83","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"725d5061-d815-3b4b-b014-8c7949ab59f8"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1644340008551,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1644367771236,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1644367852212,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1644368074987,"mvccVersion":"84","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"725d5061-d815-3b4b-b014-8c7949ab59f8"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
  • Running Pause with locator13000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters3000
    • Running assertLiferayErrors
    • Running pause with parameters3000
  • Running IsElementPresent#pauseIsElementPresent with locator1//input[contains(@id,'reminderQueryAnswer')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'reminderQueryAnswer')]
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//input[contains(@id,'reminderQueryAnswer')]
  • Running IsElementNotPresent with locator1//span[@class='user-avatar-link']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[@class='user-avatar-link']
    • Running isNotVisible with parameters//span[@class='user-avatar-link']
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • The Commerce orders count is: 0
  • No Commerce Orders to be deleted
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Orders']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce shipments count is: 0
  • No Commerce Shipments to be deleted
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Order Management')]/following-sibling::li//span[normalize-space(text())='Shipments']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce accounts count is: 0
  • No Commerce Accounts to be deleted
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Accounts']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce account group count is: 1
  • Deleting Commerce account group with id: 37401
  • Running delete with parametersArg: ${curl}Return: { "status" : "INTERNAL_SERVER_ERROR", "title" : "The default account group 37401 cannot be deleted" }Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Accounts')]/following-sibling::li//span[normalize-space(text())='Account Groups']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce product count is: 50
  • Deleting Commerce product with productId: 54840
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54860
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54898
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54917
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54940
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54965
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 54986
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55005
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55024
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55058
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55082
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55112
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55134
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55156
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55175
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55194
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55214
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55237
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55261
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55280
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55299
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55318
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55340
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55359
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55378
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55394
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55413
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55433
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55452
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55486
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55505
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55524
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55542
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55565
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55583
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55606
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55622
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55640
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55658
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55677
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55696
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55714
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55732
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55751
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55768
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55786
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55805
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55822
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55841
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce product with productId: 55860
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Products']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce option count is: 1
  • Deleting Commerce option with id: 54832
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Options']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce specification groups count is: 5
  • Deleting Commerce specification group with id: 54812
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification group with id: 54813
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification group with id: 54814
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification group with id: 54815
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification group with id: 54816
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • The Commerce specifications count is: 9
  • Deleting Commerce specification with id: 54817
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54818
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54819
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54820
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54821
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54822
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54823
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54824
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce specification with id: 54825
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Specifications']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Running AssertClick with locator1//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups'] with value1Specification Groups
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Specification Groups
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Specification Groups
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Specification Groups
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Specification Groups
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Specification Groups
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Specification Groups
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']Specification Groups
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']Specification Groups
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']Specification Groups
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running clickAt with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Specification Groups']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • The Commerce channels count is: 1
  • Deleting Commerce channel with id: 56300
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Store Management')]/following-sibling::li//span[normalize-space(text())='Channels']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Product Management')]/following-sibling::li//span[normalize-space(text())='Catalogs']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1xpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running assertLiferayErrors
    • Running isElementPresent with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
  • No Commerce Price Lists And Promotions to be deleted
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Price Lists']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1xpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running assertLiferayErrors
    • Running isElementPresent with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Promotions']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1xpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
    • Running assertLiferayErrors
    • Running isElementPresent with parametersxpath=(//div[@class='data-set-wrapper' or @class='searchcontainer-content']//a)[1]
  • The Commerce discounts count is: 0
  • No Commerce Discounts to be deleted
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Discounts']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • curl: http://localhost:8080/api/jsonws/commerce.commerceavailabilityestimate/get-commerce-availability-estimates/ \ -u test@liferay.com:test \ -d companyId=20099 \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator=''
  • availableEstimates: 54856,55210,55429
  • Deleting Commerce commerceAvailabilityEstimate with id: 54856
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce commerceAvailabilityEstimate with id: 55210
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce commerceAvailabilityEstimate with id: 55429
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Availability Estimates']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • curl: http://localhost:8080/api/jsonws/commerce.cpmeasurementunit/get-cp-measurement-units \ -u test@liferay.com:test \ -d companyId=20099 \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator=''
  • commerceMeasurementUnits: 54754,54758,54762,54755,54759,54760,54756,54761,54757
  • Deleting Commerce Measurement Units with id: 54754
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54758
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54762
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54755
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54759
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54760
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54756
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54761
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Deleting Commerce Measurement Units with id: 54757
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Settings')]/following-sibling::li//span[normalize-space(text())='Measurement Units']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Running AssertClick with locator1//div[contains(@class,'navbar')]//a[normalize-space()='Weight'] with value1Weight
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Weight
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Weight
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Weight
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Weight
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Weight
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Weight
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']Weight
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']Weight
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']Weight
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running clickAt with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'navbar')]//a[normalize-space()='Weight']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • curl: http://localhost:8080/api/jsonws/commerce.cptaxcategory/get-cp-tax-categories \ -u test@liferay.com:test \ -d companyId=20099 \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator=''
  • commerceTaxCategories: 54838
  • Deleting Commerce Tax Categories with id: 54838
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Pricing')]/following-sibling::li//span[normalize-space(text())='Tax Categories']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Get warehouseItems for warehouseId: 54826
  • Deleting Commerce warehouseItem with id: 54853
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54877
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54882
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54887
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54910
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54929
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54953
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54978
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54999
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55018
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55042
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55047
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55052
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55071
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55095
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55125
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55147
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55169
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55188
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55207
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55226
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55250
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55274
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55293
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55312
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55353
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55372
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55407
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55426
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55446
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55465
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55499
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55518
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55536
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55554
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55577
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55595
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55634
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55652
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55671
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55690
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55707
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55726
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55744
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55762
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55779
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55799
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55816
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55835
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55854
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55873
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouse with id: 54826
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Get warehouseItems for warehouseId: 54828
  • Deleting Commerce warehouseItem with id: 54854
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54878
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54883
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54888
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54911
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54930
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54954
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54979
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55000
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55019
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55043
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55048
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55053
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55072
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55096
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55126
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55148
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55170
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55189
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55208
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55227
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55251
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55275
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55294
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55313
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55331
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55354
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55373
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55408
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55427
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55447
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55466
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55500
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55519
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55537
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55555
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55578
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55596
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55635
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55653
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55672
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55691
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55708
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55727
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55745
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55763
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55780
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55800
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55817
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55836
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55855
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55874
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouse with id: 54828
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Get warehouseItems for warehouseId: 54830
  • Deleting Commerce warehouseItem with id: 54855
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54879
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54884
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54889
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54912
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54931
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54955
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 54980
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55001
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55020
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55044
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55049
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55054
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55073
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55097
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55127
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55149
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55171
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55190
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55209
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55228
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55252
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55276
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55295
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55314
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55355
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55374
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55409
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55428
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55448
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55467
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55501
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55520
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55538
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55556
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55579
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55597
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55636
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55654
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55673
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55692
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55709
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55728
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55746
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55764
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55781
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55801
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55818
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55837
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55856
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouseItem with id: 55875
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Deleting Commerce warehouse with id: 54830
  • Running delete with parametersArg: ${curl}Return: Finished executing commands.
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Inventory']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Commerce']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Inventory Management')]/following-sibling::li//span[normalize-space(text())='Warehouses']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains (@class,'empty-result-message-header')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains (@class,'empty-result-message-header')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains (@class,'empty-result-message-header')]
  • Running IsElementNotPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'applications-menu-modal')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
    • Running isElementNotPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//button[@data-qa-id='applicationsMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@data-qa-id='applicationsMenu']
    • Running mouseOver with parameters//button[@data-qa-id='applicationsMenu']
    • Running click with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertJavaScriptErrors with parameters//button[@data-qa-id='applicationsMenu']
    • Running assertLiferayErrors
  • Running WaitForElementPresent with locator1//div[contains(@class,'applications-menu-modal')]
    • Running waitForElementPresent with parameters//div[contains(@class,'applications-menu-modal')]
  • Running Click with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running mouseOver with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running click with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertElementPresent with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertJavaScriptErrors with parameters//li[contains(@id,'ApplicationsMenuPortlet')]/button[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Control Panel']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running Click with locator1//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running mouseOver with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running click with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertJavaScriptErrors with parameters//div[contains(@role,'tabpanel') and contains(@class,'active')]//div[contains(@class,'applications-menu-nav-columns')]//li[contains(.,'Sites')]/following-sibling::li//span[normalize-space(text())='Sites']
    • Running assertLiferayErrors
  • curl: http://localhost:8080/api/jsonws/group/get-user-sites-groups \ -u test@liferay.com:test \
  • commerceSites: 56290
  • Deleting Commerce Sites with id: 56290
  • Running post with parametersArg: ${curl}Return: {}Finished executing commands.
  • LocalFile.CommerceProductDisplayPages#OverrideDefaultProductDisplayPageForDifferentProducts

    • 8
      setUp {
      • 9
        TestCase.setUpPortalInstance();
        • 113
          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
        • 114
          var testPortalInstance = PropsUtil.get("test.portal.instance");
        • 116
          if (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
          • 117
            HeadlessPortalInstanceAPI.cleanAllPortalInstances(authenticationMethod = "${authenticationMethod}");
            • 107
              var portalInstanceJson = HeadlessPortalInstanceAPI._getPortalInstances(authenticationMethod = "${authenticationMethod}");
              • 5
                var portalURL = JSONCompany.getDefaultPortalURL();
                • 40
                  var portalURL = PropsUtil.get("default.portal.url");
                • 42
                  if (!(contains("${portalURL}", "http"))) {
                  • 43
                    var portalURL = "http://${portalURL}";
                  }
                • 46
                  return "${portalURL}";
              • 7
                if ("${authenticationMethod}" == "By Screen Name") {
                • 8
                  var userName = "test";
                }
              • 10
                else {
                • 11
                  var userName = "test@liferay.com";
                }
              • 14
                var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -H Content-Type: application/json ''';
              • 19
                var json = JSONCurlUtil.get("${curl}");
              • 21
                return "${json}";
            • 109
              var portalInstanceIds = JSONUtil.getWithJSONPath("${portalInstanceJson}", "$.items..portalInstanceId");
            • 111
              for (var portalInstanceId : list "${portalInstanceIds}") {
              • 112
                if ("${portalInstanceId}" != "liferay.com") {
                • 113
                  HeadlessPortalInstanceAPI.deletePortalInstance( authenticationMethod = "${authenticationMethod}", portalInstanceId = "${portalInstanceId}");
                  • 122
                    Variables.assertDefined(parameterList = "${portalInstanceId}");
                    • 5
                      if (!(isSet(parameterList))) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 124
                    var portalURL = JSONCompany.getDefaultPortalURL();
                    • 40
                      var portalURL = PropsUtil.get("default.portal.url");
                    • 42
                      if (!(contains("${portalURL}", "http"))) {
                      • 43
                        var portalURL = "http://${portalURL}";
                      }
                    • 46
                      return "${portalURL}";
                  • 126
                    var portalInstanceId = StringUtil.replace("${portalInstanceId}", " ", "%20");
                  • 128
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 129
                      var userName = "test";
                    }
                  • 131
                    else {
                    • 132
                      var userName = "test@liferay.com";
                    }
                  • 135
                    var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances/${portalInstanceId} \ -u ${userName}:test \ -H Content-Type: application/json ''';
                  • 141
                    JSONCurlUtil.delete("${curl}");
                }
              }
          • 119
            if ("${testPortalInstance}" == "true") {
            • 120
              SignIn.signInPortalInstanceSetUp();
              • 3
                var userEmailAddress = "test@liferay.com";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 48
                var portalURL = PropsUtil.get("portal.url");
              • 49
                var portalURL = StringUtil.replace("${portalURL}", "http://", "");
              • 50
                var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
              • 52
                HeadlessPortalInstanceAPI.addPortalInstance( authenticationMethod = "${authenticationMethod}", domain = "liferay.com", portalInstanceId = "${portalURL}", virtualHost = "${portalURL}");
                • 26
                  Variables.assertDefined(parameterList = "${domain},${virtualHost},${portalInstanceId}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 28
                  var portalURL = JSONCompany.getDefaultPortalURL();
                  • 40
                    var portalURL = PropsUtil.get("default.portal.url");
                  • 42
                    if (!(contains("${portalURL}", "http"))) {
                    • 43
                      var portalURL = "http://${portalURL}";
                    }
                  • 46
                    return "${portalURL}";
                • 30
                  var parameters = JSONUtil2._addJSONObject( json = "{}", key = "domain", value = ""${domain}"");
                  • 67
                    if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${json}" == "{}") {
                    • 80
                      var json = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${json}";
                • 35
                  var parameters = JSONUtil2._addJSONObject( json = "${parameters}", key = "virtualHost", value = ""${virtualHost}"");
                  • 67
                    if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${json}" == "{}") {
                    • 80
                      var json = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${json}";
                • 40
                  var parameters = JSONUtil2._addJSONObject( json = "${parameters}", key = "portalInstanceId", value = ""${portalInstanceId}"");
                  • 67
                    if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${json}" == "{}") {
                    • 80
                      var json = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${json}";
                • 45
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 46
                    var userName = "test";
                  }
                • 48
                  else {
                  • 49
                    var userName = "test@liferay.com";
                  }
                • 52
                  var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -d ${parameters} \ -H Content-Type: application/json ''';
                • 59
                  JSONCurlUtil.post("${curl}");
            }
          }
      • 11
        User.firstLoginPG();
        • 3
          var password = "test";
        • 4
          var userEmailAddress = "test@liferay.com";
        • 1932
          if (isSet(virtualHostsURL)) {
          • 1933
            Navigator.openSpecificURL(url = "${virtualHostsURL}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1935
          else {
          • 1936
            Navigator.openURL();
            • 346
              WaitForSPARefresh();
            • 348
              var baseURL = "${baseURL}";
            • 350
              if (!(isSet(baseURL))) {
              • 351
                var baseURL = PropsUtil.get("portal.url");
              }
            • 354
              Open(locator1 = "${baseURL}/web/guest/home");
          }
        • 1939
          UserBar.signOut();
          • 34
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 35
              UserBar.gotoDropdown();
              • 4
                if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                • 5
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                }
              • 7
                else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                • 8
                  Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                }
              • 10
                else {
                • 11
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                }
              • 14
                AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
            • 37
              ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            • 39
              Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            }
        • 1941
          JSONUser.agreeToTermsAndAnswerReminderQuery( portalURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
          • 172
            Variables.assertDefined(parameterList = "${userEmailAddress}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 174
            var portalInstanceName = JSONUserSetter.setPortalInstanceName(portalURL = "${portalURL}");
            • 37
              if (isSet(portalURL)) {
              • 38
                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                • 72
                  Variables.assertDefined(parameterList = "${portalURL}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 74
                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                • 75
                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                • 77
                  return "${portalInstanceName}";
              }
            • 41
              return "${portalInstanceName}";
          • 176
            var userId = JSONUserSetter.setUserId( portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
            • 92
              Variables.assertDefined(parameterList = "${userEmailAddress}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 94
              var userId = JSONUserAPI._getUserIdByEmailAddress( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
              • 209
                Variables.assertDefined(parameterList = "${userEmailAddress}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 211
                var companyId = JSONCompany.getCompanyId( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 216
                if (isSet(specificURL)) {
                • 217
                  var portalURL = "${specificURL}";
                }
              • 219
                else {
                • 220
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 223
                if (!(isSet(creatorEmailAddress))) {
                • 224
                  var creatorEmailAddress = "test@liferay.com";
                }
              • 227
                if (!(isSet(creatorPassword))) {
                • 228
                  var creatorPassword = "test";
                }
              • 231
                var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-email-address/company-id/${companyId}/email-address/${userEmailAddress} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 235
                var userId = JSONCurlUtil.get("${curl}", "$['userId']");
              • 237
                return "${userId}";
            • 100
              return "${userId}";
          • 180
            JSONUserAPI._agreeToTermsAndAnswerReminderQuery(userId = "${userId}");
            • 89
              Variables.assertDefined(parameterList = "${userId}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 91
              if (isSet(specificURL)) {
              • 92
                var portalURL = "${specificURL}";
              }
            • 94
              else {
              • 95
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              }
            • 98
              var curl = ''' ${portalURL}/api/jsonws/user/update-agreed-to-terms-of-use/user-id/${userId}/agreed-to-terms-of-use/true \ -u test@liferay.com:test ''';
            • 103
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
            • 105
              var curl = ''' ${portalURL}/api/jsonws/user/update-reminder-query/user-id/${userId}/question/what-is-your-father%27s-middle-name/answer/test \ -u test@liferay.com:test ''';
            • 110
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        • 1945
          if (isSet(virtualHostsURL)) {
          • 1946
            Navigator.openSpecificURL(url = "${virtualHostsURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1948
          else {
          • 1949
            var baseURL = PropsUtil.get("portal.url");
          • 1951
            Navigator.openSpecificURL(url = "${baseURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1956
          User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 2468
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
            • 2469
              if ("${syntaxCheckingEnabled}" == "true") {
              • 2470
                Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
              • 2474
                Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
              }
            • 2478
              else {
              • 2479
                if ("${setupWizardEnabled}" == "true") {
                • 2480
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                • 2484
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                }
              • 2488
                else {
                • 2489
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                • 2493
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                }
              }
            • 2499
              Button.clickSubmitButton();
              • 122
                Click(locator1 = "Button#SUBMIT");
            • 2501
              AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
            }
        • 1961
          User.answerPasswordReminder();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 746
            Pause(locator1 = "3000");
          • 748
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
            • 749
              Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
            • 753
              Click(locator1 = "Button#SUBMIT");
            }
        • 1963
          if (IsElementNotPresent(locator1 = "UserBar#USER_AVATAR_IMAGE")) {
          • 1964
            takeScreenshot();
          • 1966
            echo("URL login failed, falling back to UI login.");
          • 1968
            User.firstLoginUI( idpName = "${idpName}", password = "${password}", rememberMeChecked = "${rememberMeChecked}", specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}", userScreenName = "${userScreenName}");
            • 3
              var password = "test";
            • 4
              var userEmailAddress = "test@liferay.com";
            • 1983
              if (isSet(specificURL)) {
              • 1984
                Navigator.openSpecificURL(url = "${specificURL}");
                • 295
                  Open(locator1 = "${url}");
                • 297
                  Alert.confirmSecurity();
                  • 16
                    if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                    • 17
                      Click(locator1 = "Button#ADVANCED");
                    • 19
                      AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                    • 23
                      Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                    }
              }
            • 1986
              else {
              • 1987
                Navigator.openURL();
                • 346
                  WaitForSPARefresh();
                • 348
                  var baseURL = "${baseURL}";
                • 350
                  if (!(isSet(baseURL))) {
                  • 351
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 354
                  Open(locator1 = "${baseURL}/web/guest/home");
              }
            • 1990
              User._clickSignInLink( idpName = "${idpName}", localization = "${localization}", samlMultiIdPs = "${samlMultiIdPs}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 13
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 15
                if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                • 16
                  if (isSet(localization)) {
                  • 17
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                  }
                • 21
                  else if (IsElementPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 22
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                  • 26
                    if ("${samlMultiIdPs}" == "true") {
                    • 27
                      Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                    • 32
                      Button.click(button = "Sign In");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    }
                  }
                • 35
                  else if (IsElementPresent(key_text = "Sign In", locator1 = "Button#ANY")) {
                  • 36
                    Button.click(button = "Sign In");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  }
                }
            • 1995
              if ("${authenticationMethod}" == "By Screen Name") {
              • 1996
                Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
              }
            • 2000
              else if ("${authenticationMethod}" == "By User ID") {
              • 2001
                Type.typePause( key_text = "ID", locator1 = "TextInput#ANY", value1 = "${userId}");
              }
            • 2006
              else {
              • 2007
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              }
            • 2012
              Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
            • 2016
              if (isSet(rememberMeChecked) && ("${rememberMeChecked}" == "true")) {
              • 2017
                Check(locator1 = "Checkbox#REMEMBER_ME");
              }
            • 2020
              User._clickSignInButton(localization = "${localization}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 7
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 9
                Button.click(button = "${localizedSignIn}");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 2022
              if (isSet(localizedAgree)) {
              • 2023
                User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 78
                  var key_localizedAgree = "${localizedAgree}";
                • 80
                  if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                  • 81
                    AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                  • 85
                    AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                  }
              }
            • 2025
              else if (IsElementPresent(locator1 = "Button#I_AGREE")) {
              • 2026
                SignIn.agreeToTermsOfUse();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 24
                  AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                • 28
                  AssertElementNotPresent(locator1 = "Button#I_AGREE");
              }
            • 2029
              if (isSet(localizedAnswer)) {
              • 2030
                User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 758
                  Pause(locator1 = "3000");
                • 760
                  var key_localizedAnswer = "${localizedAnswer}";
                • 762
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                  • 763
                    Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                  • 767
                    Button.click(button = "${localizedSaveButton}");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 769
                    Button.viewNotPresent(button = "${localizedSaveButton}");
                    • 142
                      AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                  }
              }
            • 2034
              else if (IsElementPresent(locator1 = "Select#QUESTION")) {
              • 2035
                SignIn.setPasswordReminder();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 33
                  Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                • 37
                  Button.clickSave();
                  • 102
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 104
                    WaitForLiferayEvent.initializeLiferayEventLog();
              }
            • 2038
              WaitForLiferayEvent.initializeLiferayEventLog();
          }
        • 1976
          else {
          • 1977
            WaitForLiferayEvent.initializeLiferayEventLog();
          }
      }
    • 195
      test OverrideDefaultProductDisplayPageForDifferentProducts {
      • 193
        @description = "This is a test for COMMERCE-7842. Verify user can override the default product display page for different products."
      • 196
        task ("Given a Minium site") {
        • 197
          CommerceAccelerators.initializeNewSiteViaAccelerator(siteName = "Minium");
          • 4
            ApplicationsMenu.gotoPortlet( category = "Sites", panel = "Control Panel", portlet = "Sites");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
          • 9
            if (isSet(siteTemplateName)) {
            • 10
              Site.addCP( membershipType = "Private", siteName = "${siteName}", siteTemplateName = "${siteTemplateName}");
              • 3
                var siteMember = "User";
              • 4
                var siteType = "Open";
              • 50
                LexiconEntry.gotoAdd();
                • 51
                  WaitForPageLoad();
                • 53
                  Click(locator1 = "Button#PLUS");
              • 52
                if ("${singleSiteTypePermission}" != "true") {
                • 53
                  if (!(isSet(siteTemplateName))) {
                  • 54
                    var siteTemplateName = "${siteType} Site";
                  }
                • 57
                  LexiconCard.clickCard(card = "${siteTemplateName}");
                  • 14
                    WaitForLiferayEvent.initializeLiferayEventLog();
                  • 16
                    Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
                • 59
                  SelectFrame(locator1 = "IFrame#MODAL_BODY");
                • 61
                  PortletEntry.inputName(name = "${siteName}");
                  • 113
                    Type( locator1 = "TextInput#NAME", value1 = "${name}");
                • 63
                  Button.clickAdd();
                  • 10
                    Button.click(button = "Add");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                • 65
                  SelectFrameTop();
                • 67
                  Alert.viewSuccessMessage();
                  • 118
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                }
              • 70
                if ("${siteType}" == "Site Template") {
                • 71
                  if ("${uncheckPropagation}" == "true") {
                  • 72
                    Click( key_itemName = "Pages", locator1 = "ListGroupItem#ITEM_TEXT");
                  • 76
                    Navigator.gotoNavTab(navTab = "Pages");
                    • 102
                      var key_tab = "${navTab}";
                    • 104
                      if (IsElementNotPresent(locator1 = "NavTab#ACTIVE_TAB_LINK")) {
                      • 105
                        AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
                      }
                    • 110
                      AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
                    • 112
                      WaitForLiferayEvent.initializeLiferayEventLog();
                  • 78
                    Uncheck.uncheckToggleSwitch(locator1 = "Checkbox#ENABLE_PROPAGATION");
                  • 80
                    PortletEntry.save();
                    • 170
                      Button.clickSave();
                      • 102
                        Button.click(button = "Save");
                        • 4
                          Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                      • 104
                        WaitForLiferayEvent.initializeLiferayEventLog();
                    • 172
                      Alert.viewSuccessMessage();
                      • 118
                        VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                    • 174
                      WaitForLiferayEvent.initializeLiferayEventLog();
                  • 82
                    Navigator.gotoBack();
                    • 64
                      Click(locator1 = "Icon#BACK");
                  }
                }
              • 86
                WaitForPageLoad();
              • 88
                Click( key_itemName = "Site Configuration", locator1 = "ListGroupItem#ITEM_TEXT");
              • 92
                if ("${membershipType}" == "Private") {
                • 93
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Private");
                }
              • 97
                else if ("${membershipType}" == "Restricted") {
                • 98
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Restricted");
                }
              • 102
                else {
                • 103
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Open");
                }
              • 108
                if (isSet(parentSiteName)) {
                • 109
                  WaitForLiferayEvent.initializeLiferayEventLog();
                • 111
                  Click( key_fieldLabel = "Parent Site", key_text = "Change", locator1 = "Button#ANY_WITH_LABEL");
                • 116
                  var key_parentSiteName = "${parentSiteName}";
                • 118
                  SelectFrame(locator1 = "IFrame#MODAL_BODY");
                • 120
                  Search.searchCP(searchTerm = "${parentSiteName}");
                  • 25
                    AssertElementPresent(locator1 = "TextInput#SEARCH");
                  • 27
                    AssertElementPresent(locator1 = "Icon#BASIC_SEARCH");
                  • 29
                    Type( locator1 = "TextInput#SEARCH", value1 = "${searchTerm}");
                  • 33
                    KeyPress( locator1 = "TextInput#SEARCH", value1 = "\RETURN");
                  • 37
                    if (!(isSet(modal))) {
                    • 38
                      WaitForLiferayEvent.initializeLiferayEventLog();
                    }
                • 122
                  var key_site = "${parentSiteName}";
                • 124
                  AssertTextEquals( locator1 = "ContentRow#ENTRY_CONTENT_ROW_TD_1_SITE_LINK", value1 = "${parentSiteName}");
                • 128
                  Click(locator1 = "ContentRow#ENTRY_CONTENT_ROW_TD_1_SITE_LINK");
                • 130
                  var key_parentSiteName = "${parentSiteName}";
                • 132
                  SelectFrameTop();
                }
              • 135
                ScrollWebElementIntoView(locator1 = "Button#SAVE");
              • 137
                PortletEntry.save();
                • 170
                  Button.clickSave();
                  • 102
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 104
                    WaitForLiferayEvent.initializeLiferayEventLog();
                • 172
                  Alert.viewSuccessMessage();
                  • 118
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                • 174
                  WaitForLiferayEvent.initializeLiferayEventLog();
              • 139
                AssertTextEquals( locator1 = "SitesEditSite#DETAILS_NAME", value1 = "${siteName}");
            }
          • 15
            else {
            • 16
              Site.addCP( membershipType = "Private", siteName = "${siteName}", siteTemplateName = "${siteName}");
              • 3
                var siteMember = "User";
              • 4
                var siteType = "Open";
              • 50
                LexiconEntry.gotoAdd();
                • 51
                  WaitForPageLoad();
                • 53
                  Click(locator1 = "Button#PLUS");
              • 52
                if ("${singleSiteTypePermission}" != "true") {
                • 53
                  if (!(isSet(siteTemplateName))) {
                  • 54
                    var siteTemplateName = "${siteType} Site";
                  }
                • 57
                  LexiconCard.clickCard(card = "${siteTemplateName}");
                  • 14
                    WaitForLiferayEvent.initializeLiferayEventLog();
                  • 16
                    Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
                • 59
                  SelectFrame(locator1 = "IFrame#MODAL_BODY");
                • 61
                  PortletEntry.inputName(name = "${siteName}");
                  • 113
                    Type( locator1 = "TextInput#NAME", value1 = "${name}");
                • 63
                  Button.clickAdd();
                  • 10
                    Button.click(button = "Add");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                • 65
                  SelectFrameTop();
                • 67
                  Alert.viewSuccessMessage();
                  • 118
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                }
              • 70
                if ("${siteType}" == "Site Template") {
                • 71
                  if ("${uncheckPropagation}" == "true") {
                  • 72
                    Click( key_itemName = "Pages", locator1 = "ListGroupItem#ITEM_TEXT");
                  • 76
                    Navigator.gotoNavTab(navTab = "Pages");
                    • 102
                      var key_tab = "${navTab}";
                    • 104
                      if (IsElementNotPresent(locator1 = "NavTab#ACTIVE_TAB_LINK")) {
                      • 105
                        AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
                      }
                    • 110
                      AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
                    • 112
                      WaitForLiferayEvent.initializeLiferayEventLog();
                  • 78
                    Uncheck.uncheckToggleSwitch(locator1 = "Checkbox#ENABLE_PROPAGATION");
                  • 80
                    PortletEntry.save();
                    • 170
                      Button.clickSave();
                      • 102
                        Button.click(button = "Save");
                        • 4
                          Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                      • 104
                        WaitForLiferayEvent.initializeLiferayEventLog();
                    • 172
                      Alert.viewSuccessMessage();
                      • 118
                        VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                    • 174
                      WaitForLiferayEvent.initializeLiferayEventLog();
                  • 82
                    Navigator.gotoBack();
                    • 64
                      Click(locator1 = "Icon#BACK");
                  }
                }
              • 86
                WaitForPageLoad();
              • 88
                Click( key_itemName = "Site Configuration", locator1 = "ListGroupItem#ITEM_TEXT");
              • 92
                if ("${membershipType}" == "Private") {
                • 93
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Private");
                }
              • 97
                else if ("${membershipType}" == "Restricted") {
                • 98
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Restricted");
                }
              • 102
                else {
                • 103
                  Select( locator1 = "SitesEditSite#MEMBERSHIP_TYPE", value1 = "Open");
                }
              • 108
                if (isSet(parentSiteName)) {
                • 109
                  WaitForLiferayEvent.initializeLiferayEventLog();
                • 111
                  Click( key_fieldLabel = "Parent Site", key_text = "Change", locator1 = "Button#ANY_WITH_LABEL");
                • 116
                  var key_parentSiteName = "${parentSiteName}";
                • 118
                  SelectFrame(locator1 = "IFrame#MODAL_BODY");
                • 120
                  Search.searchCP(searchTerm = "${parentSiteName}");
                  • 25
                    AssertElementPresent(locator1 = "TextInput#SEARCH");
                  • 27
                    AssertElementPresent(locator1 = "Icon#BASIC_SEARCH");
                  • 29
                    Type( locator1 = "TextInput#SEARCH", value1 = "${searchTerm}");
                  • 33
                    KeyPress( locator1 = "TextInput#SEARCH", value1 = "\RETURN");
                  • 37
                    if (!(isSet(modal))) {
                    • 38
                      WaitForLiferayEvent.initializeLiferayEventLog();
                    }
                • 122
                  var key_site = "${parentSiteName}";
                • 124
                  AssertTextEquals( locator1 = "ContentRow#ENTRY_CONTENT_ROW_TD_1_SITE_LINK", value1 = "${parentSiteName}");
                • 128
                  Click(locator1 = "ContentRow#ENTRY_CONTENT_ROW_TD_1_SITE_LINK");
                • 130
                  var key_parentSiteName = "${parentSiteName}";
                • 132
                  SelectFrameTop();
                }
              • 135
                ScrollWebElementIntoView(locator1 = "Button#SAVE");
              • 137
                PortletEntry.save();
                • 170
                  Button.clickSave();
                  • 102
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 104
                    WaitForLiferayEvent.initializeLiferayEventLog();
                • 172
                  Alert.viewSuccessMessage();
                  • 118
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                • 174
                  WaitForLiferayEvent.initializeLiferayEventLog();
              • 139
                AssertTextEquals( locator1 = "SitesEditSite#DETAILS_NAME", value1 = "${siteName}");
            }
        }
      • 200
        task ("And given the Minium site has a public content page with a Category Content widget") {
        • 201
          JSONLayout.addPublicLayout( groupName = "Minium", layoutName = "Test Public Content Page", type = "content");
          • 42
            Variables.assertDefined(parameterList = "${groupName},${layoutName}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 44
            var friendlyURL = JSONLayoutSetter.setFriendlyURL(friendlyURL = "${friendlyURL}");
            • 12
              if (!(isSet(friendlyURL))) {
              • 13
                var friendlyURL = "";
              }
            • 16
              return "${friendlyURL}";
          • 46
            var groupId = JSONLayoutSetter.setGroupId( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", site = "${site}");
            • 20
              if (!(isSet(site))) {
              • 21
                var site = "true";
              }
            • 24
              var groupId = JSONGroupAPI._getGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", portalURL = "${portalURL}", site = "${site}");
              • 207
                Variables.assertDefined(parameterList = "${groupName},${site}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 209
                if (!(isSet(portalURL))) {
                • 210
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 213
                var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 215
                var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                • 85
                  if (isSet(parentGroupName)) {
                  • 86
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                    • 253
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 255
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        if (!(isSet(portalInstanceName))) {
                        • 5
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 50
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 51
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 53
                            if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                            • 54
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 56
                              var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                              • 72
                                Variables.assertDefined(parameterList = "${portalURL}");
                                • 5
                                  if (!(isSet(parameterList))) {
                                  • 6
                                    fail("Please define a parameter list in 'parameterList'");
                                  }
                                • 9
                                  for (var parameter : list "${parameterList}") {
                                  • 13
                                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                  • 17
                                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                    • 18
                                      fail("Please set '${parameter}'");
                                    }
                                  }
                              • 74
                                var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                              • 75
                                var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                              • 77
                                return "${portalInstanceName}";
                            • 58
                              return "${portalInstanceName}";
                            }
                          • 60
                            else {
                            • 61
                              return "localhost";
                            }
                        }
                      • 8
                        if (!(isSet(portalURL))) {
                        • 9
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 12
                        if (!(isSet(creatorEmailAddress))) {
                        • 13
                          if ("${authenticationMethod}" == "By Screen Name") {
                          • 14
                            if (!(isSet(userScreenName))) {
                            • 15
                              var creatorEmailAddress = "test";
                            }
                          • 17
                            else {
                            • 18
                              var creatorEmailAddress = "${userScreenName}";
                            }
                          }
                        • 21
                          else {
                          • 22
                            var creatorEmailAddress = "test@liferay.com";
                          }
                        }
                      • 26
                        if (!(isSet(creatorPassword))) {
                        • 27
                          var creatorPassword = "test";
                        }
                      • 30
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                      • 34
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 36
                        return "${companyId}";
                    • 257
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 15
                        if (isSet(grandParentGroupName)) {
                        • 16
                          if (!(isSet(site))) {
                          • 17
                            var site = "true";
                          }
                        • 20
                          var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                          • 154
                            Variables.assertDefined(parameterList = "${groupName}");
                            • 5
                              if (!(isSet(parameterList))) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                              • 17
                                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 156
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              if (!(isSet(portalInstanceName))) {
                              • 5
                                var portalInstanceName = JSONCompany.getPortalInstanceName();
                                • 50
                                  var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                • 51
                                  var testPortalInstance = PropsUtil.get("test.portal.instance");
                                • 53
                                  if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                  • 54
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 56
                                    var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                    • 72
                                      Variables.assertDefined(parameterList = "${portalURL}");
                                      • 5
                                        if (!(isSet(parameterList))) {
                                        • 6
                                          fail("Please define a parameter list in 'parameterList'");
                                        }
                                      • 9
                                        for (var parameter : list "${parameterList}") {
                                        • 13
                                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                        • 17
                                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                          • 18
                                            fail("Please set '${parameter}'");
                                          }
                                        }
                                    • 74
                                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                    • 75
                                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                    • 77
                                      return "${portalInstanceName}";
                                  • 58
                                    return "${portalInstanceName}";
                                  }
                                • 60
                                  else {
                                  • 61
                                    return "localhost";
                                  }
                              }
                            • 8
                              if (!(isSet(portalURL))) {
                              • 9
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              }
                            • 12
                              if (!(isSet(creatorEmailAddress))) {
                              • 13
                                if ("${authenticationMethod}" == "By Screen Name") {
                                • 14
                                  if (!(isSet(userScreenName))) {
                                  • 15
                                    var creatorEmailAddress = "test";
                                  }
                                • 17
                                  else {
                                  • 18
                                    var creatorEmailAddress = "${userScreenName}";
                                  }
                                }
                              • 21
                                else {
                                • 22
                                  var creatorEmailAddress = "test@liferay.com";
                                }
                              }
                            • 26
                              if (!(isSet(creatorPassword))) {
                              • 27
                                var creatorPassword = "test";
                              }
                            • 30
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                            • 34
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 36
                              return "${companyId}";
                          • 158
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          • 160
                            if (!(isSet(site))) {
                            • 161
                              var site = "true";
                            }
                          • 164
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                          • 171
                            var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 173
                            if ("${groupId}" == "") {
                            • 174
                              fail("FAIL. Cannot find group.");
                            }
                          • 177
                            return "${groupId}";
                        }
                      • 24
                        else {
                        • 25
                          var grandParentGroupId = "0";
                        }
                      • 28
                        return "${grandParentGroupId}";
                    • 259
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 261
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 265
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 267
                      if ("${groupId}" == "") {
                      • 268
                        fail("FAIL. Cannot find group.");
                      }
                    • 271
                      return "${groupId}";
                  }
                • 90
                  else {
                  • 91
                    var parentGroupId = "0";
                  }
                • 94
                  return "${parentGroupId}";
              • 219
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 223
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 225
                if ("${groupId}" == "") {
                • 226
                  fail("FAIL. Cannot find group.");
                }
              • 229
                echo("## * GroupId: ${groupId}");
              • 231
                return "${groupId}";
            • 31
              return "${groupId}";
          • 52
            var parentLayoutId = JSONLayoutSetter.setParentLayoutId( groupId = "${groupId}", parentLayoutName = "${parentLayoutName}", privateLayout = "false");
            • 46
              var privateLayout = JSONLayoutSetter.setPrivateLayout(privateLayout = "${privateLayout}");
              • 64
                if (!(isSet(privateLayout))) {
                • 65
                  var privateLayout = "false";
                }
              • 68
                return "${privateLayout}";
            • 48
              if (isSet(parentLayoutName)) {
              • 49
                Variables.assertDefined(parameterList = "${groupId},${parentLayoutName}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 51
                var parentLayoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${parentLayoutName}", privateLayout = "${privateLayout}");
                • 70
                  Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 72
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                • 74
                  var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
                • 80
                  var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
                • 82
                  if ("${layoutId}" == "") {
                  • 83
                    fail("FAIL. Cannot find layout.");
                  }
                • 86
                  return "${layoutId}";
              }
            • 56
              else {
              • 57
                var parentLayoutId = "0";
              }
            • 60
              return "${parentLayoutId}";
          • 57
            var serviceContext = JSONLayoutSetter.setServiceContext( assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
            • 72
              if (!(isSet(serviceContext))) {
              • 73
                var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
                • 116
                  var serviceContext = "{}";
                • 118
                  if (isSet(assetCategoryIds)) {
                  • 119
                    var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", json = "${serviceContext}");
                    • 4
                      Variables.assertDefined(parameterList = "${json},${assetCategoryIds}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 6
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetCategoryIds");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 10
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetCategoryIds", values = "${assetCategoryIds}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 15
                      return "${json}";
                  }
                • 124
                  if (isSet(assetTagNames)) {
                  • 125
                    var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", json = "${serviceContext}");
                    • 19
                      Variables.assertDefined(parameterList = "${json},${assetTagNames}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 21
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetTagNames");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 25
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetTagNames", values = "${assetTagNames}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 30
                      return "${json}";
                  }
                • 130
                  if (isSet(addGroupPermissions)) {
                  • 131
                    var serviceContext = JSONServiceContextUtil._addGroupPermissions( addGroupPermissions = "${addGroupPermissions}", json = "${serviceContext}");
                    • 64
                      Variables.assertDefined(parameterList = "${json},${addGroupPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 66
                      if (!(("${addGroupPermissions}" == "true") || ("${addGroupPermissions}" == "false"))) {
                      • 67
                        fail("Invalid addGroupPermissions: '${addGroupPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 70
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGroupPermissions", value = "${addGroupPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 75
                      return "${json}";
                  }
                • 136
                  if (isSet(addGuestPermissions)) {
                  • 137
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", json = "${serviceContext}");
                    • 79
                      Variables.assertDefined(parameterList = "${json},${addGuestPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 81
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 82
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 85
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGuestPermissions", value = "${addGuestPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 90
                      return "${json}";
                  }
                • 142
                  if (isSet(attributes)) {
                  • 143
                    var serviceContext = JSONServiceContextUtil._addAttributes( attributes = "${attributes}", json = "${serviceContext}");
                    • 34
                      Variables.assertDefined(parameterList = "${json},${attributes}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 36
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "attributes", value = "${attributes}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 41
                      return "${json}";
                  }
                • 148
                  if (isSet(groupName)) {
                  • 149
                    var serviceContext = JSONServiceContextUtil._addGroupId( groupName = "${groupName}", json = "${serviceContext}", site = "${site}");
                    • 45
                      Variables.assertDefined(parameterList = "${groupName},${json}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 47
                      if (!(isSet(site))) {
                      • 48
                        var site = "true";
                      }
                    • 51
                      var groupId = JSONGroupAPI._getGroupIdByName( groupName = "${groupName}", site = "${site}");
                      • 207
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 209
                        if (!(isSet(portalURL))) {
                        • 210
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 213
                        var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                        • 4
                          if (!(isSet(portalInstanceName))) {
                          • 5
                            var portalInstanceName = JSONCompany.getPortalInstanceName();
                            • 50
                              var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                            • 51
                              var testPortalInstance = PropsUtil.get("test.portal.instance");
                            • 53
                              if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                              • 54
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              • 56
                                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                • 72
                                  Variables.assertDefined(parameterList = "${portalURL}");
                                  • 5
                                    if (!(isSet(parameterList))) {
                                    • 6
                                      fail("Please define a parameter list in 'parameterList'");
                                    }
                                  • 9
                                    for (var parameter : list "${parameterList}") {
                                    • 13
                                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                    • 17
                                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                      • 18
                                        fail("Please set '${parameter}'");
                                      }
                                    }
                                • 74
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 75
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 77
                                  return "${portalInstanceName}";
                              • 58
                                return "${portalInstanceName}";
                              }
                            • 60
                              else {
                              • 61
                                return "localhost";
                              }
                          }
                        • 8
                          if (!(isSet(portalURL))) {
                          • 9
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          }
                        • 12
                          if (!(isSet(creatorEmailAddress))) {
                          • 13
                            if ("${authenticationMethod}" == "By Screen Name") {
                            • 14
                              if (!(isSet(userScreenName))) {
                              • 15
                                var creatorEmailAddress = "test";
                              }
                            • 17
                              else {
                              • 18
                                var creatorEmailAddress = "${userScreenName}";
                              }
                            }
                          • 21
                            else {
                            • 22
                              var creatorEmailAddress = "test@liferay.com";
                            }
                          }
                        • 26
                          if (!(isSet(creatorPassword))) {
                          • 27
                            var creatorPassword = "test";
                          }
                        • 30
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                        • 34
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 36
                          return "${companyId}";
                      • 215
                        var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                        • 85
                          if (isSet(parentGroupName)) {
                          • 86
                            var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                            • 253
                              Variables.assertDefined(parameterList = "${groupName}");
                              • 5
                                if (!(isSet(parameterList))) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                • 17
                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 255
                              var companyId = JSONCompany.getCompanyId();
                              • 4
                                if (!(isSet(portalInstanceName))) {
                                • 5
                                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                                  • 50
                                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                  • 51
                                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                                  • 53
                                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                    • 54
                                      var portalURL = JSONCompany.getPortalURL();
                                      • 66
                                        var portalURL = PropsUtil.get("portal.url");
                                      • 68
                                        return "${portalURL}";
                                    • 56
                                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                      • 72
                                        Variables.assertDefined(parameterList = "${portalURL}");
                                        • 5
                                          if (!(isSet(parameterList))) {
                                          • 6
                                            fail("Please define a parameter list in 'parameterList'");
                                          }
                                        • 9
                                          for (var parameter : list "${parameterList}") {
                                          • 13
                                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                          • 17
                                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                            • 18
                                              fail("Please set '${parameter}'");
                                            }
                                          }
                                      • 74
                                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                      • 75
                                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                      • 77
                                        return "${portalInstanceName}";
                                    • 58
                                      return "${portalInstanceName}";
                                    }
                                  • 60
                                    else {
                                    • 61
                                      return "localhost";
                                    }
                                }
                              • 8
                                if (!(isSet(portalURL))) {
                                • 9
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 66
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 68
                                    return "${portalURL}";
                                }
                              • 12
                                if (!(isSet(creatorEmailAddress))) {
                                • 13
                                  if ("${authenticationMethod}" == "By Screen Name") {
                                  • 14
                                    if (!(isSet(userScreenName))) {
                                    • 15
                                      var creatorEmailAddress = "test";
                                    }
                                  • 17
                                    else {
                                    • 18
                                      var creatorEmailAddress = "${userScreenName}";
                                    }
                                  }
                                • 21
                                  else {
                                  • 22
                                    var creatorEmailAddress = "test@liferay.com";
                                  }
                                }
                              • 26
                                if (!(isSet(creatorPassword))) {
                                • 27
                                  var creatorPassword = "test";
                                }
                              • 30
                                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                              • 34
                                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                              • 36
                                return "${companyId}";
                            • 257
                              var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                              • 15
                                if (isSet(grandParentGroupName)) {
                                • 16
                                  if (!(isSet(site))) {
                                  • 17
                                    var site = "true";
                                  }
                                • 20
                                  var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                                  • 154
                                    Variables.assertDefined(parameterList = "${groupName}");
                                    • 5
                                      if (!(isSet(parameterList))) {
                                      • 6
                                        fail("Please define a parameter list in 'parameterList'");
                                      }
                                    • 9
                                      for (var parameter : list "${parameterList}") {
                                      • 13
                                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                      • 17
                                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                        • 18
                                          fail("Please set '${parameter}'");
                                        }
                                      }
                                  • 156
                                    var companyId = JSONCompany.getCompanyId();
                                    • 4
                                      if (!(isSet(portalInstanceName))) {
                                      • 5
                                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                                        • 50
                                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                        • 51
                                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                                        • 53
                                          if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                          • 54
                                            var portalURL = JSONCompany.getPortalURL();
                                            • 66
                                              var portalURL = PropsUtil.get("portal.url");
                                            • 68
                                              return "${portalURL}";
                                          • 56
                                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                            • 72
                                              Variables.assertDefined(parameterList = "${portalURL}");
                                              • 5
                                                if (!(isSet(parameterList))) {
                                                • 6
                                                  fail("Please define a parameter list in 'parameterList'");
                                                }
                                              • 9
                                                for (var parameter : list "${parameterList}") {
                                                • 13
                                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                                • 17
                                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                                  • 18
                                                    fail("Please set '${parameter}'");
                                                  }
                                                }
                                            • 74
                                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                            • 75
                                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                            • 77
                                              return "${portalInstanceName}";
                                          • 58
                                            return "${portalInstanceName}";
                                          }
                                        • 60
                                          else {
                                          • 61
                                            return "localhost";
                                          }
                                      }
                                    • 8
                                      if (!(isSet(portalURL))) {
                                      • 9
                                        var portalURL = JSONCompany.getPortalURL();
                                        • 66
                                          var portalURL = PropsUtil.get("portal.url");
                                        • 68
                                          return "${portalURL}";
                                      }
                                    • 12
                                      if (!(isSet(creatorEmailAddress))) {
                                      • 13
                                        if ("${authenticationMethod}" == "By Screen Name") {
                                        • 14
                                          if (!(isSet(userScreenName))) {
                                          • 15
                                            var creatorEmailAddress = "test";
                                          }
                                        • 17
                                          else {
                                          • 18
                                            var creatorEmailAddress = "${userScreenName}";
                                          }
                                        }
                                      • 21
                                        else {
                                        • 22
                                          var creatorEmailAddress = "test@liferay.com";
                                        }
                                      }
                                    • 26
                                      if (!(isSet(creatorPassword))) {
                                      • 27
                                        var creatorPassword = "test";
                                      }
                                    • 30
                                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                                    • 34
                                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                                    • 36
                                      return "${companyId}";
                                  • 158
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 160
                                    if (!(isSet(site))) {
                                    • 161
                                      var site = "true";
                                    }
                                  • 164
                                    var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                                  • 171
                                    var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                                  • 173
                                    if ("${groupId}" == "") {
                                    • 174
                                      fail("FAIL. Cannot find group.");
                                    }
                                  • 177
                                    return "${groupId}";
                                }
                              • 24
                                else {
                                • 25
                                  var grandParentGroupId = "0";
                                }
                              • 28
                                return "${grandParentGroupId}";
                            • 259
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 261
                              var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                            • 265
                              var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                            • 267
                              if ("${groupId}" == "") {
                              • 268
                                fail("FAIL. Cannot find group.");
                              }
                            • 271
                              return "${groupId}";
                          }
                        • 90
                          else {
                          • 91
                            var parentGroupId = "0";
                          }
                        • 94
                          return "${parentGroupId}";
                      • 219
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
                      • 223
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 225
                        if ("${groupId}" == "") {
                        • 226
                          fail("FAIL. Cannot find group.");
                        }
                      • 229
                        echo("## * GroupId: ${groupId}");
                      • 231
                        return "${groupId}";
                    • 55
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "scopeGroupId", value = "${groupId}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 60
                      return "${json}";
                  }
                • 155
                  if (isSet(workflowAction)) {
                  • 156
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( json = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 95
                      Variables.assertDefined(parameterList = "${json},${workflowAction}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 97
                      if ("${workflowAction}" == "DRAFT") {
                      • 98
                        var workflowActionNumber = "2";
                      }
                    • 100
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 101
                        var workflowActionNumber = "1";
                      }
                    • 103
                      else {
                      • 104
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 107
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "workflowAction", value = "${workflowActionNumber}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 112
                      return "${json}";
                  }
                • 161
                  return "${serviceContext}";
              }
            • 80
              return "${serviceContext}";
          • 63
            var type = JSONLayoutSetter.setType(type = "${type}");
            • 93
              if (!(isSet(type))) {
              • 94
                var type = "portlet";
              }
            • 97
              return "${type}";
          • 65
            var plid = JSONLayoutAPI._addLayout( friendlyURL = "${friendlyURL}", groupId = "${groupId}", layoutName = "${layoutName}", parentLayoutId = "${parentLayoutId}", privateLayout = "false", serviceContext = "${serviceContext}", type = "${type}");
            • 5
              Variables.assertDefined(parameterList = "${friendlyURL},${groupId},${privateLayout},${parentLayoutId},${layoutName},${serviceContext}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 9
              var curl = ''' ${portalURL}/api/jsonws/layout/add-layout \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d parentLayoutId=${parentLayoutId} \ -d name=${layoutName} \ -d title= \ -d description= \ -d type=${type} \ -d hidden=false \ -d friendlyURL=${friendlyURL} \ -d serviceContext=${serviceContext} ''';
            • 23
              var plid = JSONCurlUtil.post("${curl}", "$['plid']");
            • 25
              return "${plid}";
          • 74
            return "${plid}";
        • 206
          ContentPagesNavigator.openEditContentPage( pageName = "Test Public Content Page", siteName = "Minium");
          • 19
            if (!(isSet(siteURLKey))) {
            • 20
              var siteURLKey = ContentPagesNavigator._convertNameToKey(name = "${siteName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 6
                var key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 23
            if (!(isSet(pageFriendlyURL))) {
            • 24
              var pageFriendlyURL = ContentPagesNavigator._convertNameToKey(name = "${pageName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 6
                var key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 27
            if ("${privateLayout}" == "true") {
            • 28
              var type = "group";
            }
          • 30
            else {
            • 31
              var type = "web";
            }
          • 34
            Navigator.openWithAppendToBaseURL(urlAppend = "${type}/${siteURLKey}/${pageFriendlyURL}?p_l_mode=edit");
            • 358
              if (!(isSet(baseURL))) {
              • 359
                var baseURL = PropsUtil.get("portal.url");
              }
            • 362
              Open(locator1 = "${baseURL}/${urlAppend}");
          • 36
            PageEditor.assertFragmentSidebarLoaded();
            • 908
              WaitForPageLoad();
            • 910
              AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
        • 210
          PageEditor.addWidget(portletName = "Product Details");
          • 813
            PageEditor.assertFragmentSidebarLoaded();
            • 908
              WaitForPageLoad();
            • 910
              AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
          • 815
            PageEditor.gotoTab(tabName = "Fragments and Widgets");
            • 3126
              if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
              • 3127
                Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 3131
              else if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 3132
                Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 3136
              else {
              • 3137
                WaitForVisible(locator1 = "Sidebar#PANEL_OPEN");
              • 3139
                if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
                • 3140
                  Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
                }
              }
          • 817
            Navigator.gotoNavTab(navTab = "Widgets");
            • 102
              var key_tab = "${navTab}";
            • 104
              if (IsElementNotPresent(locator1 = "NavTab#ACTIVE_TAB_LINK")) {
              • 105
                AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
              }
            • 110
              AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 112
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 819
            Type.sendKeysApplicationSearch( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_SEARCH_FIELD", value1 = "${portletName}");
          • 823
            if (!(isSet(indexItem))) {
            • 824
              var indexItem = "1";
            }
          • 827
            var key_portletName = "${portletName}";
          • 828
            var key_indexItem = "${indexItem}";
          • 830
            if (isSet(scope) && ("${dropTarget}" == "Header")) {
            • 831
              DragAndDrop.javaScriptDragAndDropToUp( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
            }
          • 837
            if (isSet(scope) && ("${dropTarget}" == "Footer")) {
            • 838
              DragAndDrop.javaScriptDragAndDropToBottom( key_targetFragmentName = "Drop Zone", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 845
            if (isSet(targetFragmentName) && isSet(collectionName)) {
            • 846
              DragAndDrop.javaScriptDragAndDropToBottom( key_collectionName = "${collectionName}", key_fragmentName = "${portletName}", key_targetFragmentName = "${targetFragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 855
            if (isSet(targetFragmentName) && !(isSet(collectionName))) {
            • 856
              DragAndDrop.javaScriptDragAndDropToBottom( key_targetFragmentName = "${targetFragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "${portletName}");
            }
          • 862
            else {
            • 863
              DragAndDrop.javaScriptDragAndDropToObject( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "${portletName}");
            }
          • 869
            PageEditor.waitForAutoSave();
            • 4346
              WaitForVisible(locator1 = "PageEditor#AUTOSAVE_MESSAGE");
          • 871
            PageEditor.viewFragment( fragmentName = "${portletName}", position = "${position}");
            • 3878
              if (!(isSet(position))) {
              • 3879
                var position = "1";
              }
            • 3882
              AssertElementPresent( key_fragmentName = "${fragmentName}", key_index = "${position}", locator1 = "Fragment#FRAGMENT_HEADER_ANY");
          • 875
            Click(locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_SEARCH_CLEAR_BUTTON");
        • 212
          PageEditor.clickPublish();
          • 1059
            Button.click(button = "Publish");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 1061
            Alert.viewSuccessMessage();
            • 118
              VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
        }
      • 215
        task ("And given the Minium site has a public widget page with a Product Details widget") {
        • 216
          JSONLayout.addPublicLayout( groupName = "Minium", layoutName = "Test Public Widget Page");
          • 42
            Variables.assertDefined(parameterList = "${groupName},${layoutName}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 44
            var friendlyURL = JSONLayoutSetter.setFriendlyURL(friendlyURL = "${friendlyURL}");
            • 12
              if (!(isSet(friendlyURL))) {
              • 13
                var friendlyURL = "";
              }
            • 16
              return "${friendlyURL}";
          • 46
            var groupId = JSONLayoutSetter.setGroupId( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", site = "${site}");
            • 20
              if (!(isSet(site))) {
              • 21
                var site = "true";
              }
            • 24
              var groupId = JSONGroupAPI._getGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", portalURL = "${portalURL}", site = "${site}");
              • 207
                Variables.assertDefined(parameterList = "${groupName},${site}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 209
                if (!(isSet(portalURL))) {
                • 210
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 213
                var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 215
                var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                • 85
                  if (isSet(parentGroupName)) {
                  • 86
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                    • 253
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 255
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        if (!(isSet(portalInstanceName))) {
                        • 5
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 50
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 51
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 53
                            if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                            • 54
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 56
                              var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                              • 72
                                Variables.assertDefined(parameterList = "${portalURL}");
                                • 5
                                  if (!(isSet(parameterList))) {
                                  • 6
                                    fail("Please define a parameter list in 'parameterList'");
                                  }
                                • 9
                                  for (var parameter : list "${parameterList}") {
                                  • 13
                                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                  • 17
                                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                    • 18
                                      fail("Please set '${parameter}'");
                                    }
                                  }
                              • 74
                                var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                              • 75
                                var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                              • 77
                                return "${portalInstanceName}";
                            • 58
                              return "${portalInstanceName}";
                            }
                          • 60
                            else {
                            • 61
                              return "localhost";
                            }
                        }
                      • 8
                        if (!(isSet(portalURL))) {
                        • 9
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 12
                        if (!(isSet(creatorEmailAddress))) {
                        • 13
                          if ("${authenticationMethod}" == "By Screen Name") {
                          • 14
                            if (!(isSet(userScreenName))) {
                            • 15
                              var creatorEmailAddress = "test";
                            }
                          • 17
                            else {
                            • 18
                              var creatorEmailAddress = "${userScreenName}";
                            }
                          }
                        • 21
                          else {
                          • 22
                            var creatorEmailAddress = "test@liferay.com";
                          }
                        }
                      • 26
                        if (!(isSet(creatorPassword))) {
                        • 27
                          var creatorPassword = "test";
                        }
                      • 30
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                      • 34
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 36
                        return "${companyId}";
                    • 257
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 15
                        if (isSet(grandParentGroupName)) {
                        • 16
                          if (!(isSet(site))) {
                          • 17
                            var site = "true";
                          }
                        • 20
                          var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                          • 154
                            Variables.assertDefined(parameterList = "${groupName}");
                            • 5
                              if (!(isSet(parameterList))) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                              • 17
                                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 156
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              if (!(isSet(portalInstanceName))) {
                              • 5
                                var portalInstanceName = JSONCompany.getPortalInstanceName();
                                • 50
                                  var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                • 51
                                  var testPortalInstance = PropsUtil.get("test.portal.instance");
                                • 53
                                  if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                  • 54
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 56
                                    var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                    • 72
                                      Variables.assertDefined(parameterList = "${portalURL}");
                                      • 5
                                        if (!(isSet(parameterList))) {
                                        • 6
                                          fail("Please define a parameter list in 'parameterList'");
                                        }
                                      • 9
                                        for (var parameter : list "${parameterList}") {
                                        • 13
                                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                        • 17
                                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                          • 18
                                            fail("Please set '${parameter}'");
                                          }
                                        }
                                    • 74
                                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                    • 75
                                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                    • 77
                                      return "${portalInstanceName}";
                                  • 58
                                    return "${portalInstanceName}";
                                  }
                                • 60
                                  else {
                                  • 61
                                    return "localhost";
                                  }
                              }
                            • 8
                              if (!(isSet(portalURL))) {
                              • 9
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              }
                            • 12
                              if (!(isSet(creatorEmailAddress))) {
                              • 13
                                if ("${authenticationMethod}" == "By Screen Name") {
                                • 14
                                  if (!(isSet(userScreenName))) {
                                  • 15
                                    var creatorEmailAddress = "test";
                                  }
                                • 17
                                  else {
                                  • 18
                                    var creatorEmailAddress = "${userScreenName}";
                                  }
                                }
                              • 21
                                else {
                                • 22
                                  var creatorEmailAddress = "test@liferay.com";
                                }
                              }
                            • 26
                              if (!(isSet(creatorPassword))) {
                              • 27
                                var creatorPassword = "test";
                              }
                            • 30
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                            • 34
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 36
                              return "${companyId}";
                          • 158
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          • 160
                            if (!(isSet(site))) {
                            • 161
                              var site = "true";
                            }
                          • 164
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                          • 171
                            var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 173
                            if ("${groupId}" == "") {
                            • 174
                              fail("FAIL. Cannot find group.");
                            }
                          • 177
                            return "${groupId}";
                        }
                      • 24
                        else {
                        • 25
                          var grandParentGroupId = "0";
                        }
                      • 28
                        return "${grandParentGroupId}";
                    • 259
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 261
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 265
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 267
                      if ("${groupId}" == "") {
                      • 268
                        fail("FAIL. Cannot find group.");
                      }
                    • 271
                      return "${groupId}";
                  }
                • 90
                  else {
                  • 91
                    var parentGroupId = "0";
                  }
                • 94
                  return "${parentGroupId}";
              • 219
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 223
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 225
                if ("${groupId}" == "") {
                • 226
                  fail("FAIL. Cannot find group.");
                }
              • 229
                echo("## * GroupId: ${groupId}");
              • 231
                return "${groupId}";
            • 31
              return "${groupId}";
          • 52
            var parentLayoutId = JSONLayoutSetter.setParentLayoutId( groupId = "${groupId}", parentLayoutName = "${parentLayoutName}", privateLayout = "false");
            • 46
              var privateLayout = JSONLayoutSetter.setPrivateLayout(privateLayout = "${privateLayout}");
              • 64
                if (!(isSet(privateLayout))) {
                • 65
                  var privateLayout = "false";
                }
              • 68
                return "${privateLayout}";
            • 48
              if (isSet(parentLayoutName)) {
              • 49
                Variables.assertDefined(parameterList = "${groupId},${parentLayoutName}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 51
                var parentLayoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${parentLayoutName}", privateLayout = "${privateLayout}");
                • 70
                  Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 72
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                • 74
                  var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
                • 80
                  var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
                • 82
                  if ("${layoutId}" == "") {
                  • 83
                    fail("FAIL. Cannot find layout.");
                  }
                • 86
                  return "${layoutId}";
              }
            • 56
              else {
              • 57
                var parentLayoutId = "0";
              }
            • 60
              return "${parentLayoutId}";
          • 57
            var serviceContext = JSONLayoutSetter.setServiceContext( assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
            • 72
              if (!(isSet(serviceContext))) {
              • 73
                var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
                • 116
                  var serviceContext = "{}";
                • 118
                  if (isSet(assetCategoryIds)) {
                  • 119
                    var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", json = "${serviceContext}");
                    • 4
                      Variables.assertDefined(parameterList = "${json},${assetCategoryIds}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 6
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetCategoryIds");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 10
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetCategoryIds", values = "${assetCategoryIds}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 15
                      return "${json}";
                  }
                • 124
                  if (isSet(assetTagNames)) {
                  • 125
                    var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", json = "${serviceContext}");
                    • 19
                      Variables.assertDefined(parameterList = "${json},${assetTagNames}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 21
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetTagNames");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 25
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetTagNames", values = "${assetTagNames}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 30
                      return "${json}";
                  }
                • 130
                  if (isSet(addGroupPermissions)) {
                  • 131
                    var serviceContext = JSONServiceContextUtil._addGroupPermissions( addGroupPermissions = "${addGroupPermissions}", json = "${serviceContext}");
                    • 64
                      Variables.assertDefined(parameterList = "${json},${addGroupPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 66
                      if (!(("${addGroupPermissions}" == "true") || ("${addGroupPermissions}" == "false"))) {
                      • 67
                        fail("Invalid addGroupPermissions: '${addGroupPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 70
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGroupPermissions", value = "${addGroupPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 75
                      return "${json}";
                  }
                • 136
                  if (isSet(addGuestPermissions)) {
                  • 137
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", json = "${serviceContext}");
                    • 79
                      Variables.assertDefined(parameterList = "${json},${addGuestPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 81
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 82
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 85
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGuestPermissions", value = "${addGuestPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 90
                      return "${json}";
                  }
                • 142
                  if (isSet(attributes)) {
                  • 143
                    var serviceContext = JSONServiceContextUtil._addAttributes( attributes = "${attributes}", json = "${serviceContext}");
                    • 34
                      Variables.assertDefined(parameterList = "${json},${attributes}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 36
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "attributes", value = "${attributes}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 41
                      return "${json}";
                  }
                • 148
                  if (isSet(groupName)) {
                  • 149
                    var serviceContext = JSONServiceContextUtil._addGroupId( groupName = "${groupName}", json = "${serviceContext}", site = "${site}");
                    • 45
                      Variables.assertDefined(parameterList = "${groupName},${json}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 47
                      if (!(isSet(site))) {
                      • 48
                        var site = "true";
                      }
                    • 51
                      var groupId = JSONGroupAPI._getGroupIdByName( groupName = "${groupName}", site = "${site}");
                      • 207
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 209
                        if (!(isSet(portalURL))) {
                        • 210
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 213
                        var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                        • 4
                          if (!(isSet(portalInstanceName))) {
                          • 5
                            var portalInstanceName = JSONCompany.getPortalInstanceName();
                            • 50
                              var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                            • 51
                              var testPortalInstance = PropsUtil.get("test.portal.instance");
                            • 53
                              if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                              • 54
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              • 56
                                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                • 72
                                  Variables.assertDefined(parameterList = "${portalURL}");
                                  • 5
                                    if (!(isSet(parameterList))) {
                                    • 6
                                      fail("Please define a parameter list in 'parameterList'");
                                    }
                                  • 9
                                    for (var parameter : list "${parameterList}") {
                                    • 13
                                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                    • 17
                                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                      • 18
                                        fail("Please set '${parameter}'");
                                      }
                                    }
                                • 74
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 75
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 77
                                  return "${portalInstanceName}";
                              • 58
                                return "${portalInstanceName}";
                              }
                            • 60
                              else {
                              • 61
                                return "localhost";
                              }
                          }
                        • 8
                          if (!(isSet(portalURL))) {
                          • 9
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          }
                        • 12
                          if (!(isSet(creatorEmailAddress))) {
                          • 13
                            if ("${authenticationMethod}" == "By Screen Name") {
                            • 14
                              if (!(isSet(userScreenName))) {
                              • 15
                                var creatorEmailAddress = "test";
                              }
                            • 17
                              else {
                              • 18
                                var creatorEmailAddress = "${userScreenName}";
                              }
                            }
                          • 21
                            else {
                            • 22
                              var creatorEmailAddress = "test@liferay.com";
                            }
                          }
                        • 26
                          if (!(isSet(creatorPassword))) {
                          • 27
                            var creatorPassword = "test";
                          }
                        • 30
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                        • 34
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 36
                          return "${companyId}";
                      • 215
                        var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                        • 85
                          if (isSet(parentGroupName)) {
                          • 86
                            var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                            • 253
                              Variables.assertDefined(parameterList = "${groupName}");
                              • 5
                                if (!(isSet(parameterList))) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                • 17
                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 255
                              var companyId = JSONCompany.getCompanyId();
                              • 4
                                if (!(isSet(portalInstanceName))) {
                                • 5
                                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                                  • 50
                                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                  • 51
                                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                                  • 53
                                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                    • 54
                                      var portalURL = JSONCompany.getPortalURL();
                                      • 66
                                        var portalURL = PropsUtil.get("portal.url");
                                      • 68
                                        return "${portalURL}";
                                    • 56
                                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                      • 72
                                        Variables.assertDefined(parameterList = "${portalURL}");
                                        • 5
                                          if (!(isSet(parameterList))) {
                                          • 6
                                            fail("Please define a parameter list in 'parameterList'");
                                          }
                                        • 9
                                          for (var parameter : list "${parameterList}") {
                                          • 13
                                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                          • 17
                                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                            • 18
                                              fail("Please set '${parameter}'");
                                            }
                                          }
                                      • 74
                                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                      • 75
                                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                      • 77
                                        return "${portalInstanceName}";
                                    • 58
                                      return "${portalInstanceName}";
                                    }
                                  • 60
                                    else {
                                    • 61
                                      return "localhost";
                                    }
                                }
                              • 8
                                if (!(isSet(portalURL))) {
                                • 9
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 66
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 68
                                    return "${portalURL}";
                                }
                              • 12
                                if (!(isSet(creatorEmailAddress))) {
                                • 13
                                  if ("${authenticationMethod}" == "By Screen Name") {
                                  • 14
                                    if (!(isSet(userScreenName))) {
                                    • 15
                                      var creatorEmailAddress = "test";
                                    }
                                  • 17
                                    else {
                                    • 18
                                      var creatorEmailAddress = "${userScreenName}";
                                    }
                                  }
                                • 21
                                  else {
                                  • 22
                                    var creatorEmailAddress = "test@liferay.com";
                                  }
                                }
                              • 26
                                if (!(isSet(creatorPassword))) {
                                • 27
                                  var creatorPassword = "test";
                                }
                              • 30
                                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                              • 34
                                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                              • 36
                                return "${companyId}";
                            • 257
                              var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                              • 15
                                if (isSet(grandParentGroupName)) {
                                • 16
                                  if (!(isSet(site))) {
                                  • 17
                                    var site = "true";
                                  }
                                • 20
                                  var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                                  • 154
                                    Variables.assertDefined(parameterList = "${groupName}");
                                    • 5
                                      if (!(isSet(parameterList))) {
                                      • 6
                                        fail("Please define a parameter list in 'parameterList'");
                                      }
                                    • 9
                                      for (var parameter : list "${parameterList}") {
                                      • 13
                                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                      • 17
                                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                        • 18
                                          fail("Please set '${parameter}'");
                                        }
                                      }
                                  • 156
                                    var companyId = JSONCompany.getCompanyId();
                                    • 4
                                      if (!(isSet(portalInstanceName))) {
                                      • 5
                                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                                        • 50
                                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                        • 51
                                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                                        • 53
                                          if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                          • 54
                                            var portalURL = JSONCompany.getPortalURL();
                                            • 66
                                              var portalURL = PropsUtil.get("portal.url");
                                            • 68
                                              return "${portalURL}";
                                          • 56
                                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                            • 72
                                              Variables.assertDefined(parameterList = "${portalURL}");
                                              • 5
                                                if (!(isSet(parameterList))) {
                                                • 6
                                                  fail("Please define a parameter list in 'parameterList'");
                                                }
                                              • 9
                                                for (var parameter : list "${parameterList}") {
                                                • 13
                                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                                • 17
                                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                                  • 18
                                                    fail("Please set '${parameter}'");
                                                  }
                                                }
                                            • 74
                                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                            • 75
                                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                            • 77
                                              return "${portalInstanceName}";
                                          • 58
                                            return "${portalInstanceName}";
                                          }
                                        • 60
                                          else {
                                          • 61
                                            return "localhost";
                                          }
                                      }
                                    • 8
                                      if (!(isSet(portalURL))) {
                                      • 9
                                        var portalURL = JSONCompany.getPortalURL();
                                        • 66
                                          var portalURL = PropsUtil.get("portal.url");
                                        • 68
                                          return "${portalURL}";
                                      }
                                    • 12
                                      if (!(isSet(creatorEmailAddress))) {
                                      • 13
                                        if ("${authenticationMethod}" == "By Screen Name") {
                                        • 14
                                          if (!(isSet(userScreenName))) {
                                          • 15
                                            var creatorEmailAddress = "test";
                                          }
                                        • 17
                                          else {
                                          • 18
                                            var creatorEmailAddress = "${userScreenName}";
                                          }
                                        }
                                      • 21
                                        else {
                                        • 22
                                          var creatorEmailAddress = "test@liferay.com";
                                        }
                                      }
                                    • 26
                                      if (!(isSet(creatorPassword))) {
                                      • 27
                                        var creatorPassword = "test";
                                      }
                                    • 30
                                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                                    • 34
                                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                                    • 36
                                      return "${companyId}";
                                  • 158
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 160
                                    if (!(isSet(site))) {
                                    • 161
                                      var site = "true";
                                    }
                                  • 164
                                    var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                                  • 171
                                    var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                                  • 173
                                    if ("${groupId}" == "") {
                                    • 174
                                      fail("FAIL. Cannot find group.");
                                    }
                                  • 177
                                    return "${groupId}";
                                }
                              • 24
                                else {
                                • 25
                                  var grandParentGroupId = "0";
                                }
                              • 28
                                return "${grandParentGroupId}";
                            • 259
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 261
                              var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                            • 265
                              var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                            • 267
                              if ("${groupId}" == "") {
                              • 268
                                fail("FAIL. Cannot find group.");
                              }
                            • 271
                              return "${groupId}";
                          }
                        • 90
                          else {
                          • 91
                            var parentGroupId = "0";
                          }
                        • 94
                          return "${parentGroupId}";
                      • 219
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
                      • 223
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 225
                        if ("${groupId}" == "") {
                        • 226
                          fail("FAIL. Cannot find group.");
                        }
                      • 229
                        echo("## * GroupId: ${groupId}");
                      • 231
                        return "${groupId}";
                    • 55
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "scopeGroupId", value = "${groupId}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 60
                      return "${json}";
                  }
                • 155
                  if (isSet(workflowAction)) {
                  • 156
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( json = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 95
                      Variables.assertDefined(parameterList = "${json},${workflowAction}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 97
                      if ("${workflowAction}" == "DRAFT") {
                      • 98
                        var workflowActionNumber = "2";
                      }
                    • 100
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 101
                        var workflowActionNumber = "1";
                      }
                    • 103
                      else {
                      • 104
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 107
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "workflowAction", value = "${workflowActionNumber}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 112
                      return "${json}";
                  }
                • 161
                  return "${serviceContext}";
              }
            • 80
              return "${serviceContext}";
          • 63
            var type = JSONLayoutSetter.setType(type = "${type}");
            • 93
              if (!(isSet(type))) {
              • 94
                var type = "portlet";
              }
            • 97
              return "${type}";
          • 65
            var plid = JSONLayoutAPI._addLayout( friendlyURL = "${friendlyURL}", groupId = "${groupId}", layoutName = "${layoutName}", parentLayoutId = "${parentLayoutId}", privateLayout = "false", serviceContext = "${serviceContext}", type = "${type}");
            • 5
              Variables.assertDefined(parameterList = "${friendlyURL},${groupId},${privateLayout},${parentLayoutId},${layoutName},${serviceContext}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 9
              var curl = ''' ${portalURL}/api/jsonws/layout/add-layout \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d parentLayoutId=${parentLayoutId} \ -d name=${layoutName} \ -d title= \ -d description= \ -d type=${type} \ -d hidden=false \ -d friendlyURL=${friendlyURL} \ -d serviceContext=${serviceContext} ''';
            • 23
              var plid = JSONCurlUtil.post("${curl}", "$['plid']");
            • 25
              return "${plid}";
          • 74
            return "${plid}";
        • 220
          JSONLayout.addWidgetToPublicLayout( groupName = "Minium", layoutName = "Test Public Widget Page", widgetName = "Product Details");
          • 107
            Variables.assertDefined(parameterList = "${groupName},${layoutName},${widgetName}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 109
            if (!(isSet(site))) {
            • 110
              var site = "true";
            }
          • 113
            var groupId = JSONLayoutSetter.setGroupId( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", site = "${site}");
            • 20
              if (!(isSet(site))) {
              • 21
                var site = "true";
              }
            • 24
              var groupId = JSONGroupAPI._getGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", portalURL = "${portalURL}", site = "${site}");
              • 207
                Variables.assertDefined(parameterList = "${groupName},${site}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 209
                if (!(isSet(portalURL))) {
                • 210
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 213
                var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 215
                var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                • 85
                  if (isSet(parentGroupName)) {
                  • 86
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                    • 253
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 255
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        if (!(isSet(portalInstanceName))) {
                        • 5
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 50
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 51
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 53
                            if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                            • 54
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 56
                              var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                              • 72
                                Variables.assertDefined(parameterList = "${portalURL}");
                                • 5
                                  if (!(isSet(parameterList))) {
                                  • 6
                                    fail("Please define a parameter list in 'parameterList'");
                                  }
                                • 9
                                  for (var parameter : list "${parameterList}") {
                                  • 13
                                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                  • 17
                                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                    • 18
                                      fail("Please set '${parameter}'");
                                    }
                                  }
                              • 74
                                var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                              • 75
                                var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                              • 77
                                return "${portalInstanceName}";
                            • 58
                              return "${portalInstanceName}";
                            }
                          • 60
                            else {
                            • 61
                              return "localhost";
                            }
                        }
                      • 8
                        if (!(isSet(portalURL))) {
                        • 9
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 12
                        if (!(isSet(creatorEmailAddress))) {
                        • 13
                          if ("${authenticationMethod}" == "By Screen Name") {
                          • 14
                            if (!(isSet(userScreenName))) {
                            • 15
                              var creatorEmailAddress = "test";
                            }
                          • 17
                            else {
                            • 18
                              var creatorEmailAddress = "${userScreenName}";
                            }
                          }
                        • 21
                          else {
                          • 22
                            var creatorEmailAddress = "test@liferay.com";
                          }
                        }
                      • 26
                        if (!(isSet(creatorPassword))) {
                        • 27
                          var creatorPassword = "test";
                        }
                      • 30
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                      • 34
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 36
                        return "${companyId}";
                    • 257
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 15
                        if (isSet(grandParentGroupName)) {
                        • 16
                          if (!(isSet(site))) {
                          • 17
                            var site = "true";
                          }
                        • 20
                          var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                          • 154
                            Variables.assertDefined(parameterList = "${groupName}");
                            • 5
                              if (!(isSet(parameterList))) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                              • 17
                                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 156
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              if (!(isSet(portalInstanceName))) {
                              • 5
                                var portalInstanceName = JSONCompany.getPortalInstanceName();
                                • 50
                                  var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                • 51
                                  var testPortalInstance = PropsUtil.get("test.portal.instance");
                                • 53
                                  if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                  • 54
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 56
                                    var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                    • 72
                                      Variables.assertDefined(parameterList = "${portalURL}");
                                      • 5
                                        if (!(isSet(parameterList))) {
                                        • 6
                                          fail("Please define a parameter list in 'parameterList'");
                                        }
                                      • 9
                                        for (var parameter : list "${parameterList}") {
                                        • 13
                                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                        • 17
                                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                          • 18
                                            fail("Please set '${parameter}'");
                                          }
                                        }
                                    • 74
                                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                    • 75
                                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                    • 77
                                      return "${portalInstanceName}";
                                  • 58
                                    return "${portalInstanceName}";
                                  }
                                • 60
                                  else {
                                  • 61
                                    return "localhost";
                                  }
                              }
                            • 8
                              if (!(isSet(portalURL))) {
                              • 9
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              }
                            • 12
                              if (!(isSet(creatorEmailAddress))) {
                              • 13
                                if ("${authenticationMethod}" == "By Screen Name") {
                                • 14
                                  if (!(isSet(userScreenName))) {
                                  • 15
                                    var creatorEmailAddress = "test";
                                  }
                                • 17
                                  else {
                                  • 18
                                    var creatorEmailAddress = "${userScreenName}";
                                  }
                                }
                              • 21
                                else {
                                • 22
                                  var creatorEmailAddress = "test@liferay.com";
                                }
                              }
                            • 26
                              if (!(isSet(creatorPassword))) {
                              • 27
                                var creatorPassword = "test";
                              }
                            • 30
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                            • 34
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 36
                              return "${companyId}";
                          • 158
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          • 160
                            if (!(isSet(site))) {
                            • 161
                              var site = "true";
                            }
                          • 164
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                          • 171
                            var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 173
                            if ("${groupId}" == "") {
                            • 174
                              fail("FAIL. Cannot find group.");
                            }
                          • 177
                            return "${groupId}";
                        }
                      • 24
                        else {
                        • 25
                          var grandParentGroupId = "0";
                        }
                      • 28
                        return "${grandParentGroupId}";
                    • 259
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 261
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 265
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 267
                      if ("${groupId}" == "") {
                      • 268
                        fail("FAIL. Cannot find group.");
                      }
                    • 271
                      return "${groupId}";
                  }
                • 90
                  else {
                  • 91
                    var parentGroupId = "0";
                  }
                • 94
                  return "${parentGroupId}";
              • 219
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 223
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 225
                if ("${groupId}" == "") {
                • 226
                  fail("FAIL. Cannot find group.");
                }
              • 229
                echo("## * GroupId: ${groupId}");
              • 231
                return "${groupId}";
            • 31
              return "${groupId}";
          • 119
            var layoutId = JSONLayoutSetter.setLayoutId( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "false");
            • 35
              Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 37
              var layoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "${privateLayout}");
              • 70
                Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 72
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              • 74
                var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
              • 80
                var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
              • 82
                if ("${layoutId}" == "") {
                • 83
                  fail("FAIL. Cannot find layout.");
                }
              • 86
                return "${layoutId}";
            • 42
              return "${layoutId}";
          • 124
            var typeSettings = JSONLayoutSetter.setTypeSettings( column = "${column}", groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "false", remoteAppEntryId = "${remoteAppEntryId}", widgetName = "${widgetName}");
            • 101
              Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 103
              var typeSettings = JSONLayoutAPI._getTypeSettingsByName( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "${privateLayout}");
              • 114
                Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 116
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              • 118
                var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
              • 124
                var typeSettings = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['typeSettings']");
              • 126
                if ("${typeSettings}" == "") {
                • 127
                  fail("FAIL. Cannot find layout.");
                }
              • 130
                return "${typeSettings}";
            • 108
              if (isSet(layoutTemplate)) {
              • 109
                var typeSettings = JSONLayoutUtil._updateLayoutTemplateId( layoutTemplate = "${layoutTemplate}", typeSettings = "${typeSettings}");
                • 287
                  if (!(isSet(layoutTemplate))) {
                  • 288
                    fail("layoutTemplate not set.");
                  }
                • 291
                  if (!(isSet(typeSettings))) {
                  • 292
                    fail("layoutTemplateId not set.");
                  }
                • 295
                  var layoutTemplateId = JSONLayoutUtil._getLayoutTemplateId(layoutTemplate = "${layoutTemplate}");
                  • 233
                    if (!(isSet(layoutTemplate))) {
                    • 234
                      fail("layoutTemplate not set.");
                    }
                  • 237
                    if ("${layoutTemplate}" == "1 Column") {
                    • 238
                      var layoutTemplateId = "1_column";
                    }
                  • 240
                    else if ("${layoutTemplate}" == "2 Columns (50/50)") {
                    • 241
                      var layoutTemplateId = "2_columns_i";
                    }
                  • 243
                    else if ("${layoutTemplate}" == "2 Columns (30/70)") {
                    • 244
                      var layoutTemplateId = "2_columns_ii";
                    }
                  • 246
                    else if ("${layoutTemplate}" == "2 Columns (70/30)") {
                    • 247
                      var layoutTemplateId = "2_columns_iii";
                    }
                  • 249
                    else if ("${layoutTemplate}" == "3 Columns") {
                    • 250
                      var layoutTemplateId = "3_columns";
                    }
                  • 252
                    else if ("${layoutTemplate}" == "1-2 Columns (30/70)") {
                    • 253
                      var layoutTemplateId = "1_2_columns_i";
                    }
                  • 255
                    else if ("${layoutTemplate}" == "1-2 Columns (70/30)") {
                    • 256
                      var layoutTemplateId = "1_2_columns_ii";
                    }
                  • 258
                    else if ("${layoutTemplate}" == "1-2-1 Columns (50/50)") {
                    • 259
                      var layoutTemplateId = "1_2_1_columns_i";
                    }
                  • 261
                    else if ("${layoutTemplate}" == "1-2-1 Columns (70/30)") {
                    • 262
                      var layoutTemplateId = "1_2_1_columns_ii";
                    }
                  • 264
                    else if ("${layoutTemplate}" == "1-3-1 Columns") {
                    • 265
                      var layoutTemplateId = "1_3_1_columns";
                    }
                  • 267
                    else if ("${layoutTemplate}" == "1-3-2 Columns") {
                    • 268
                      var layoutTemplateId = "1_3_2_columns";
                    }
                  • 270
                    else if ("${layoutTemplate}" == "2-1-2 Columns") {
                    • 271
                      var layoutTemplateId = "2_1_2_columns";
                    }
                  • 273
                    else if ("${layoutTemplate}" == "2-2 Columns") {
                    • 274
                      var layoutTemplateId = "2_2_columns";
                    }
                  • 276
                    else if ("${layoutTemplate}" == "3-2-3 Columns") {
                    • 277
                      var layoutTemplateId = "3_2_3_columns";
                    }
                  • 279
                    else {
                    • 280
                      fail("'layoutTemplate' could not find a valid layoutTemplateId");
                    }
                  • 283
                    return "${layoutTemplateId}";
                • 297
                  var typeSettings = StringUtil.regexReplaceFirst("${typeSettings}", "(layout-template-id=).*", "$1${layoutTemplateId}");
                • 299
                  return "${typeSettings}";
              }
            • 114
              if (isSet(widgetName)) {
              • 115
                var typeSettings = JSONLayoutUtil._addWidgetToTypeSettings( column = "${column}", remoteAppEntryId = "${remoteAppEntryId}", typeSettings = "${typeSettings}", widgetName = "${widgetName}");
                • 7
                  if (!(isSet(column))) {
                  • 8
                    var column = "1";
                  }
                • 11
                  Variables.assertDefined(parameterList = "${typeSettings}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 13
                  var widget = JSONLayoutUtil._generateWidget(widgetName = "${widgetName}");
                  • 33
                    Variables.assertDefined(parameterList = "${widgetName}");
                    • 5
                      if (!(isSet(parameterList))) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 35
                    if ("${widgetName}" == "Alerts") {
                    • 36
                      var portletId = "com_liferay_announcements_web_portlet_AlertsPortlet";
                    }
                  • 38
                    else if ("${widgetName}" == "Account Management") {
                    • 39
                      var portletId = "com_liferay_account_admin_web_internal_portlet_AccountEntriesManagementPortlet";
                    }
                  • 41
                    else if ("${widgetName}" == "Announcements") {
                    • 42
                      var portletId = "com_liferay_announcements_web_portlet_AnnouncementsPortlet";
                    }
                  • 44
                    else if ("${widgetName}" == "Asset Publisher") {
                    • 45
                      var portletId = "com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet";
                    }
                  • 47
                    else if ("${widgetName}" == "Blogs") {
                    • 48
                      var portletId = "com_liferay_blogs_web_portlet_BlogsPortlet";
                    }
                  • 50
                    else if ("${widgetName}" == "Blogs Aggregator") {
                    • 51
                      var portletId = "com_liferay_blogs_web_portlet_BlogsAgreggatorPortlet";
                    }
                  • 53
                    else if ("${widgetName}" == "Bookmarks") {
                    • 54
                      var portletId = "com_liferay_bookmarks_web_portlet_BookmarksPortlet";
                    }
                  • 56
                    else if ("${widgetName}" == "Breadcrumb") {
                    • 57
                      var portletId = "com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet";
                    }
                  • 59
                    else if ("${widgetName}" == "Category Filter") {
                    • 60
                      var portletId = "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet";
                    }
                  • 62
                    else if ("${widgetName}" == "Category Content") {
                    • 63
                      var portletId = "com_liferay_commerce_product_content_web_internal_portlet_CPCategoryContentPortlet";
                    }
                  • 65
                    else if ("${widgetName}" == "Clay Sample") {
                    • 66
                      var portletId = "com_liferay_clay_sample_web_portlet_ClaySamplePortlet";
                    }
                  • 68
                    else if ("${widgetName}" == "Commerce Categories Navigation") {
                    • 69
                      var portletId = "com_liferay_commerce_product_asset_categories_navigation_web_internal_portlet_CPAssetCategoriesNavigationPortlet";
                    }
                  • 71
                    else if ("${widgetName}" == "Contacts Center") {
                    • 72
                      var portletId = "com_liferay_contacts_web_portlet_ContactsCenterPortlet";
                    }
                  • 74
                    else if ("${widgetName}" == "CSS Cadmin Sample") {
                    • 75
                      var portletId = "com_liferay_frontend_css_cadmin_sample_web_internal_portlet_CadminSampleWebPortlet";
                    }
                  • 77
                    else if ("${widgetName}" == "Custom Filter") {
                    • 78
                      var portletId = "com_liferay_portal_search_web_internal_custom_filter_portlet_CustomFilterPortlet";
                    }
                  • 80
                    else if ("${widgetName}" == "Documents and Media") {
                    • 81
                      var portletId = "com_liferay_document_library_web_portlet_DLPortlet";
                    }
                  • 83
                    else if ("${widgetName}" == "Dynamic Data Lists Display") {
                    • 84
                      var portletId = "com_liferay_dynamic_data_lists_web_portlet_DDLDisplayPortlet";
                    }
                  • 86
                    else if ("${widgetName}" == "Form") {
                    • 87
                      var portletId = "com_liferay_dynamic_data_mapping_form_web_portlet_DDMFormPortlet";
                    }
                  • 89
                    else if ("${widgetName}" == "Highest Rated Assets") {
                    • 90
                      var portletId = "com_liferay_asset_publisher_web_portlet_HighestRatedAssetsPortlet";
                    }
                  • 92
                    else if ("${widgetName}" == "IFrame") {
                    • 93
                      var portletId = "com_liferay_iframe_web_portlet_IFramePortlet";
                    }
                  • 95
                    else if ("${widgetName}" == "Invite Members") {
                    • 96
                      var portletId = "com_liferay_invitation_invite_members_web_portlet_InviteMembersPortlet";
                    }
                  • 98
                    else if ("${widgetName}" == "JS A11y Sample") {
                    • 99
                      var portletId = "com_liferay_frontend_js_a11y_sample_web_internal_portlet_FrontendJSA11ySampleWebPortlet";
                    }
                  • 101
                    else if ("${widgetName}" == "JS Clay Sample") {
                    • 102
                      var portletId = "com_liferay_frontend_js_clay_sample_web_internal_portlet_FrontendJSClaySampleWebPortlet";
                    }
                  • 104
                    else if ("${widgetName}" == "Knowledge Base Article") {
                    • 105
                      var portletId = "com_liferay_knowledge_base_web_portlet_ArticlePortlet";
                    }
                  • 107
                    else if ("${widgetName}" == "Knowledge Base Display") {
                    • 108
                      var portletId = "com_liferay_knowledge_base_web_portlet_DisplayPortlet";
                    }
                  • 110
                    else if ("${widgetName}" == "Knowledge Base Search") {
                    • 111
                      var portletId = "com_liferay_knowledge_base_web_portlet_SearchPortlet";
                    }
                  • 113
                    else if ("${widgetName}" == "Knowledge Base Section") {
                    • 114
                      var portletId = "com_liferay_knowledge_base_web_portlet_SectionPortlet";
                    }
                  • 116
                    else if ("${widgetName}" == "Language Selector") {
                    • 117
                      var portletId = "com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet";
                    }
                  • 119
                    else if ("${widgetName}" == "Low Level Search Options") {
                    • 120
                      var portletId = "com_liferay_portal_search_web_low_level_search_options_portlet_LowLevelSearchOptionsPortlet";
                    }
                  • 122
                    else if ("${widgetName}" == "Media Gallery") {
                    • 123
                      var portletId = "com_liferay_document_library_web_portlet_IGDisplayPortlet";
                    }
                  • 125
                    else if ("${widgetName}" == "Message Boards") {
                    • 126
                      var portletId = "com_liferay_message_boards_web_portlet_MBPortlet";
                    }
                  • 128
                    else if ("${widgetName}" == "Microblogs") {
                    • 129
                      var portletId = "com_liferay_microblogs_web_portlet_MicroblogsPortlet";
                    }
                  • 131
                    else if ("${widgetName}" == "Microblogs Status Update") {
                    • 132
                      var portletId = "com_liferay_microblogs_web_portlet_MicroblogsStatusUpdatePortlet";
                    }
                  • 134
                    else if ("${widgetName}" == "Most Viewed Assets") {
                    • 135
                      var portletId = "com_liferay_asset_publisher_web_portlet_MostViewedAssetsPortlet";
                    }
                  • 137
                    else if ("${widgetName}" == "My Sites") {
                    • 138
                      var portletId = "com_liferay_site_my_sites_web_portlet_MySitesPortlet";
                    }
                  • 140
                    else if ("${widgetName}" == "Menu Display") {
                    • 141
                      var portletId = "com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet";
                    }
                  • 143
                    else if ("${widgetName}" == "Nested Applications") {
                    • 144
                      var portletId = "com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet";
                    }
                  • 146
                    else if ("${widgetName}" == "Profile") {
                    • 147
                      var portletId = "com_liferay_contacts_web_portlet_ProfilePortlet";
                    }
                  • 149
                    else if ("${widgetName}" == "Product Details") {
                    • 150
                      var portletId = "com_liferay_commerce_product_content_web_internal_portlet_CPContentPortlet";
                    }
                  • 152
                    else if ("${widgetName}" == "Questions") {
                    • 153
                      var portletId = "com_liferay_questions_web_internal_portlet_QuestionsPortlet";
                    }
                  • 155
                    else if ("${widgetName}" == "Recent Bloggers") {
                    • 156
                      var portletId = "com_liferay_blogs_recent_bloggers_web_portlet_RecentBloggersPortlet";
                    }
                  • 158
                    else if ("${widgetName}" == "Related Assets") {
                    • 159
                      var portletId = "com_liferay_asset_publisher_web_portlet_RelatedAssetsPortlet";
                    }
                  • 161
                    else if ("${widgetName}" == "RSS Publisher") {
                    • 162
                      var portletId = "com_liferay_rss_web_portlet_RSSPortlet";
                    }
                  • 164
                    else if ("${widgetName}" == "Search Bar") {
                    • 165
                      var portletId = "com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet";
                    }
                  • 167
                    else if ("${widgetName}" == "Search Options") {
                    • 168
                      var portletId = "com_liferay_portal_search_web_search_options_portlet_SearchOptionsPortlet";
                    }
                  • 170
                    else if ("${widgetName}" == "Search Results") {
                    • 171
                      var portletId = "com_liferay_portal_search_web_search_results_portlet_SearchResultsPortlet";
                    }
                  • 173
                    else if ("${widgetName}" == "Sign In") {
                    • 174
                      var portletId = "com_liferay_login_web_portlet_LoginPortlet";
                    }
                  • 176
                    else if ("${widgetName}" == "Similar Results") {
                    • 177
                      var portletId = "com_liferay_portal_search_similar_results_web_portlet_SimilarResultsPortlet";
                    }
                  • 179
                    else if ("${widgetName}" == "Site Map") {
                    • 180
                      var portletId = "com_liferay_site_navigation_site_map_web_portlet_SiteNavigationSiteMapPortlet";
                    }
                  • 182
                    else if ("${widgetName}" == "Sites Directory") {
                    • 183
                      var portletId = "com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet";
                    }
                  • 185
                    else if ("${widgetName}" == "Tag Filter") {
                    • 186
                      var portletId = "com_liferay_asset_tags_navigation_web_portlet_AssetTagsNavigationPortlet";
                    }
                  • 188
                    else if ("${widgetName}" == "Tree Menu") {
                    • 189
                      var portletId = "com_liferay_wiki_navigation_web_portlet_WikiNavigationTreeMenuPortlet";
                    }
                  • 191
                    else if ("${widgetName}" == "Type Facet") {
                    • 192
                      var portletId = "com_liferay_portal_search_web_type_facet_portlet_TypeFacetPortlet";
                    }
                  • 194
                    else if ("${widgetName}" == "User Statistics") {
                    • 195
                      var portletId = "com_liferay_social_user_statistics_web_portlet_SocialUserStatisticsPortlet";
                    }
                  • 197
                    else if ("${widgetName}" == "Vanilla Counter") {
                    • 198
                      var portletId = "com_liferay_remote_app_web_internal_portlet_RemoteAppEntryPortlet_remoteAppEntryId";
                    }
                  • 200
                    else if ("${widgetName}" == "Web Content Display") {
                    • 201
                      var portletId = "com_liferay_journal_content_web_portlet_JournalContentPortlet";
                    }
                  • 203
                    else if ("${widgetName}" == "Web Content Search") {
                    • 204
                      var portletId = "com_liferay_journal_content_search_web_portlet_JournalContentSearchPortlet";
                    }
                  • 206
                    else if ("${widgetName}" == "Wiki") {
                    • 207
                      var portletId = "com_liferay_wiki_web_portlet_WikiPortlet";
                    }
                  • 209
                    else if ("${widgetName}" == "Wiki Display") {
                    • 210
                      var portletId = "com_liferay_wiki_web_portlet_WikiDisplayPortlet";
                    }
                  • 212
                    else if ("${widgetName}" == "CKEditor Sample") {
                    • 213
                      var portletId = "com_liferay_editor_ckeditor_sample_web_internal_portlet_CKEditorSamplePortlet";
                    }
                  • 215
                    else {
                    • 216
                      fail("'widgetName' is either invalid or its 'portletId' is not yet set.");
                    }
                  • 219
                    var instanceId = StringUtil.randomString("12");
                  • 220
                    var nonRepeatableWidgets = "Blogs,Bookmarks,Knowledge Base Display,Language Selector,Message Boards,My Sites,Sign In,Web Content Search,Wiki";
                  • 222
                    if (contains("${nonRepeatableWidgets}", "${widgetName}")) {
                    • 223
                      var widget = "${portletId}";
                    }
                  • 225
                    else {
                    • 226
                      var widget = "${portletId}_INSTANCE_${instanceId}";
                    }
                  • 229
                    return "${widget}";
                • 15
                  if (isSet(remoteAppEntryId)) {
                  • 16
                    var widget = StringUtil.replace("${widget}", "remoteAppEntryId", "${remoteAppEntryId}");
                  }
                • 19
                  if (contains("${typeSettings}", "column-${column}=")) {
                  • 20
                    var typeSettings = StringUtil.regexReplaceFirst("${typeSettings}", "(column-${column}=[^%]*)", "$1,${widget}");
                  }
                • 22
                  else {
                  • 23
                    var typeSettings = '''${typeSettings}column-${column}''';
                  • 25
                    var typeSettings = '''${typeSettings}=${widget}''';
                  }
                • 28
                  return "${typeSettings}";
              }
            • 122
              if (!(isSet(layoutTemplate)) && !(isSet(widgetName))) {
              • 123
                fail("typeSettings will not be updated.");
              }
            • 126
              return "${typeSettings}";
          • 132
            JSONLayoutAPI._updateTypeSettings( groupId = "${groupId}", layoutId = "${layoutId}", privateLayout = "false", typeSettings = "${typeSettings}");
            • 171
              Variables.assertDefined(parameterList = "${groupId},${privateLayout},${layoutId},${typeSettings}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 173
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 175
              var curl = ''' ${portalURL}/api/jsonws/layout/update-layout \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d layoutId=${layoutId} \ -d typeSettings=${typeSettings} ''';
            • 184
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      • 226
        task ("And given the Minium site has a private content page with a Product Details widget") {
        • 227
          JSONLayout.addPrivateLayout( groupName = "Minium", layoutName = "Test Private Content Page", type = "content");
          • 5
            Variables.assertDefined(parameterList = "${groupName},${layoutName}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 7
            var friendlyURL = JSONLayoutSetter.setFriendlyURL(friendlyURL = "${friendlyURL}");
            • 12
              if (!(isSet(friendlyURL))) {
              • 13
                var friendlyURL = "";
              }
            • 16
              return "${friendlyURL}";
          • 9
            var groupId = JSONLayoutSetter.setGroupId( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", site = "${site}");
            • 20
              if (!(isSet(site))) {
              • 21
                var site = "true";
              }
            • 24
              var groupId = JSONGroupAPI._getGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${groupName}", parentGroupName = "${parentGroupName}", portalURL = "${portalURL}", site = "${site}");
              • 207
                Variables.assertDefined(parameterList = "${groupName},${site}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 209
                if (!(isSet(portalURL))) {
                • 210
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 213
                var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 215
                var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                • 85
                  if (isSet(parentGroupName)) {
                  • 86
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                    • 253
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 255
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        if (!(isSet(portalInstanceName))) {
                        • 5
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 50
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 51
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 53
                            if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                            • 54
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 56
                              var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                              • 72
                                Variables.assertDefined(parameterList = "${portalURL}");
                                • 5
                                  if (!(isSet(parameterList))) {
                                  • 6
                                    fail("Please define a parameter list in 'parameterList'");
                                  }
                                • 9
                                  for (var parameter : list "${parameterList}") {
                                  • 13
                                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                  • 17
                                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                    • 18
                                      fail("Please set '${parameter}'");
                                    }
                                  }
                              • 74
                                var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                              • 75
                                var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                              • 77
                                return "${portalInstanceName}";
                            • 58
                              return "${portalInstanceName}";
                            }
                          • 60
                            else {
                            • 61
                              return "localhost";
                            }
                        }
                      • 8
                        if (!(isSet(portalURL))) {
                        • 9
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 12
                        if (!(isSet(creatorEmailAddress))) {
                        • 13
                          if ("${authenticationMethod}" == "By Screen Name") {
                          • 14
                            if (!(isSet(userScreenName))) {
                            • 15
                              var creatorEmailAddress = "test";
                            }
                          • 17
                            else {
                            • 18
                              var creatorEmailAddress = "${userScreenName}";
                            }
                          }
                        • 21
                          else {
                          • 22
                            var creatorEmailAddress = "test@liferay.com";
                          }
                        }
                      • 26
                        if (!(isSet(creatorPassword))) {
                        • 27
                          var creatorPassword = "test";
                        }
                      • 30
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                      • 34
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 36
                        return "${companyId}";
                    • 257
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 15
                        if (isSet(grandParentGroupName)) {
                        • 16
                          if (!(isSet(site))) {
                          • 17
                            var site = "true";
                          }
                        • 20
                          var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                          • 154
                            Variables.assertDefined(parameterList = "${groupName}");
                            • 5
                              if (!(isSet(parameterList))) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                              • 17
                                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 156
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              if (!(isSet(portalInstanceName))) {
                              • 5
                                var portalInstanceName = JSONCompany.getPortalInstanceName();
                                • 50
                                  var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                • 51
                                  var testPortalInstance = PropsUtil.get("test.portal.instance");
                                • 53
                                  if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                  • 54
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 56
                                    var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                    • 72
                                      Variables.assertDefined(parameterList = "${portalURL}");
                                      • 5
                                        if (!(isSet(parameterList))) {
                                        • 6
                                          fail("Please define a parameter list in 'parameterList'");
                                        }
                                      • 9
                                        for (var parameter : list "${parameterList}") {
                                        • 13
                                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                        • 17
                                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                          • 18
                                            fail("Please set '${parameter}'");
                                          }
                                        }
                                    • 74
                                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                    • 75
                                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                    • 77
                                      return "${portalInstanceName}";
                                  • 58
                                    return "${portalInstanceName}";
                                  }
                                • 60
                                  else {
                                  • 61
                                    return "localhost";
                                  }
                              }
                            • 8
                              if (!(isSet(portalURL))) {
                              • 9
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              }
                            • 12
                              if (!(isSet(creatorEmailAddress))) {
                              • 13
                                if ("${authenticationMethod}" == "By Screen Name") {
                                • 14
                                  if (!(isSet(userScreenName))) {
                                  • 15
                                    var creatorEmailAddress = "test";
                                  }
                                • 17
                                  else {
                                  • 18
                                    var creatorEmailAddress = "${userScreenName}";
                                  }
                                }
                              • 21
                                else {
                                • 22
                                  var creatorEmailAddress = "test@liferay.com";
                                }
                              }
                            • 26
                              if (!(isSet(creatorPassword))) {
                              • 27
                                var creatorPassword = "test";
                              }
                            • 30
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                            • 34
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 36
                              return "${companyId}";
                          • 158
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          • 160
                            if (!(isSet(site))) {
                            • 161
                              var site = "true";
                            }
                          • 164
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                          • 171
                            var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 173
                            if ("${groupId}" == "") {
                            • 174
                              fail("FAIL. Cannot find group.");
                            }
                          • 177
                            return "${groupId}";
                        }
                      • 24
                        else {
                        • 25
                          var grandParentGroupId = "0";
                        }
                      • 28
                        return "${grandParentGroupId}";
                    • 259
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 261
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 265
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 267
                      if ("${groupId}" == "") {
                      • 268
                        fail("FAIL. Cannot find group.");
                      }
                    • 271
                      return "${groupId}";
                  }
                • 90
                  else {
                  • 91
                    var parentGroupId = "0";
                  }
                • 94
                  return "${parentGroupId}";
              • 219
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 223
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 225
                if ("${groupId}" == "") {
                • 226
                  fail("FAIL. Cannot find group.");
                }
              • 229
                echo("## * GroupId: ${groupId}");
              • 231
                return "${groupId}";
            • 31
              return "${groupId}";
          • 15
            var parentLayoutId = JSONLayoutSetter.setParentLayoutId( groupId = "${groupId}", parentLayoutName = "${parentLayoutName}", privateLayout = "true");
            • 46
              var privateLayout = JSONLayoutSetter.setPrivateLayout(privateLayout = "${privateLayout}");
              • 64
                if (!(isSet(privateLayout))) {
                • 65
                  var privateLayout = "false";
                }
              • 68
                return "${privateLayout}";
            • 48
              if (isSet(parentLayoutName)) {
              • 49
                Variables.assertDefined(parameterList = "${groupId},${parentLayoutName}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 51
                var parentLayoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${parentLayoutName}", privateLayout = "${privateLayout}");
                • 70
                  Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 72
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                • 74
                  var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
                • 80
                  var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
                • 82
                  if ("${layoutId}" == "") {
                  • 83
                    fail("FAIL. Cannot find layout.");
                  }
                • 86
                  return "${layoutId}";
              }
            • 56
              else {
              • 57
                var parentLayoutId = "0";
              }
            • 60
              return "${parentLayoutId}";
          • 20
            var serviceContext = JSONLayoutSetter.setServiceContext( assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
            • 72
              if (!(isSet(serviceContext))) {
              • 73
                var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
                • 116
                  var serviceContext = "{}";
                • 118
                  if (isSet(assetCategoryIds)) {
                  • 119
                    var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", json = "${serviceContext}");
                    • 4
                      Variables.assertDefined(parameterList = "${json},${assetCategoryIds}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 6
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetCategoryIds");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 10
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetCategoryIds", values = "${assetCategoryIds}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 15
                      return "${json}";
                  }
                • 124
                  if (isSet(assetTagNames)) {
                  • 125
                    var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", json = "${serviceContext}");
                    • 19
                      Variables.assertDefined(parameterList = "${json},${assetTagNames}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 21
                      var json = JSONUtil2._addJSONArray( json = "${json}", key = "assetTagNames");
                      • 5
                        if (!(isSet(json)) || !(isSet(key))) {
                        • 6
                          fail("Error, 'JSON' and 'key' must all be set");
                        }
                      • 11
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 15
                        if ("${bool}" == "TRUE") {
                        • 16
                          echo("JSON array ${key}' already added, returning original JSON");
                        }
                      • 18
                        else {
                        • 19
                          if ("${json}" == "{}") {
                          • 20
                            var json = '''{"${key}" : []}''';
                          }
                        • 22
                          else {
                          • 23
                            var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": []}");
                          }
                        }
                      • 27
                        return "${json}";
                    • 25
                      var json = JSONUtil2._addJSONArrayValues( json = "${json}", key = "assetTagNames", values = "${assetTagNames}");
                      • 32
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(values))) {
                        • 33
                          fail("Error, 'JSON', 'key', and 'values' must all be set");
                        }
                      • 36
                        var bool = JSONUtil2._isJSONArrayPresent( json = "${json}", key = "${key}");
                        • 120
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*\[.*?\]", "1");
                        • 122
                          if ("${temp}" == "${key}") {
                          • 123
                            return "TRUE";
                          }
                        • 125
                          else {
                          • 126
                            return "FALSE";
                          }
                      • 40
                        if ("${bool}" == "FALSE") {
                        • 41
                          fail("Error, '${key}' does not exist in the JSON");
                        }
                      • 44
                        for (var value : list "${values}") {
                        • 45
                          var temp = RegexUtil.replace("${json}", "\"${key}\"\s*:\s*(\[.*?\])", "1");
                        • 47
                          if (contains(""${temp}"", ""${value}"")) {
                          • 48
                            fail("'${value}' already exists inside 'JSON'");
                          }
                        • 51
                          if ("${temp}" == "[]") {
                          • 55
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)\[\]", "$1[\"${value}\"]");
                          }
                        • 57
                          else {
                          • 58
                            var json = StringUtil.regexReplaceFirst("${json}", "(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, \"${value}\"]");
                          }
                        }
                      • 62
                        return "${json}";
                    • 30
                      return "${json}";
                  }
                • 130
                  if (isSet(addGroupPermissions)) {
                  • 131
                    var serviceContext = JSONServiceContextUtil._addGroupPermissions( addGroupPermissions = "${addGroupPermissions}", json = "${serviceContext}");
                    • 64
                      Variables.assertDefined(parameterList = "${json},${addGroupPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 66
                      if (!(("${addGroupPermissions}" == "true") || ("${addGroupPermissions}" == "false"))) {
                      • 67
                        fail("Invalid addGroupPermissions: '${addGroupPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 70
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGroupPermissions", value = "${addGroupPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 75
                      return "${json}";
                  }
                • 136
                  if (isSet(addGuestPermissions)) {
                  • 137
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", json = "${serviceContext}");
                    • 79
                      Variables.assertDefined(parameterList = "${json},${addGuestPermissions}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 81
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 82
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 85
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "addGuestPermissions", value = "${addGuestPermissions}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 90
                      return "${json}";
                  }
                • 142
                  if (isSet(attributes)) {
                  • 143
                    var serviceContext = JSONServiceContextUtil._addAttributes( attributes = "${attributes}", json = "${serviceContext}");
                    • 34
                      Variables.assertDefined(parameterList = "${json},${attributes}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 36
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "attributes", value = "${attributes}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 41
                      return "${json}";
                  }
                • 148
                  if (isSet(groupName)) {
                  • 149
                    var serviceContext = JSONServiceContextUtil._addGroupId( groupName = "${groupName}", json = "${serviceContext}", site = "${site}");
                    • 45
                      Variables.assertDefined(parameterList = "${groupName},${json}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 47
                      if (!(isSet(site))) {
                      • 48
                        var site = "true";
                      }
                    • 51
                      var groupId = JSONGroupAPI._getGroupIdByName( groupName = "${groupName}", site = "${site}");
                      • 207
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 209
                        if (!(isSet(portalURL))) {
                        • 210
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        }
                      • 213
                        var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                        • 4
                          if (!(isSet(portalInstanceName))) {
                          • 5
                            var portalInstanceName = JSONCompany.getPortalInstanceName();
                            • 50
                              var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                            • 51
                              var testPortalInstance = PropsUtil.get("test.portal.instance");
                            • 53
                              if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                              • 54
                                var portalURL = JSONCompany.getPortalURL();
                                • 66
                                  var portalURL = PropsUtil.get("portal.url");
                                • 68
                                  return "${portalURL}";
                              • 56
                                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                • 72
                                  Variables.assertDefined(parameterList = "${portalURL}");
                                  • 5
                                    if (!(isSet(parameterList))) {
                                    • 6
                                      fail("Please define a parameter list in 'parameterList'");
                                    }
                                  • 9
                                    for (var parameter : list "${parameterList}") {
                                    • 13
                                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                    • 17
                                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                      • 18
                                        fail("Please set '${parameter}'");
                                      }
                                    }
                                • 74
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 75
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 77
                                  return "${portalInstanceName}";
                              • 58
                                return "${portalInstanceName}";
                              }
                            • 60
                              else {
                              • 61
                                return "localhost";
                              }
                          }
                        • 8
                          if (!(isSet(portalURL))) {
                          • 9
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          }
                        • 12
                          if (!(isSet(creatorEmailAddress))) {
                          • 13
                            if ("${authenticationMethod}" == "By Screen Name") {
                            • 14
                              if (!(isSet(userScreenName))) {
                              • 15
                                var creatorEmailAddress = "test";
                              }
                            • 17
                              else {
                              • 18
                                var creatorEmailAddress = "${userScreenName}";
                              }
                            }
                          • 21
                            else {
                            • 22
                              var creatorEmailAddress = "test@liferay.com";
                            }
                          }
                        • 26
                          if (!(isSet(creatorPassword))) {
                          • 27
                            var creatorPassword = "test";
                          }
                        • 30
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                        • 34
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 36
                          return "${companyId}";
                      • 215
                        var parentGroupId = JSONGroupSetter.setParentGroupId( grandParentGroupName = "${grandParentGroupName}", parentGroupName = "${parentGroupName}");
                        • 85
                          if (isSet(parentGroupName)) {
                          • 86
                            var parentGroupId = JSONGroupAPI._getParentGroupIdByName( grandParentGroupName = "${grandParentGroupName}", groupName = "${parentGroupName}");
                            • 253
                              Variables.assertDefined(parameterList = "${groupName}");
                              • 5
                                if (!(isSet(parameterList))) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                • 17
                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 255
                              var companyId = JSONCompany.getCompanyId();
                              • 4
                                if (!(isSet(portalInstanceName))) {
                                • 5
                                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                                  • 50
                                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                  • 51
                                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                                  • 53
                                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                    • 54
                                      var portalURL = JSONCompany.getPortalURL();
                                      • 66
                                        var portalURL = PropsUtil.get("portal.url");
                                      • 68
                                        return "${portalURL}";
                                    • 56
                                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                      • 72
                                        Variables.assertDefined(parameterList = "${portalURL}");
                                        • 5
                                          if (!(isSet(parameterList))) {
                                          • 6
                                            fail("Please define a parameter list in 'parameterList'");
                                          }
                                        • 9
                                          for (var parameter : list "${parameterList}") {
                                          • 13
                                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                          • 17
                                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                            • 18
                                              fail("Please set '${parameter}'");
                                            }
                                          }
                                      • 74
                                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                      • 75
                                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                      • 77
                                        return "${portalInstanceName}";
                                    • 58
                                      return "${portalInstanceName}";
                                    }
                                  • 60
                                    else {
                                    • 61
                                      return "localhost";
                                    }
                                }
                              • 8
                                if (!(isSet(portalURL))) {
                                • 9
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 66
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 68
                                    return "${portalURL}";
                                }
                              • 12
                                if (!(isSet(creatorEmailAddress))) {
                                • 13
                                  if ("${authenticationMethod}" == "By Screen Name") {
                                  • 14
                                    if (!(isSet(userScreenName))) {
                                    • 15
                                      var creatorEmailAddress = "test";
                                    }
                                  • 17
                                    else {
                                    • 18
                                      var creatorEmailAddress = "${userScreenName}";
                                    }
                                  }
                                • 21
                                  else {
                                  • 22
                                    var creatorEmailAddress = "test@liferay.com";
                                  }
                                }
                              • 26
                                if (!(isSet(creatorPassword))) {
                                • 27
                                  var creatorPassword = "test";
                                }
                              • 30
                                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                              • 34
                                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                              • 36
                                return "${companyId}";
                            • 257
                              var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                              • 15
                                if (isSet(grandParentGroupName)) {
                                • 16
                                  if (!(isSet(site))) {
                                  • 17
                                    var site = "true";
                                  }
                                • 20
                                  var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName( groupName = "${grandParentGroupName}", site = "${site}");
                                  • 154
                                    Variables.assertDefined(parameterList = "${groupName}");
                                    • 5
                                      if (!(isSet(parameterList))) {
                                      • 6
                                        fail("Please define a parameter list in 'parameterList'");
                                      }
                                    • 9
                                      for (var parameter : list "${parameterList}") {
                                      • 13
                                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                      • 17
                                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                        • 18
                                          fail("Please set '${parameter}'");
                                        }
                                      }
                                  • 156
                                    var companyId = JSONCompany.getCompanyId();
                                    • 4
                                      if (!(isSet(portalInstanceName))) {
                                      • 5
                                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                                        • 50
                                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                        • 51
                                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                                        • 53
                                          if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                                          • 54
                                            var portalURL = JSONCompany.getPortalURL();
                                            • 66
                                              var portalURL = PropsUtil.get("portal.url");
                                            • 68
                                              return "${portalURL}";
                                          • 56
                                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                            • 72
                                              Variables.assertDefined(parameterList = "${portalURL}");
                                              • 5
                                                if (!(isSet(parameterList))) {
                                                • 6
                                                  fail("Please define a parameter list in 'parameterList'");
                                                }
                                              • 9
                                                for (var parameter : list "${parameterList}") {
                                                • 13
                                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                                • 17
                                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                                  • 18
                                                    fail("Please set '${parameter}'");
                                                  }
                                                }
                                            • 74
                                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                            • 75
                                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                            • 77
                                              return "${portalInstanceName}";
                                          • 58
                                            return "${portalInstanceName}";
                                          }
                                        • 60
                                          else {
                                          • 61
                                            return "localhost";
                                          }
                                      }
                                    • 8
                                      if (!(isSet(portalURL))) {
                                      • 9
                                        var portalURL = JSONCompany.getPortalURL();
                                        • 66
                                          var portalURL = PropsUtil.get("portal.url");
                                        • 68
                                          return "${portalURL}";
                                      }
                                    • 12
                                      if (!(isSet(creatorEmailAddress))) {
                                      • 13
                                        if ("${authenticationMethod}" == "By Screen Name") {
                                        • 14
                                          if (!(isSet(userScreenName))) {
                                          • 15
                                            var creatorEmailAddress = "test";
                                          }
                                        • 17
                                          else {
                                          • 18
                                            var creatorEmailAddress = "${userScreenName}";
                                          }
                                        }
                                      • 21
                                        else {
                                        • 22
                                          var creatorEmailAddress = "test@liferay.com";
                                        }
                                      }
                                    • 26
                                      if (!(isSet(creatorPassword))) {
                                      • 27
                                        var creatorPassword = "test";
                                      }
                                    • 30
                                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                                    • 34
                                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                                    • 36
                                      return "${companyId}";
                                  • 158
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 66
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 68
                                      return "${portalURL}";
                                  • 160
                                    if (!(isSet(site))) {
                                    • 161
                                      var site = "true";
                                    }
                                  • 164
                                    var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                                  • 171
                                    var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                                  • 173
                                    if ("${groupId}" == "") {
                                    • 174
                                      fail("FAIL. Cannot find group.");
                                    }
                                  • 177
                                    return "${groupId}";
                                }
                              • 24
                                else {
                                • 25
                                  var grandParentGroupId = "0";
                                }
                              • 28
                                return "${grandParentGroupId}";
                            • 259
                              var portalURL = JSONCompany.getPortalURL();
                              • 66
                                var portalURL = PropsUtil.get("portal.url");
                              • 68
                                return "${portalURL}";
                            • 261
                              var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                            • 265
                              var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                            • 267
                              if ("${groupId}" == "") {
                              • 268
                                fail("FAIL. Cannot find group.");
                              }
                            • 271
                              return "${groupId}";
                          }
                        • 90
                          else {
                          • 91
                            var parentGroupId = "0";
                          }
                        • 94
                          return "${parentGroupId}";
                      • 219
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
                      • 223
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 225
                        if ("${groupId}" == "") {
                        • 226
                          fail("FAIL. Cannot find group.");
                        }
                      • 229
                        echo("## * GroupId: ${groupId}");
                      • 231
                        return "${groupId}";
                    • 55
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "scopeGroupId", value = "${groupId}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 60
                      return "${json}";
                  }
                • 155
                  if (isSet(workflowAction)) {
                  • 156
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( json = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 95
                      Variables.assertDefined(parameterList = "${json},${workflowAction}");
                      • 5
                        if (!(isSet(parameterList))) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 97
                      if ("${workflowAction}" == "DRAFT") {
                      • 98
                        var workflowActionNumber = "2";
                      }
                    • 100
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 101
                        var workflowActionNumber = "1";
                      }
                    • 103
                      else {
                      • 104
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 107
                      var json = JSONUtil2._addJSONObject( json = "${json}", key = "workflowAction", value = "${workflowActionNumber}");
                      • 67
                        if (!(isSet(json)) || !(isSet(key)) || !(isSet(value))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( json = "${json}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${json}", "\"(${key})\"\s*:\s*", "1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${json}" == "{}") {
                        • 80
                          var json = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var json = StringUtil.regexReplaceFirst("${json}", "(.*)\}", "$1, \"${key}\": ${value}}");
                        }
                      • 86
                        return "${json}";
                    • 112
                      return "${json}";
                  }
                • 161
                  return "${serviceContext}";
              }
            • 80
              return "${serviceContext}";
          • 26
            var type = JSONLayoutSetter.setType(type = "${type}");
            • 93
              if (!(isSet(type))) {
              • 94
                var type = "portlet";
              }
            • 97
              return "${type}";
          • 28
            var plid = JSONLayoutAPI._addLayout( friendlyURL = "${friendlyURL}", groupId = "${groupId}", layoutName = "${layoutName}", parentLayoutId = "${parentLayoutId}", privateLayout = "true", serviceContext = "${serviceContext}", type = "${type}");
            • 5
              Variables.assertDefined(parameterList = "${friendlyURL},${groupId},${privateLayout},${parentLayoutId},${layoutName},${serviceContext}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 9
              var curl = ''' ${portalURL}/api/jsonws/layout/add-layout \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d parentLayoutId=${parentLayoutId} \ -d name=${layoutName} \ -d title= \ -d description= \ -d type=${type} \ -d hidden=false \ -d friendlyURL=${friendlyURL} \ -d serviceContext=${serviceContext} ''';
            • 23
              var plid = JSONCurlUtil.post("${curl}", "$['plid']");
            • 25
              return "${plid}";
          • 37
            return "${plid}";
        • 232
          ContentPagesNavigator.openEditContentPage( pageName = "Test Private Content Page", privateLayout = "true", siteName = "Minium");
          • 19
            if (!(isSet(siteURLKey))) {
            • 20
              var siteURLKey = ContentPagesNavigator._convertNameToKey(name = "${siteName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 6
                var key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 23
            if (!(isSet(pageFriendlyURL))) {
            • 24
              var pageFriendlyURL = ContentPagesNavigator._convertNameToKey(name = "${pageName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 6
                var key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 27
            if ("${privateLayout}" == "true") {
            • 28
              var type = "group";
            }
          • 30
            else {
            • 31
              var type = "web";
            }
          • 34
            Navigator.openWithAppendToBaseURL(urlAppend = "${type}/${siteURLKey}/${pageFriendlyURL}?p_l_mode=edit");
            • 358
              if (!(isSet(baseURL))) {
              • 359
                var baseURL = PropsUtil.get("portal.url");
              }
            • 362
              Open(locator1 = "${baseURL}/${urlAppend}");
          • 36
            PageEditor.assertFragmentSidebarLoaded();
            • 908
              WaitForPageLoad();
            • 910
              AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
        • 237
          PageEditor.addWidget(portletName = "Product Details");
          • 813
            PageEditor.assertFragmentSidebarLoaded();
            • 908
              WaitForPageLoad();
            • 910
              AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
          • 815
            PageEditor.gotoTab(tabName = "Fragments and Widgets");
            • 3126
              if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
              • 3127
                Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 3131
              else if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 3132
                Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 3136
              else {
              • 3137
                WaitForVisible(locator1 = "Sidebar#PANEL_OPEN");
              • 3139
                if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
                • 3140
                  Click( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
                }
              }
          • 817
            Navigator.gotoNavTab(navTab = "Widgets");
            • 102
              var key_tab = "${navTab}";
            • 104
              if (IsElementNotPresent(locator1 = "NavTab#ACTIVE_TAB_LINK")) {
              • 105
                AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
              }
            • 110
              AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 112
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 819
            Type.sendKeysApplicationSearch( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_SEARCH_FIELD", value1 = "${portletName}");
          • 823
            if (!(isSet(indexItem))) {
            • 824
              var indexItem = "1";
            }
          • 827
            var key_portletName = "${portletName}";
          • 828
            var key_indexItem = "${indexItem}";
          • 830
            if (isSet(scope) && ("${dropTarget}" == "Header")) {
            • 831
              DragAndDrop.javaScriptDragAndDropToUp( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
            }
          • 837
            if (isSet(scope) && ("${dropTarget}" == "Footer")) {
            • 838
              DragAndDrop.javaScriptDragAndDropToBottom( key_targetFragmentName = "Drop Zone", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 845
            if (isSet(targetFragmentName) && isSet(collectionName)) {
            • 846
              DragAndDrop.javaScriptDragAndDropToBottom( key_collectionName = "${collectionName}", key_fragmentName = "${portletName}", key_targetFragmentName = "${targetFragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 855
            if (isSet(targetFragmentName) && !(isSet(collectionName))) {
            • 856
              DragAndDrop.javaScriptDragAndDropToBottom( key_targetFragmentName = "${targetFragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "${portletName}");
            }
          • 862
            else {
            • 863
              DragAndDrop.javaScriptDragAndDropToObject( locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_WIDGET", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "${portletName}");
            }
          • 869
            PageEditor.waitForAutoSave();
            • 4346
              WaitForVisible(locator1 = "PageEditor#AUTOSAVE_MESSAGE");
          • 871
            PageEditor.viewFragment( fragmentName = "${portletName}", position = "${position}");
            • 3878
              if (!(isSet(position))) {
              • 3879
                var position = "1";
              }
            • 3882
              AssertElementPresent( key_fragmentName = "${fragmentName}", key_index = "${position}", locator1 = "Fragment#FRAGMENT_HEADER_ANY");
          • 875
            Click(locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_SEARCH_CLEAR_BUTTON");
        • 239
          Button.clickPublish();
          • 90
            ScrollWebElementIntoView( key_text = "Publish", locator1 = "Button#ANY");
          • 94
            Button.click(button = "Publish");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
        • 241
          Alert.viewSuccessMessage();
          • 118
            VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
        }
      • 244
        task ("And Given the Test Public Content Page is set as Default Product Display Page") {
        • 245
          CommerceChannels.openChannelsAdmin();
          • 309
            Navigator.openWithAppendToBaseURL( baseURL = "${baseURL}", urlAppend = "group/guest/~/control_panel/manage?p_p_id=com_liferay_commerce_channel_web_internal_portlet_CommerceChannelsPortlet");
            • 358
              if (!(isSet(baseURL))) {
              • 359
                var baseURL = PropsUtil.get("portal.url");
              }
            • 362
              Open(locator1 = "${baseURL}/${urlAppend}");
        • 247
          CommerceNavigator.gotoEntry(entryName = "Minium Portal");
          • 35
            AssertClickNoError( key_entryName = "${entryName}", locator1 = "CommerceNavigation#ENTRY_NAME", value1 = "${entryName}");
          • 40
            WaitForPageLoad();
        • 249
          CommerceEntry.gotoMenuTab(menuTab = "Product Display Pages");
          • 830
            AssertClick( key_menuTab = "${menuTab}", locator1 = "CommerceEntry#MENU_TAB", value1 = "${menuTab}");
        • 251
          CommerceChannels.chooseDefaultDisplayPage( pageName = "Test Public Content Page", pageType = "Public");
          • 122
            Button.click(button = "Choose");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 124
            SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_BODY");
          • 126
            if ("${pageType}" == "Private") {
            • 127
              CommerceEntry.gotoMenuTab(menuTab = "Private Pages");
              • 830
                AssertClick( key_menuTab = "${menuTab}", locator1 = "CommerceEntry#MENU_TAB", value1 = "${menuTab}");
            }
          • 130
            CommerceNavigator.searchEntry(entryName = "${pageName}");
            • 140
              AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
            • 142
              Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
            • 146
              KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
          • 132
            LexiconCard.clickCard(card = "${pageName}");
            • 14
              WaitForLiferayEvent.initializeLiferayEventLog();
            • 16
              Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
          • 134
            SelectFrame.selectFrameTop();
          • 136
            if (IsElementPresent(locator1 = "Button#DONE")) {
            • 137
              Button.clickDone();
              • 56
                Button.click(button = "Done");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            }
          • 140
            Button.clickSave();
            • 102
              Button.click(button = "Save");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 104
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 142
            AssertElementPresent(locator1 = "Message#SUCCESS");
        • 255
          CommerceEntry.assertDefaultDisplayPage( pageName = "Test Public Content Page", pageType = "Public");
          • 547
            if (!(isSet(pageType))) {
            • 548
              AssertTextEquals( locator1 = "CommerceEntry#DISPLAY_PAGE_ANY", value1 = "${pageName}");
            }
          • 553
            if ("${pageType}" == "Public") {
            • 554
              AssertTextEquals( locator1 = "CommerceEntry#DISPLAY_PAGE_ANY", value1 = "Public Pages > ${pageName}");
            }
          • 559
            if ("${pageType}" == "Private") {
            • 560
              AssertTextEquals( locator1 = "CommerceEntry#DISPLAY_PAGE_ANY", value1 = "Private Pages > ${pageName}");
            }
        }
      • 260
        task ("And given user can not override the default product display page by selecting only a product") {
        • 261
          CommerceChannels.addProduct(product = "Torque Converters");
          • 70
            if ("${edit}" != "true") {
            • 71
              Click(locator1 = "Button#PLUS");
            }
          • 74
            SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
          • 76
            Button.click(button = "Select Product");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 78
            SelectFrame.selectFrameTop();
          • 80
            SelectFrame( key_title = "Select Product", locator1 = "IFrame#MODAL_ANY");
          • 84
            CommerceNavigator.searchEntry(entryName = "${product}");
            • 140
              AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
            • 142
              Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
            • 146
              KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
          • 86
            Click( key_entryName = "${product}", locator1 = "CommerceEntry#CHOOSE_ENTRY_BUTTON");
          • 90
            SelectFrame.selectFrameTop();
        • 263
          SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
        • 265
          Button.clickSave();
          • 102
            Button.click(button = "Save");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 104
            WaitForLiferayEvent.initializeLiferayEventLog();
        • 267
          CommerceEntry.assertAddDisplayLayoutError(errorMessage = "Please select a valid layout.");
          • 541
            AssertElementPresent( key_alertMessage = "${errorMessage}", locator1 = "Message#ERROR_ENTER_A_VALID_VALUE");
        }
      • 270
        task ("And given user can not override the default product display page by selecting only a page") {
        • 271
          CommerceChannels.chooseDisplayPageFromSidePanel( pageName = "Test Public Widget Page", pageType = "Public");
          • 146
            SelectFrame.selectFrameTop();
          • 148
            SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
          • 150
            Button.click(button = "Choose");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 152
            if (IsElementNotPresent(locator1 = "IFrame#MODAL_BODY")) {
            • 153
              SelectFrame.selectFrameTop();
            }
          • 156
            SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_BODY");
          • 158
            if ("${pageType}" == "Private") {
            • 159
              CommerceEntry.gotoMenuTab(menuTab = "Private Pages");
              • 830
                AssertClick( key_menuTab = "${menuTab}", locator1 = "CommerceEntry#MENU_TAB", value1 = "${menuTab}");
            }
          • 162
            CommerceNavigator.searchEntry(entryName = "${pageName}");
            • 140
              AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
            • 142
              Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
            • 146
              KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
          • 164
            LexiconCard.clickCard(card = "${pageName}");
            • 14
              WaitForLiferayEvent.initializeLiferayEventLog();
            • 16
              Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
          • 166
            SelectFrame.selectFrameTop();
          • 168
            if (IsElementPresent(locator1 = "Button#DONE")) {
            • 169
              Button.clickDone();
              • 56
                Button.click(button = "Done");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            }
        • 275
          SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
        • 277
          Button.clickSave();
          • 102
            Button.click(button = "Save");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 104
            WaitForLiferayEvent.initializeLiferayEventLog();
        • 279
          CommerceEntry.assertAddDisplayLayoutError(errorMessage = "Please select a valid product.");
          • 541
            AssertElementPresent( key_alertMessage = "${errorMessage}", locator1 = "Message#ERROR_ENTER_A_VALID_VALUE");
        }
      • 282
        task ("And given the Test Public Widget Page is set as Override Default Product Display Page for Torque Converters") {
        • 283
          Refresh();
        • 285
          CommerceChannels.overrideProductDisplayPage( pageName = "Test Public Widget Page", pageType = "Public", product = "Torque Converters");
          • 333
            CommerceChannels.addProduct(product = "${product}");
            • 70
              if ("${edit}" != "true") {
              • 71
                Click(locator1 = "Button#PLUS");
              }
            • 74
              SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
            • 76
              Button.click(button = "Select Product");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 78
              SelectFrame.selectFrameTop();
            • 80
              SelectFrame( key_title = "Select Product", locator1 = "IFrame#MODAL_ANY");
            • 84
              CommerceNavigator.searchEntry(entryName = "${product}");
              • 140
                AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
              • 142
                Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
              • 146
                KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
            • 86
              Click( key_entryName = "${product}", locator1 = "CommerceEntry#CHOOSE_ENTRY_BUTTON");
            • 90
              SelectFrame.selectFrameTop();
          • 335
            CommerceChannels.chooseDisplayPageFromSidePanel( pageName = "${pageName}", pageType = "${pageType}");
            • 146
              SelectFrame.selectFrameTop();
            • 148
              SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
            • 150
              Button.click(button = "Choose");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 152
              if (IsElementNotPresent(locator1 = "IFrame#MODAL_BODY")) {
              • 153
                SelectFrame.selectFrameTop();
              }
            • 156
              SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_BODY");
            • 158
              if ("${pageType}" == "Private") {
              • 159
                CommerceEntry.gotoMenuTab(menuTab = "Private Pages");
                • 830
                  AssertClick( key_menuTab = "${menuTab}", locator1 = "CommerceEntry#MENU_TAB", value1 = "${menuTab}");
              }
            • 162
              CommerceNavigator.searchEntry(entryName = "${pageName}");
              • 140
                AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
              • 142
                Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
              • 146
                KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
            • 164
              LexiconCard.clickCard(card = "${pageName}");
              • 14
                WaitForLiferayEvent.initializeLiferayEventLog();
              • 16
                Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
            • 166
              SelectFrame.selectFrameTop();
            • 168
              if (IsElementPresent(locator1 = "Button#DONE")) {
              • 169
                Button.clickDone();
                • 56
                  Button.click(button = "Done");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
          • 339
            SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
          • 341
            Button.clickSave();
            • 102
              Button.click(button = "Save");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 104
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 343
            Alert.viewSuccessMessage();
            • 118
              VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
          • 345
            Click(locator1 = "CommerceEntry#MODAL_BUTTON_CLOSE");
          • 347
            SelectFrame.selectFrameTop();
        • 290
          Refresh();
        • 292
          CommerceEntry.assertProductDisplayPageOverride( product = "Torque Converters", layout = "Test Public Widget Page");
          • 581
            AssertElementPresent( key_entryName = "${product}", key_table = "Override Default Product Display Page", locator1 = "CommerceEntry#TABLE_ENTRY_NAME");
          • 586
            AssertElementPresent( key_layout = "${layout}", locator1 = "CommerceEntry#OVERRIDE_DEFAULT_DISPLAY_PAGE_LAYOUT");
        }
      • 297
        task ("And given the Test Private Content Page is set as Override Default Product Display Page for Transmission Cooler Line Assembly") {
        • 298
          CommerceChannels.overrideProductDisplayPage( pageName = "Test Private Content Page", pageType = "Private", product = "Transmission Cooler Line Assembly");
          • 333
            CommerceChannels.addProduct(product = "${product}");
            • 70
              if ("${edit}" != "true") {
              • 71
                Click(locator1 = "Button#PLUS");
              }
            • 74
              SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
            • 76
              Button.click(button = "Select Product");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 78
              SelectFrame.selectFrameTop();
            • 80
              SelectFrame( key_title = "Select Product", locator1 = "IFrame#MODAL_ANY");
            • 84
              CommerceNavigator.searchEntry(entryName = "${product}");
              • 140
                AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
              • 142
                Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
              • 146
                KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
            • 86
              Click( key_entryName = "${product}", locator1 = "CommerceEntry#CHOOSE_ENTRY_BUTTON");
            • 90
              SelectFrame.selectFrameTop();
          • 335
            CommerceChannels.chooseDisplayPageFromSidePanel( pageName = "${pageName}", pageType = "${pageType}");
            • 146
              SelectFrame.selectFrameTop();
            • 148
              SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
            • 150
              Button.click(button = "Choose");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 152
              if (IsElementNotPresent(locator1 = "IFrame#MODAL_BODY")) {
              • 153
                SelectFrame.selectFrameTop();
              }
            • 156
              SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_BODY");
            • 158
              if ("${pageType}" == "Private") {
              • 159
                CommerceEntry.gotoMenuTab(menuTab = "Private Pages");
                • 830
                  AssertClick( key_menuTab = "${menuTab}", locator1 = "CommerceEntry#MENU_TAB", value1 = "${menuTab}");
              }
            • 162
              CommerceNavigator.searchEntry(entryName = "${pageName}");
              • 140
                AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
              • 142
                Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
              • 146
                KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
            • 164
              LexiconCard.clickCard(card = "${pageName}");
              • 14
                WaitForLiferayEvent.initializeLiferayEventLog();
              • 16
                Click.mouseDownMouseUp( key_card = "${card}", locator1 = "Card#CARD");
            • 166
              SelectFrame.selectFrameTop();
            • 168
              if (IsElementPresent(locator1 = "Button#DONE")) {
              • 169
                Button.clickDone();
                • 56
                  Button.click(button = "Done");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
          • 339
            SelectFrame.selectFrameNoLoading(locator1 = "CommerceEntry#IFRAME_SIDE_PANEL");
          • 341
            Button.clickSave();
            • 102
              Button.click(button = "Save");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 104
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 343
            Alert.viewSuccessMessage();
            • 118
              VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
          • 345
            Click(locator1 = "CommerceEntry#MODAL_BUTTON_CLOSE");
          • 347
            SelectFrame.selectFrameTop();
        • 303
          Refresh();
        • 305
          CommerceEntry.assertProductDisplayPageOverride( product = "Transmission Cooler Line Assembly", layout = "Test Private Content Page");
          • 581
            AssertElementPresent( key_entryName = "${product}", key_table = "Override Default Product Display Page", locator1 = "CommerceEntry#TABLE_ENTRY_NAME");
          • 586
            AssertElementPresent( key_layout = "${layout}", locator1 = "CommerceEntry#OVERRIDE_DEFAULT_DISPLAY_PAGE_LAYOUT");
        }
      • 310
        task ("When I click on U-Joint in the Catalog page") {
        • 311
          ApplicationsMenu.gotoSite(site = "Minium");
          • 39
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 41
            Click( key_site = "${site}", locator1 = "ApplicationsMenu#SITE_LINK");
        • 313
          CommerceNavigator.gotoMiniumSidebarItem(menuItem = "Catalog");
          • 64
            Click( key_menuItem = "${menuItem}", locator1 = "CommerceAccelerators#MINIUM_SIDEBAR_MENU_ITEM");
        • 315
          CommerceNavigator.searchEntry(entryName = "U-Joint");
          • 140
            AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
          • 142
            Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
          • 146
            KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
        • 317
          CommerceAcceleratorsInitializer.gotoMiniumProductDetailsPage(productName = "U-Joint");
          • 186
            Click( key_productName = "${productName}", locator1 = "CommerceAccelerators#PRODUCT_CARD_NAME");
        }
      • 320
        task ("Then I should be redirected to the Test Public Content Page with the Product Details widget showing the product details") {
        • 321
          ControlMenu.viewHeaderTitle(headerTitle = "Test Public Content Page");
          • 5
            AssertTextEquals( locator1 = "ControlMenu#HEADING", value1 = "${headerTitle}");
        • 323
          AssertLocation.assertPartialLocation(value1 = "web/minium/p/u-joint");
        • 325
          FrontStore.viewProductDetail(fsProductName = "U-Joint");
          • 169
            AssertTextEquals( locator1 = "CommerceFrontStore#FS_PRODUCT_NAME", value1 = "${fsProductName}");
          • 173
            if (IsElementPresent(locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT")) {
            • 174
              for (var fsOptionValues : list "${fsOptionValuesList}") {
              • 175
                var fsOptionValue = StringUtil.extractFirst("${fsOptionValues}", ":");
              • 176
                var fsPrice = StringUtil.extractLast("${fsOptionValues}", ":");
              • 177
                var fsOptionValueUppercase = StringUtil.upperCase("${fsOptionValue}");
              • 179
                FrontStore.selectAssociatedFSOptionsValue( fsOptionName = "${fsOptionName}", fsOptionValue = "${fsOptionValue}");
                • 65
                  Click( key_optionName = "${fsOptionName}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT");
                • 69
                  Click( key_optionValue = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTION");
              • 183
                echo("Checking ${fsOptionValue} ${fsProductName} SKU is correct...");
              • 185
                AssertElementPresent( key_productSku = "${fsOptionValueUppercase}SKU", locator1 = "CommerceFrontStore#FS_PRODUCT_SKU");
              • 189
                echo("Checking ${fsOptionValue} ${fsProductName} price is correct...");
              • 191
                AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "${fsPrice}");
              • 195
                echo("Checking ${fsOptionValue} ${fsProductName} image is correct...");
              • 197
                AssertElementPresent( key_fsProductImage = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_IMAGE", value1 = "${fsOptionValue}");
              }
            }
        • 327
          AssertElementPresent( key_productSku = "MIN55861", locator1 = "CommerceAccelerators#PRODUCT_DETAILS_SKU");
        • 331
          AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "24.00");
        }
      • 336
        task ("When I click on Torque Converters in the Catalog page") {
        • 337
          ApplicationsMenu.gotoSite(site = "Minium");
          • 39
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 41
            Click( key_site = "${site}", locator1 = "ApplicationsMenu#SITE_LINK");
        • 339
          CommerceNavigator.gotoMiniumSidebarItem(menuItem = "Catalog");
          • 64
            Click( key_menuItem = "${menuItem}", locator1 = "CommerceAccelerators#MINIUM_SIDEBAR_MENU_ITEM");
        • 341
          CommerceNavigator.searchEntry(entryName = "Torque Converters");
          • 140
            AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
          • 142
            Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
          • 146
            KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
        • 343
          CommerceAcceleratorsInitializer.gotoMiniumProductDetailsPage(productName = "Torque Converters");
          • 186
            Click( key_productName = "${productName}", locator1 = "CommerceAccelerators#PRODUCT_CARD_NAME");
        }
      • 346
        task ("Then I should be redirected to the Test Public Widget Page with the Product Details widget showing the product details") {
        • 347
          ControlMenu.viewHeaderTitle(headerTitle = "Test Public Widget Page");
          • 5
            AssertTextEquals( locator1 = "ControlMenu#HEADING", value1 = "${headerTitle}");
        • 349
          AssertLocation.assertPartialLocation(value1 = "web/minium/p/torque-converter");
        • 351
          FrontStore.viewProductDetail(fsProductName = "Torque Converters");
          • 169
            AssertTextEquals( locator1 = "CommerceFrontStore#FS_PRODUCT_NAME", value1 = "${fsProductName}");
          • 173
            if (IsElementPresent(locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT")) {
            • 174
              for (var fsOptionValues : list "${fsOptionValuesList}") {
              • 175
                var fsOptionValue = StringUtil.extractFirst("${fsOptionValues}", ":");
              • 176
                var fsPrice = StringUtil.extractLast("${fsOptionValues}", ":");
              • 177
                var fsOptionValueUppercase = StringUtil.upperCase("${fsOptionValue}");
              • 179
                FrontStore.selectAssociatedFSOptionsValue( fsOptionName = "${fsOptionName}", fsOptionValue = "${fsOptionValue}");
                • 65
                  Click( key_optionName = "${fsOptionName}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT");
                • 69
                  Click( key_optionValue = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTION");
              • 183
                echo("Checking ${fsOptionValue} ${fsProductName} SKU is correct...");
              • 185
                AssertElementPresent( key_productSku = "${fsOptionValueUppercase}SKU", locator1 = "CommerceFrontStore#FS_PRODUCT_SKU");
              • 189
                echo("Checking ${fsOptionValue} ${fsProductName} price is correct...");
              • 191
                AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "${fsPrice}");
              • 195
                echo("Checking ${fsOptionValue} ${fsProductName} image is correct...");
              • 197
                AssertElementPresent( key_fsProductImage = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_IMAGE", value1 = "${fsOptionValue}");
              }
            }
        • 353
          AssertElementPresent( key_productSku = "MIN55859", locator1 = "CommerceAccelerators#PRODUCT_DETAILS_SKU");
        • 357
          AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "34.00");
        }
      • 362
        task ("When I click on Transmission Cooler Line Assembly in the Catalog page") {
        • 363
          ApplicationsMenu.gotoSite(site = "Minium");
          • 39
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 41
            Click( key_site = "${site}", locator1 = "ApplicationsMenu#SITE_LINK");
        • 365
          CommerceNavigator.gotoMiniumSidebarItem(menuItem = "Catalog");
          • 64
            Click( key_menuItem = "${menuItem}", locator1 = "CommerceAccelerators#MINIUM_SIDEBAR_MENU_ITEM");
        • 367
          CommerceNavigator.searchEntry(entryName = "Transmission Cooler Line Assembly");
          • 140
            AssertElementPresent(locator1 = "CommerceNavigation#SEARCH_FIELD");
          • 142
            Type( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "${entryName}");
          • 146
            KeyPress( locator1 = "CommerceNavigation#SEARCH_FIELD", value1 = "\RETURN");
        • 369
          CommerceAcceleratorsInitializer.gotoMiniumProductDetailsPage(productName = "Transmission Cooler Line Assembly");
          • 186
            Click( key_productName = "${productName}", locator1 = "CommerceAccelerators#PRODUCT_CARD_NAME");
        }
      • 372
        task ("Then I should be redirected to the Test Private Content Page with the Product Details widget showing the product details") {
        • 373
          ControlMenu.viewHeaderTitle(headerTitle = "Test Private Content Page");
          • 5
            AssertTextEquals( locator1 = "ControlMenu#HEADING", value1 = "${headerTitle}");
        • 375
          AssertLocation.assertPartialLocation(value1 = "group/minium/p/transmission-cooler-line-assembly");
        • 377
          FrontStore.viewProductDetail(fsProductName = "Transmission Cooler Line Assembly");
          • 169
            AssertTextEquals( locator1 = "CommerceFrontStore#FS_PRODUCT_NAME", value1 = "${fsProductName}");
          • 173
            if (IsElementPresent(locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT")) {
            • 174
              for (var fsOptionValues : list "${fsOptionValuesList}") {
              • 175
                var fsOptionValue = StringUtil.extractFirst("${fsOptionValues}", ":");
              • 176
                var fsPrice = StringUtil.extractLast("${fsOptionValues}", ":");
              • 177
                var fsOptionValueUppercase = StringUtil.upperCase("${fsOptionValue}");
              • 179
                FrontStore.selectAssociatedFSOptionsValue( fsOptionName = "${fsOptionName}", fsOptionValue = "${fsOptionValue}");
                • 65
                  Click( key_optionName = "${fsOptionName}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTIONS_SELECT");
                • 69
                  Click( key_optionValue = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_OPTION");
              • 183
                echo("Checking ${fsOptionValue} ${fsProductName} SKU is correct...");
              • 185
                AssertElementPresent( key_productSku = "${fsOptionValueUppercase}SKU", locator1 = "CommerceFrontStore#FS_PRODUCT_SKU");
              • 189
                echo("Checking ${fsOptionValue} ${fsProductName} price is correct...");
              • 191
                AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "${fsPrice}");
              • 195
                echo("Checking ${fsOptionValue} ${fsProductName} image is correct...");
              • 197
                AssertElementPresent( key_fsProductImage = "${fsOptionValue}", locator1 = "CommerceFrontStore#FS_PRODUCT_IMAGE", value1 = "${fsOptionValue}");
              }
            }
        • 379
          AssertElementPresent( key_productSku = "MIN55860", locator1 = "CommerceAccelerators#PRODUCT_DETAILS_SKU");
        • 383
          AssertTextEquals.assertPartialText( locator1 = "CommerceAccelerators#PRODUCT_DETAILS_LIST_PRICE", value1 = "15.00");
        }
      }
    • 14
      tearDown {
      • 15
        Navigator.openURL();
        • 346
          WaitForSPARefresh();
        • 348
          var baseURL = "${baseURL}";
        • 350
          if (!(isSet(baseURL))) {
          • 351
            var baseURL = PropsUtil.get("portal.url");
          }
        • 354
          Open(locator1 = "${baseURL}/web/guest/home");
      • 17
        if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE")) {
        • 18
          User.logoutPG();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 2421
            @description = "Log out of Liferay Portal."
          • 2423
            if (isSet(specificURL)) {
            • 2424
              Navigator.openSpecificURL(url = "${specificURL}");
              • 295
                Open(locator1 = "${url}");
              • 297
                Alert.confirmSecurity();
                • 16
                  if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                  • 17
                    Click(locator1 = "Button#ADVANCED");
                  • 19
                    AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                  • 23
                    Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                  }
            }
          • 2426
            else {
            • 2427
              Navigator.openURL();
              • 346
                WaitForSPARefresh();
              • 348
                var baseURL = "${baseURL}";
              • 350
                if (!(isSet(baseURL))) {
                • 351
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 354
                Open(locator1 = "${baseURL}/web/guest/home");
            }
          • 2430
            UserBar.signOut();
            • 34
              if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
              • 35
                UserBar.gotoDropdown();
                • 4
                  if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                  • 5
                    Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                  }
                • 7
                  else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                  • 8
                    Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                  }
                • 10
                  else {
                  • 11
                    Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                  }
                • 14
                  AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
              • 37
                ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
              • 39
                Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
              }
        }
      • 21
        User.firstLoginPG();
        • 3
          var password = "test";
        • 4
          var userEmailAddress = "test@liferay.com";
        • 1932
          if (isSet(virtualHostsURL)) {
          • 1933
            Navigator.openSpecificURL(url = "${virtualHostsURL}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1935
          else {
          • 1936
            Navigator.openURL();
            • 346
              WaitForSPARefresh();
            • 348
              var baseURL = "${baseURL}";
            • 350
              if (!(isSet(baseURL))) {
              • 351
                var baseURL = PropsUtil.get("portal.url");
              }
            • 354
              Open(locator1 = "${baseURL}/web/guest/home");
          }
        • 1939
          UserBar.signOut();
          • 34
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 35
              UserBar.gotoDropdown();
              • 4
                if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                • 5
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                }
              • 7
                else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                • 8
                  Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                }
              • 10
                else {
                • 11
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                }
              • 14
                AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
            • 37
              ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            • 39
              Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            }
        • 1941
          JSONUser.agreeToTermsAndAnswerReminderQuery( portalURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
          • 172
            Variables.assertDefined(parameterList = "${userEmailAddress}");
            • 5
              if (!(isSet(parameterList))) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 174
            var portalInstanceName = JSONUserSetter.setPortalInstanceName(portalURL = "${portalURL}");
            • 37
              if (isSet(portalURL)) {
              • 38
                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                • 72
                  Variables.assertDefined(parameterList = "${portalURL}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 74
                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                • 75
                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                • 77
                  return "${portalInstanceName}";
              }
            • 41
              return "${portalInstanceName}";
          • 176
            var userId = JSONUserSetter.setUserId( portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
            • 92
              Variables.assertDefined(parameterList = "${userEmailAddress}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 94
              var userId = JSONUserAPI._getUserIdByEmailAddress( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
              • 209
                Variables.assertDefined(parameterList = "${userEmailAddress}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 211
                var companyId = JSONCompany.getCompanyId( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (!(isSet(parameterList))) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 216
                if (isSet(specificURL)) {
                • 217
                  var portalURL = "${specificURL}";
                }
              • 219
                else {
                • 220
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 223
                if (!(isSet(creatorEmailAddress))) {
                • 224
                  var creatorEmailAddress = "test@liferay.com";
                }
              • 227
                if (!(isSet(creatorPassword))) {
                • 228
                  var creatorPassword = "test";
                }
              • 231
                var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-email-address/company-id/${companyId}/email-address/${userEmailAddress} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 235
                var userId = JSONCurlUtil.get("${curl}", "$['userId']");
              • 237
                return "${userId}";
            • 100
              return "${userId}";
          • 180
            JSONUserAPI._agreeToTermsAndAnswerReminderQuery(userId = "${userId}");
            • 89
              Variables.assertDefined(parameterList = "${userId}");
              • 5
                if (!(isSet(parameterList))) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 91
              if (isSet(specificURL)) {
              • 92
                var portalURL = "${specificURL}";
              }
            • 94
              else {
              • 95
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              }
            • 98
              var curl = ''' ${portalURL}/api/jsonws/user/update-agreed-to-terms-of-use/user-id/${userId}/agreed-to-terms-of-use/true \ -u test@liferay.com:test ''';
            • 103
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
            • 105
              var curl = ''' ${portalURL}/api/jsonws/user/update-reminder-query/user-id/${userId}/question/what-is-your-father%27s-middle-name/answer/test \ -u test@liferay.com:test ''';
            • 110
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        • 1945
          if (isSet(virtualHostsURL)) {
          • 1946
            Navigator.openSpecificURL(url = "${virtualHostsURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1948
          else {
          • 1949
            var baseURL = PropsUtil.get("portal.url");
          • 1951
            Navigator.openSpecificURL(url = "${baseURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1956
          User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 2468
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
            • 2469
              if ("${syntaxCheckingEnabled}" == "true") {
              • 2470
                Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
              • 2474
                Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
              }
            • 2478
              else {
              • 2479
                if ("${setupWizardEnabled}" == "true") {
                • 2480
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                • 2484
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                }
              • 2488
                else {
                • 2489
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                • 2493
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                }
              }
            • 2499
              Button.clickSubmitButton();
              • 122
                Click(locator1 = "Button#SUBMIT");
            • 2501
              AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
            }
        • 1961
          User.answerPasswordReminder();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 746
            Pause(locator1 = "3000");
          • 748
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
            • 749
              Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
            • 753
              Click(locator1 = "Button#SUBMIT");
            }
        • 1963
          if (IsElementNotPresent(locator1 = "UserBar#USER_AVATAR_IMAGE")) {
          • 1964
            takeScreenshot();
          • 1966
            echo("URL login failed, falling back to UI login.");
          • 1968
            User.firstLoginUI( idpName = "${idpName}", password = "${password}", rememberMeChecked = "${rememberMeChecked}", specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}", userScreenName = "${userScreenName}");
            • 3
              var password = "test";
            • 4
              var userEmailAddress = "test@liferay.com";
            • 1983
              if (isSet(specificURL)) {
              • 1984
                Navigator.openSpecificURL(url = "${specificURL}");
                • 295
                  Open(locator1 = "${url}");
                • 297
                  Alert.confirmSecurity();
                  • 16
                    if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                    • 17
                      Click(locator1 = "Button#ADVANCED");
                    • 19
                      AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                    • 23
                      Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                    }
              }
            • 1986
              else {
              • 1987
                Navigator.openURL();
                • 346
                  WaitForSPARefresh();
                • 348
                  var baseURL = "${baseURL}";
                • 350
                  if (!(isSet(baseURL))) {
                  • 351
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 354
                  Open(locator1 = "${baseURL}/web/guest/home");
              }
            • 1990
              User._clickSignInLink( idpName = "${idpName}", localization = "${localization}", samlMultiIdPs = "${samlMultiIdPs}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 13
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 15
                if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                • 16
                  if (isSet(localization)) {
                  • 17
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                  }
                • 21
                  else if (IsElementPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 22
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                  • 26
                    if ("${samlMultiIdPs}" == "true") {
                    • 27
                      Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                    • 32
                      Button.click(button = "Sign In");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    }
                  }
                • 35
                  else if (IsElementPresent(key_text = "Sign In", locator1 = "Button#ANY")) {
                  • 36
                    Button.click(button = "Sign In");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  }
                }
            • 1995
              if ("${authenticationMethod}" == "By Screen Name") {
              • 1996
                Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
              }
            • 2000
              else if ("${authenticationMethod}" == "By User ID") {
              • 2001
                Type.typePause( key_text = "ID", locator1 = "TextInput#ANY", value1 = "${userId}");
              }
            • 2006
              else {
              • 2007
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              }
            • 2012
              Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
            • 2016
              if (isSet(rememberMeChecked) && ("${rememberMeChecked}" == "true")) {
              • 2017
                Check(locator1 = "Checkbox#REMEMBER_ME");
              }
            • 2020
              User._clickSignInButton(localization = "${localization}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 7
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 9
                Button.click(button = "${localizedSignIn}");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 2022
              if (isSet(localizedAgree)) {
              • 2023
                User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 78
                  var key_localizedAgree = "${localizedAgree}";
                • 80
                  if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                  • 81
                    AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                  • 85
                    AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                  }
              }
            • 2025
              else if (IsElementPresent(locator1 = "Button#I_AGREE")) {
              • 2026
                SignIn.agreeToTermsOfUse();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 24
                  AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                • 28
                  AssertElementNotPresent(locator1 = "Button#I_AGREE");
              }
            • 2029
              if (isSet(localizedAnswer)) {
              • 2030
                User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 758
                  Pause(locator1 = "3000");
                • 760
                  var key_localizedAnswer = "${localizedAnswer}";
                • 762
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                  • 763
                    Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                  • 767
                    Button.click(button = "${localizedSaveButton}");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 769
                    Button.viewNotPresent(button = "${localizedSaveButton}");
                    • 142
                      AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                  }
              }
            • 2034
              else if (IsElementPresent(locator1 = "Select#QUESTION")) {
              • 2035
                SignIn.setPasswordReminder();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 33
                  Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                • 37
                  Button.clickSave();
                  • 102
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 104
                    WaitForLiferayEvent.initializeLiferayEventLog();
              }
            • 2038
              WaitForLiferayEvent.initializeLiferayEventLog();
          }
        • 1976
          else {
          • 1977
            WaitForLiferayEvent.initializeLiferayEventLog();
          }
      • 23
        CommerceConfiguration.commerceAdminTearDown();
        • 67
          Navigator.openURL();
          • 346
            WaitForSPARefresh();
          • 348
            var baseURL = "${baseURL}";
          • 350
            if (!(isSet(baseURL))) {
            • 351
              var baseURL = PropsUtil.get("portal.url");
            }
          • 354
            Open(locator1 = "${baseURL}/web/guest/home");
        • 69
          CommerceJSONOrdersAPI._deleteAllCommerceOrders();
          • 64
            var baseURL = "${baseURL}";
          • 66
            if (!(isSet(baseURL))) {
            • 67
              var baseURL = PropsUtil.get("portal.url");
            }
          • 70
            var ordersCount = CommerceJSONOrdersAPI._getCommerceOrdersCount();
            • 117
              var baseURL = "${baseURL}";
            • 119
              if (!(isSet(baseURL))) {
              • 120
                var baseURL = PropsUtil.get("portal.url");
              }
            • 123
              var curl = ''' ${baseURL}/o/headless-commerce-admin-order/v1.0/orders \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 128
              var ordersCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 130
              echo("The Commerce orders count is: ${ordersCount}");
            • 132
              return "${ordersCount}";
          • 72
            if ("${ordersCount}" != "0") {
            • 73
              var orderIds = CommerceJSONOrdersAPI._getCommerceOrderIds(orderCount = "${ordersCount}");
              • 93
                var baseURL = "${baseURL}";
              • 95
                if (!(isSet(baseURL))) {
                • 96
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 99
                if (isSet(orderCount)) {
                • 100
                  var ordersCount = "${orderCount}";
                }
              • 102
                else {
                • 103
                  var ordersCount = "100";
                }
              • 106
                var curl = ''' ${baseURL}/o/headless-commerce-admin-order/v1.0/orders?pageSize=${ordersCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 111
                var orderIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 113
                return "${orderIds}";
            • 75
              for (var orderId : list "${orderIds}") {
              • 76
                echo("Deleting Commerce order with id: ${orderId}");
              • 78
                var curl = ''' ${baseURL}/o/headless-commerce-admin-order/v1.0/orders/${orderId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 84
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 87
            else {
            • 88
              echo("No Commerce Orders to be deleted");
            }
        • 71
          CommerceNavigator.gotoPortlet( category = "Order Management", portlet = "Orders");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 75
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 77
          CommerceJSONShipmentsAPI._deleteAllCommerceShipments();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var shipmentsCount = CommerceJSONShipmentsAPI._getCommerceShipmentsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-shipment/v1.0/shipments \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var shipmentsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce shipments count is: ${shipmentsCount}");
            • 72
              return "${shipmentsCount}";
          • 12
            if ("${shipmentsCount}" != "0") {
            • 13
              var shipmentIds = CommerceJSONShipmentsAPI._getCommerceShipmentIds(shipmentCount = "${shipmentsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(shipmentCount)) {
                • 40
                  var shipmentsCount = "${shipmentCount}";
                }
              • 42
                else {
                • 43
                  var shipmentsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-shipment/v1.0/shipments?pageSize=${shipmentsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var shipmentIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${shipmentIds}";
            • 15
              for (var shipmentId : list "${shipmentIds}") {
              • 16
                echo("Deleting Commerce shipment with id: ${shipmentId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-shipment/v1.0/shipments/${shipmentId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Shipments to be deleted");
            }
        • 79
          CommerceNavigator.gotoPortlet( category = "Order Management", portlet = "Shipments");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 83
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 85
          JSONUser.tearDownNonAdminUsers();
          • 265
            var userIds = JSONUserAPI._getUserIds(authenticationMethod = "${authenticationMethod}");
            • 274
              var companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
              • 4
                if (!(isSet(portalInstanceName))) {
                • 5
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 50
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 51
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 53
                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                    • 54
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 56
                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                      • 72
                        Variables.assertDefined(parameterList = "${portalURL}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 74
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 75
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 77
                        return "${portalInstanceName}";
                    • 58
                      return "${portalInstanceName}";
                    }
                  • 60
                    else {
                    • 61
                      return "localhost";
                    }
                }
              • 8
                if (!(isSet(portalURL))) {
                • 9
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 12
                if (!(isSet(creatorEmailAddress))) {
                • 13
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 14
                    if (!(isSet(userScreenName))) {
                    • 15
                      var creatorEmailAddress = "test";
                    }
                  • 17
                    else {
                    • 18
                      var creatorEmailAddress = "${userScreenName}";
                    }
                  }
                • 21
                  else {
                  • 22
                    var creatorEmailAddress = "test@liferay.com";
                  }
                }
              • 26
                if (!(isSet(creatorPassword))) {
                • 27
                  var creatorPassword = "test";
                }
              • 30
                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 34
                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
              • 36
                return "${companyId}";
            • 276
              if (isSet(specificURL)) {
              • 277
                var portalURL = "${specificURL}";
              }
            • 279
              else {
              • 280
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              }
            • 283
              if ("${authenticationMethod}" == "By Screen Name") {
              • 284
                var userName = "test";
              }
            • 286
              else {
              • 287
                var userName = "test@liferay.com";
              }
            • 290
              var curl = ''' ${portalURL}/api/jsonws/user/get-company-users \ -u ${userName}:test \ -d companyId=${companyId} \ -d \ -d ''';
            • 297
              var userIds = JSONCurlUtil.post("${curl}", "$..['userId']");
            • 299
              return "${userIds}";
          • 267
            for (var userId : list "${userIds}") {
            • 268
              var currentEmailAddress = JSONUserGetter.getEmailAddress( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
              • 26
                Variables.assertDefined(parameterList = "${userId}");
                • 5
                  if (!(isSet(parameterList))) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 28
                var curl = JSONUserGetter._getUserByIdCurl( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                • 4
                  Variables.assertDefined(parameterList = "${userId}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 6
                  var companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
                  • 4
                    if (!(isSet(portalInstanceName))) {
                    • 5
                      var portalInstanceName = JSONCompany.getPortalInstanceName();
                      • 50
                        var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                      • 51
                        var testPortalInstance = PropsUtil.get("test.portal.instance");
                      • 53
                        if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                        • 54
                          var portalURL = JSONCompany.getPortalURL();
                          • 66
                            var portalURL = PropsUtil.get("portal.url");
                          • 68
                            return "${portalURL}";
                        • 56
                          var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                          • 72
                            Variables.assertDefined(parameterList = "${portalURL}");
                            • 5
                              if (!(isSet(parameterList))) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                              • 17
                                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 74
                            var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                          • 75
                            var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                          • 77
                            return "${portalInstanceName}";
                        • 58
                          return "${portalInstanceName}";
                        }
                      • 60
                        else {
                        • 61
                          return "localhost";
                        }
                    }
                  • 8
                    if (!(isSet(portalURL))) {
                    • 9
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    }
                  • 12
                    if (!(isSet(creatorEmailAddress))) {
                    • 13
                      if ("${authenticationMethod}" == "By Screen Name") {
                      • 14
                        if (!(isSet(userScreenName))) {
                        • 15
                          var creatorEmailAddress = "test";
                        }
                      • 17
                        else {
                        • 18
                          var creatorEmailAddress = "${userScreenName}";
                        }
                      }
                    • 21
                      else {
                      • 22
                        var creatorEmailAddress = "test@liferay.com";
                      }
                    }
                  • 26
                    if (!(isSet(creatorPassword))) {
                    • 27
                      var creatorPassword = "test";
                    }
                  • 30
                    var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                  • 34
                    var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                  • 36
                    return "${companyId}";
                • 8
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                • 10
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 11
                    var userName = "test";
                  }
                • 13
                  else {
                  • 14
                    var userName = "test@liferay.com";
                  }
                • 17
                  var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-id/user-id/${userId} \ -u ${userName}:test \ ''';
                • 22
                  return "${curl}";
              • 32
                var userEmailAddress = JSONCurlUtil.get("${curl}", "$['emailAddress']");
              • 34
                return "${userEmailAddress}";
            • 272
              if ("${currentEmailAddress}" != "test@liferay.com") {
              • 273
                JSONUser.deleteUserByUserId( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                • 205
                  Variables.assertDefined(parameterList = "${userId}");
                  • 5
                    if (!(isSet(parameterList))) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 207
                  JSONUserAPI._deleteUser( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                  • 139
                    Variables.assertDefined(parameterList = "${userId}");
                    • 5
                      if (!(isSet(parameterList))) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 141
                    if (isSet(specificURL)) {
                    • 142
                      var portalURL = "${specificURL}";
                    }
                  • 144
                    else {
                    • 145
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    }
                  • 148
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 149
                      var userName = "test";
                    }
                  • 151
                    else {
                    • 152
                      var userName = "test@liferay.com";
                    }
                  • 155
                    var curl = ''' ${portalURL}/api/jsonws/user/delete-user \ -u ${userName}:test \ -d userId=${userId} ''';
                  • 161
                    com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
              }
            }
        • 87
          CommerceJSONAccountsAPI._deleteAllCommerceAccounts();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var accountsCount = CommerceJSONAccountsAPI._getCommerceAccountsCount();
            • 88
              var baseURL = "${baseURL}";
            • 90
              if (!(isSet(baseURL))) {
              • 91
                var baseURL = PropsUtil.get("portal.url");
              }
            • 94
              var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accounts \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 99
              var accountsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 101
              echo("The Commerce accounts count is: ${accountsCount}");
            • 103
              return "${accountsCount}";
          • 12
            if ("${accountsCount}" != "0") {
            • 13
              var accountIds = CommerceJSONAccountsAPI._getCommerceAccountIds(accountCount = "${accountsCount}");
              • 64
                var baseURL = "${baseURL}";
              • 66
                if (!(isSet(baseURL))) {
                • 67
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 70
                if (isSet(accountCount)) {
                • 71
                  var accountsCount = "${accountCount}";
                }
              • 73
                else {
                • 74
                  var accountsCount = "100";
                }
              • 77
                var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accounts?pageSize=${accountsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 82
                var accountIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 84
                return "${accountIds}";
            • 15
              for (var accountId : list "${accountIds}") {
              • 16
                echo("Deleting Commerce account with id: ${accountId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accounts/${accountId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Accounts to be deleted");
            }
        • 89
          ApplicationsMenu.gotoPortlet( category = "Accounts", panel = "Control Panel", portlet = "Accounts");
          • 28
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 30
            ApplicationsMenu.gotoPanel(panel = "${panel}");
            • 17
              var key_panel = "${panel}";
            • 19
              Click(locator1 = "ApplicationsMenu#PANEL");
            • 21
              AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
            • 23
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 32
            ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
            • 16
              Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 94
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 96
          CommerceJSONAccountGroupsAPI._deleteAllCommerceAccountGroups();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var accountGroupsCount = CommerceJSONAccountGroupsAPI._getCommerceAccountGroupsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accountGroups \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var accountGroupsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce account group count is: ${accountGroupsCount}");
            • 72
              return "${accountGroupsCount}";
          • 12
            if ("${accountGroupsCount}" != "0") {
            • 13
              var accountGroupIds = CommerceJSONAccountGroupsAPI._getCommerceAccountGroupIds(accountGroupCount = "${accountGroupsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(accountGroupCount)) {
                • 40
                  var accountGroupsCount = "${accountGroupCount}";
                }
              • 42
                else {
                • 43
                  var accountGroupsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accountGroups?pageSize=${accountGroupsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var accountGroupIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${accountGroupIds}";
            • 15
              for (var accountGroupId : list "${accountGroupIds}") {
              • 16
                echo("Deleting Commerce account group with id: ${accountGroupId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-account/v1.0/accountGroups/${accountGroupId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Account Groups to be deleted");
            }
        • 98
          ApplicationsMenu.gotoPortlet( category = "Accounts", panel = "Control Panel", portlet = "Account Groups");
          • 28
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 30
            ApplicationsMenu.gotoPanel(panel = "${panel}");
            • 17
              var key_panel = "${panel}";
            • 19
              Click(locator1 = "ApplicationsMenu#PANEL");
            • 21
              AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
            • 23
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 32
            ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
            • 16
              Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 103
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 105
          CommerceJSONProductsAPI._deleteAllCommerceProducts();
          • 82
            var baseURL = "${baseURL}";
          • 84
            if (!(isSet(baseURL))) {
            • 85
              var baseURL = PropsUtil.get("portal.url");
            }
          • 88
            var productsCount = CommerceJSONProductsAPI._getCommerceProductsCount();
            • 135
              var baseURL = "${baseURL}";
            • 137
              if (!(isSet(baseURL))) {
              • 138
                var baseURL = PropsUtil.get("portal.url");
              }
            • 141
              var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/products \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 146
              var productsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 148
              echo("The Commerce product count is: ${productsCount}");
            • 150
              return "${productsCount}";
          • 90
            if ("${productsCount}" != "0") {
            • 91
              var productIds = CommerceJSONProductsAPI._getCommerceProductIds(prodCount = "${productsCount}");
              • 111
                var baseURL = "${baseURL}";
              • 113
                if (!(isSet(baseURL))) {
                • 114
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 117
                if (isSet(prodCount)) {
                • 118
                  var productsCount = "${prodCount}";
                }
              • 120
                else {
                • 121
                  var productsCount = "100";
                }
              • 124
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/products?pageSize=${productsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 129
                var productIds = JSONCurlUtil.get("${curl}", "$..['productId']");
              • 131
                return "${productIds}";
            • 93
              for (var productId : list "${productIds}") {
              • 94
                echo("Deleting Commerce product with productId: ${productId}");
              • 96
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/products/${productId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 102
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 105
            else {
            • 106
              echo("No Commerce Products to be deleted");
            }
        • 107
          CommerceNavigator.gotoPortlet( category = "Product Management", portlet = "Products");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 111
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 113
          CommerceJSONOptionsAPI._deleteAllCommerceOptions();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var optionsCount = CommerceJSONOptionsAPI._getCommerceOptionsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/options \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var optionsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce option count is: ${optionsCount}");
            • 72
              return "${optionsCount}";
          • 12
            if ("${optionsCount}" != "0") {
            • 13
              var optionIds = CommerceJSONOptionsAPI._getCommerceOptionIds(optionCount = "${optionsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(optionCount)) {
                • 40
                  var optionsCount = "${optionCount}";
                }
              • 42
                else {
                • 43
                  var optionsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/options?pageSize=${optionsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var optionIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${optionIds}";
            • 15
              for (var optionId : list "${optionIds}") {
              • 16
                echo("Deleting Commerce option with id: ${optionId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/options/${optionId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Option to be deleted");
            }
        • 115
          CommerceNavigator.gotoPortlet( category = "Product Management", portlet = "Options");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 119
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 121
          CommerceJSONSpecificationGroupsAPI._deleteAllCommerceSpecificationGroups();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var specificationGroupsCount = CommerceJSONSpecificationGroupsAPI._getCommerceSpecificationGroupsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/optionCategories \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var specificationGroupsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce specification groups count is: ${specificationGroupsCount}");
            • 72
              return "${specificationGroupsCount}";
          • 12
            if ("${specificationGroupsCount}" != "0") {
            • 13
              var specificationGroupIds = CommerceJSONSpecificationGroupsAPI._getCommerceSpecificationGroupIds(specificationGroupsCount = "${specificationGroupsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(specificationGroupsCount)) {
                • 40
                  var specificationGroupsCount = "${specificationGroupCount}";
                }
              • 42
                else {
                • 43
                  var specificationGroupsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/optionCategories?pageSize=${specificationGroupsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var specificationGroupIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${specificationGroupIds}";
            • 15
              for (var specificationGroupId : list "${specificationGroupIds}") {
              • 16
                echo("Deleting Commerce specification group with id: ${specificationGroupId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/optionCategories/${specificationGroupId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Specification Groups to be deleted");
            }
        • 123
          CommerceJSONSpecificationsAPI._deleteAllCommerceSpecifications();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var specificationsCount = CommerceJSONSpecificationsAPI._getCommerceSpecificationsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/specifications \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var specificationsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce specifications count is: ${specificationsCount}");
            • 72
              return "${specificationsCount}";
          • 12
            if ("${specificationsCount}" != "0") {
            • 13
              var specificationIds = CommerceJSONSpecificationsAPI._getCommerceSpecificationIds(specificationCount = "${specificationsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(specificationCount)) {
                • 40
                  var specificationsCount = "${specificationCount}";
                }
              • 42
                else {
                • 43
                  var specificationsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/specifications?pageSize=${specificationsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var specificationIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${specificationIds}";
            • 15
              for (var specificationId : list "${specificationIds}") {
              • 16
                echo("Deleting Commerce specification with id: ${specificationId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/specifications/${specificationId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Specifications to be deleted");
            }
        • 125
          CommerceNavigator.gotoPortlet( category = "Product Management", portlet = "Specifications");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 129
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 131
          CommerceNavigator.gotoCommercePortletNavItem(navItem = "Specification Groups");
          • 28
            AssertClick( key_navItem = "${navItem}", locator1 = "NavBar#NAV_ITEM_LINK", value1 = "${navItem}");
        • 133
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 135
          CommerceJSONChannelsAPI._deleteAllCommerceChannels();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var channelsCount = CommerceJSONChannelsAPI._getCommerceChannelsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-channel/v1.0/channels \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var channelsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce channels count is: ${channelsCount}");
            • 72
              return "${channelsCount}";
          • 12
            if ("${channelsCount}" != "0") {
            • 13
              var channelIds = CommerceJSONChannelsAPI._getCommerceChannelIds(channelCount = "${channelsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(channelCount)) {
                • 40
                  var channelsCount = "${channelCount}";
                }
              • 42
                else {
                • 43
                  var channelsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-channel/v1.0/channels?pageSize=${channelsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var channelIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${channelIds}";
            • 15
              for (var channelId : list "${channelIds}") {
              • 16
                echo("Deleting Commerce channel with id: ${channelId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-channel/v1.0/channels/${channelId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Channels to be deleted");
            }
        • 137
          CommerceNavigator.gotoPortlet( category = "Store Management", portlet = "Channels");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 141
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 143
          CommerceJSONCatalogsAPI._deleteAllNoSystemCommerceCatalogs();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var catalogIds = CommerceJSONCatalogsAPI._getCommerceNoSystemCatalogIds();
            • 59
              var baseURL = "${baseURL}";
            • 60
              var masterCatalogName = "Master";
            • 62
              if (!(isSet(baseURL))) {
              • 63
                var baseURL = PropsUtil.get("portal.url");
              }
            • 66
              if (isSet(catalogCount)) {
              • 67
                var catalogsCount = "${catalogCount}";
              }
            • 69
              else {
              • 70
                var catalogsCount = "100";
              }
            • 73
              var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/catalogs?pageSize=${catalogsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 78
              var catalogIds = JSONCurlUtil.get("${curl}", "$.items[?(@['system'] == false)].['id']");
            • 80
              return "${catalogIds}";
          • 12
            if ("${catalogIds}" != "") {
            • 13
              for (var catalogId : list "${catalogIds}") {
              • 14
                var curl = ''' ${baseURL}/o/headless-commerce-admin-catalog/v1.0/catalog/${catalogId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 20
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 23
            else {
            • 24
              echo("No Commerce Catalogs to be deleted");
            }
        • 145
          CommerceNavigator.gotoPortlet( category = "Product Management", portlet = "Catalogs");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 149
          IsElementPresent( key_rowNumber = "1", locator1 = "CommerceNavigation#ENTRY_NAME_N");
        • 153
          CommerceJSONPriceListsAndPromotionsAPI._deleteAllNoMasterPriceListsAndPromotions();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var priceListAndPromotionIds = CommerceJSONPriceListsAndPromotionsAPI._getCommerceNoMasterPriceListsAndPromotions();
            • 29
              var baseURL = "${baseURL}";
            • 31
              if (!(isSet(baseURL))) {
              • 32
                var baseURL = PropsUtil.get("portal.url");
              }
            • 35
              if (isSet(priceListAndPromotionCount)) {
              • 36
                var priceListsAndPromotionsCount = "${priceListAndPromotionCount}";
              }
            • 38
              else {
              • 39
                var priceListsAndPromotionsCount = "100";
              }
            • 42
              var curl = ''' ${baseURL}/o/headless-commerce-admin-pricing/v2.0/price-lists?pageSize=${priceListsAndPromotionsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 47
              var priceListAndPromotionIds = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] != 'Master Base Promotion' && @['name'] != 'Master Base Price List')].['id']");
            • 49
              return "${priceListAndPromotionIds}";
          • 12
            if ("${priceListAndPromotionIds}" != "") {
            • 13
              for (var priceListAndPromotionId : list "${priceListAndPromotionIds}") {
              • 14
                var curl = ''' ${baseURL}/o/headless-commerce-admin-pricing/v2.0/price-lists/${priceListAndPromotionId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 20
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 23
            else {
            • 24
              echo("No Commerce Price Lists And Promotions to be deleted");
            }
        • 155
          CommerceNavigator.gotoPortlet( category = "Pricing", portlet = "Price Lists");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 159
          IsElementPresent( key_rowNumber = "1", locator1 = "CommerceNavigation#ENTRY_NAME_N");
        • 163
          CommerceNavigator.gotoPortlet( category = "Pricing", portlet = "Promotions");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 167
          IsElementPresent( key_rowNumber = "1", locator1 = "CommerceNavigation#ENTRY_NAME_N");
        • 171
          CommerceJSONDiscountsAPI._deleteAllCommerceDiscounts();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var discountsCount = CommerceJSONDiscountsAPI._getCommerceDiscountsCount();
            • 57
              var baseURL = "${baseURL}";
            • 59
              if (!(isSet(baseURL))) {
              • 60
                var baseURL = PropsUtil.get("portal.url");
              }
            • 63
              var curl = ''' ${baseURL}/o/headless-commerce-admin-pricing/v2.0/discounts \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 68
              var discountsCount = JSONCurlUtil.get("${curl}", "$['totalCount']");
            • 70
              echo("The Commerce discounts count is: ${discountsCount}");
            • 72
              return "${discountsCount}";
          • 12
            if ("${discountsCount}" != "0") {
            • 13
              var discountIds = CommerceJSONDiscountsAPI._getCommerceDiscountIds(discountCount = "${discountsCount}");
              • 33
                var baseURL = "${baseURL}";
              • 35
                if (!(isSet(baseURL))) {
                • 36
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 39
                if (isSet(discountCount)) {
                • 40
                  var discountsCount = "${discountCount}";
                }
              • 42
                else {
                • 43
                  var discountsCount = "100";
                }
              • 46
                var curl = ''' ${baseURL}/o/headless-commerce-admin-pricing/v2.0/discounts?pageSize=${discountsCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 51
                var discountIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 53
                return "${discountIds}";
            • 15
              for (var discountId : list "${discountIds}") {
              • 16
                echo("Deleting Commerce discount with id: ${discountId}");
              • 18
                var curl = ''' ${baseURL}/o/headless-commerce-admin-pricing/v2.0/discounts/${discountId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 24
                JSONCurlUtil.delete("${curl}");
              }
            }
          • 27
            else {
            • 28
              echo("No Commerce Discounts to be deleted");
            }
        • 173
          CommerceNavigator.gotoPortlet( category = "Pricing", portlet = "Discounts");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 177
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 179
          CommerceJSONAvailableEstimatesAPI._deleteCommerceAvailableEstimates();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var commerceAvailabilityEstimateIds = CommerceJSONAvailableEstimatesAPI._getCommerceAvailableEstimates();
            • 31
              var baseURL = "${baseURL}";
            • 33
              if (!(isSet(baseURL))) {
              • 34
                var baseURL = PropsUtil.get("portal.url");
              }
            • 37
              var companyId = JSONCompany.getCompanyId();
              • 4
                if (!(isSet(portalInstanceName))) {
                • 5
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 50
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 51
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 53
                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                    • 54
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 56
                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                      • 72
                        Variables.assertDefined(parameterList = "${portalURL}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 74
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 75
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 77
                        return "${portalInstanceName}";
                    • 58
                      return "${portalInstanceName}";
                    }
                  • 60
                    else {
                    • 61
                      return "localhost";
                    }
                }
              • 8
                if (!(isSet(portalURL))) {
                • 9
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 12
                if (!(isSet(creatorEmailAddress))) {
                • 13
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 14
                    if (!(isSet(userScreenName))) {
                    • 15
                      var creatorEmailAddress = "test";
                    }
                  • 17
                    else {
                    • 18
                      var creatorEmailAddress = "${userScreenName}";
                    }
                  }
                • 21
                  else {
                  • 22
                    var creatorEmailAddress = "test@liferay.com";
                  }
                }
              • 26
                if (!(isSet(creatorPassword))) {
                • 27
                  var creatorPassword = "test";
                }
              • 30
                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 34
                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
              • 36
                return "${companyId}";
            • 39
              var curl = ''' ${baseURL}/api/jsonws/commerce.commerceavailabilityestimate/get-commerce-availability-estimates/ \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator='' ''';
            • 48
              echo("curl: ${curl}");
            • 50
              var availableEstimates = JSONCurlUtil.post("${curl}", "$..['commerceAvailabilityEstimateId']");
            • 52
              echo("availableEstimates: ${availableEstimates}");
            • 54
              return "${availableEstimates}";
          • 12
            if ("${commerceAvailabilityEstimateIds}" != "") {
            • 13
              for (var commerceAvailabilityEstimateId : list "${commerceAvailabilityEstimateIds}") {
              • 14
                echo("Deleting Commerce commerceAvailabilityEstimate with id: ${commerceAvailabilityEstimateId}");
              • 16
                var curl = ''' ${baseURL}/api/jsonws/commerce.commerceavailabilityestimate/delete-commerce-availability-estimate \ -u test@liferay.com:test \ -d commerceAvailabilityEstimateId=${commerceAvailabilityEstimateId} ''';
              • 22
                JSONCurlUtil.post("${curl}");
              }
            }
          • 25
            else {
            • 26
              echo("No Commerce Availability Estimate to be deleted");
            }
        • 181
          CommerceNavigator.gotoPortlet( category = "Settings", portlet = "Availability Estimates");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 185
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 187
          CommerceJSONMeasurementUnitsAPI._deleteCommerceMeasurementUnits();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var commerceMeasurementUnitsIds = CommerceJSONMeasurementUnitsAPI._getCommerceMeasurementUnits();
            • 31
              var baseURL = "${baseURL}";
            • 33
              if (!(isSet(baseURL))) {
              • 34
                var baseURL = PropsUtil.get("portal.url");
              }
            • 37
              var companyId = JSONCompany.getCompanyId();
              • 4
                if (!(isSet(portalInstanceName))) {
                • 5
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 50
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 51
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 53
                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                    • 54
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 56
                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                      • 72
                        Variables.assertDefined(parameterList = "${portalURL}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 74
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 75
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 77
                        return "${portalInstanceName}";
                    • 58
                      return "${portalInstanceName}";
                    }
                  • 60
                    else {
                    • 61
                      return "localhost";
                    }
                }
              • 8
                if (!(isSet(portalURL))) {
                • 9
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 12
                if (!(isSet(creatorEmailAddress))) {
                • 13
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 14
                    if (!(isSet(userScreenName))) {
                    • 15
                      var creatorEmailAddress = "test";
                    }
                  • 17
                    else {
                    • 18
                      var creatorEmailAddress = "${userScreenName}";
                    }
                  }
                • 21
                  else {
                  • 22
                    var creatorEmailAddress = "test@liferay.com";
                  }
                }
              • 26
                if (!(isSet(creatorPassword))) {
                • 27
                  var creatorPassword = "test";
                }
              • 30
                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 34
                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
              • 36
                return "${companyId}";
            • 39
              var curl = ''' ${baseURL}/api/jsonws/commerce.cpmeasurementunit/get-cp-measurement-units \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator='' ''';
            • 48
              echo("curl: ${curl}");
            • 50
              var commerceMeasurementUnits = JSONCurlUtil.post("${curl}", "$..['CPMeasurementUnitId']");
            • 52
              echo("commerceMeasurementUnits: ${commerceMeasurementUnits}");
            • 54
              return "${commerceMeasurementUnits}";
          • 12
            if ("${commerceMeasurementUnitsIds}" != "") {
            • 13
              for (var commerceMeasurementUnitsId : list "${commerceMeasurementUnitsIds}") {
              • 14
                echo("Deleting Commerce Measurement Units with id: ${commerceMeasurementUnitsId}");
              • 16
                var curl = ''' ${baseURL}/api/jsonws/commerce.cpmeasurementunit/delete-cp-measurement-unit \ -u test@liferay.com:test \ -d cpMeasurementUnitId=${commerceMeasurementUnitsId} ''';
              • 22
                JSONCurlUtil.post("${curl}");
              }
            }
          • 25
            else {
            • 26
              echo("No Commerce Measurement Units to be deleted");
            }
        • 189
          CommerceNavigator.gotoPortlet( category = "Settings", portlet = "Measurement Units");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 193
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 195
          CommerceNavigator.gotoCommercePortletNavItem(navItem = "Weight");
          • 28
            AssertClick( key_navItem = "${navItem}", locator1 = "NavBar#NAV_ITEM_LINK", value1 = "${navItem}");
        • 197
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 199
          CommerceJSONTaxCategoriesAPI._deleteCommerceTaxCategories();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var commerceTaxCategoriesIds = CommerceJSONTaxCategoriesAPI._getCommerceTaxCategories();
            • 31
              var baseURL = "${baseURL}";
            • 33
              if (!(isSet(baseURL))) {
              • 34
                var baseURL = PropsUtil.get("portal.url");
              }
            • 37
              var companyId = JSONCompany.getCompanyId();
              • 4
                if (!(isSet(portalInstanceName))) {
                • 5
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 50
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 51
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 53
                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                    • 54
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 56
                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                      • 72
                        Variables.assertDefined(parameterList = "${portalURL}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 74
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 75
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 77
                        return "${portalInstanceName}";
                    • 58
                      return "${portalInstanceName}";
                    }
                  • 60
                    else {
                    • 61
                      return "localhost";
                    }
                }
              • 8
                if (!(isSet(portalURL))) {
                • 9
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 12
                if (!(isSet(creatorEmailAddress))) {
                • 13
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 14
                    if (!(isSet(userScreenName))) {
                    • 15
                      var creatorEmailAddress = "test";
                    }
                  • 17
                    else {
                    • 18
                      var creatorEmailAddress = "${userScreenName}";
                    }
                  }
                • 21
                  else {
                  • 22
                    var creatorEmailAddress = "test@liferay.com";
                  }
                }
              • 26
                if (!(isSet(creatorPassword))) {
                • 27
                  var creatorPassword = "test";
                }
              • 30
                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 34
                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
              • 36
                return "${companyId}";
            • 39
              var curl = ''' ${baseURL}/api/jsonws/commerce.cptaxcategory/get-cp-tax-categories \ -u test@liferay.com:test \ -d companyId=${companyId} \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator='' ''';
            • 48
              echo("curl: ${curl}");
            • 50
              var commerceTaxCategories = JSONCurlUtil.post("${curl}", "$..['CPTaxCategoryId']");
            • 52
              echo("commerceTaxCategories: ${commerceTaxCategories}");
            • 54
              return "${commerceTaxCategories}";
          • 12
            if ("${commerceTaxCategoriesIds}" != "") {
            • 13
              for (var commerceTaxCategoriesId : list "${commerceTaxCategoriesIds}") {
              • 14
                echo("Deleting Commerce Tax Categories with id: ${commerceTaxCategoriesId}");
              • 16
                var curl = ''' ${baseURL}/api/jsonws/commerce.cptaxcategory/delete-cp-tax-category \ -u test@liferay.com:test \ -d cpTaxCategoryId=${commerceTaxCategoriesId} ''';
              • 22
                JSONCurlUtil.post("${curl}");
              }
            }
          • 25
            else {
            • 26
              echo("No Commerce Tax Categories to be deleted");
            }
        • 201
          CommerceNavigator.gotoPortlet( category = "Pricing", portlet = "Tax Categories");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 205
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 207
          CommerceJSONWarehousesAndInventoriesAPI._deleteAllWarehouseItems();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var warehouseIds = CommerceJSONWarehousesAndInventoriesAPI._getCommerceWarehouseIds();
            • 56
              var baseURL = "${baseURL}";
            • 58
              if (!(isSet(baseURL))) {
              • 59
                var baseURL = PropsUtil.get("portal.url");
              }
            • 62
              if (isSet(warehouseCount)) {
              • 63
                var warehousesCount = "${warehouseCount}";
              }
            • 65
              else {
              • 66
                var warehousesCount = "200";
              }
            • 69
              var curl = ''' ${baseURL}/o/headless-commerce-admin-inventory/v1.0/warehouses?pageSize=${warehousesCount} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
            • 74
              var warehouseIds = JSONCurlUtil.get("${curl}", "$..['id']");
            • 76
              return "${warehouseIds}";
          • 12
            if ("${warehouseIds}" != "") {
            • 13
              for (var warehouseId : list "${warehouseIds}") {
              • 14
                echo("Get warehouseItems for warehouseId: ${warehouseId}");
              • 16
                var curl = ''' ${baseURL}/o/headless-commerce-admin-inventory/v1.0/warehouses/${warehouseId}/warehouseItems?pageSize=200 \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
              • 21
                var warehouseItemsIds = JSONCurlUtil.get("${curl}", "$..['id']");
              • 23
                if ("${warehouseItemsIds}" != "") {
                • 24
                  for (var warehouseItemId : list "${warehouseItemsIds}") {
                  • 25
                    echo("Deleting Commerce warehouseItem with id: ${warehouseItemId}");
                  • 27
                    var curl = ''' ${baseURL}/o/headless-commerce-admin-inventory/v1.0/warehouseItems/${warehouseItemId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
                  • 33
                    JSONCurlUtil.delete("${curl}");
                  }
                }
              • 37
                echo("Deleting Commerce warehouse with id: ${warehouseId}");
              • 39
                if ("${warehouseId}" != "") {
                • 40
                  var curl = ''' ${baseURL}/o/headless-commerce-admin-inventory/v1.0/warehouses/${warehouseId} \ -u test@liferay.com:test \ -H 'accept: application/json' \ ''';
                • 46
                  JSONCurlUtil.delete("${curl}");
                }
              }
            }
          • 50
            else {
            • 51
              echo("No Commerce Warehouse to be deleted");
            }
        • 209
          CommerceNavigator.gotoPortlet( category = "Inventory Management", portlet = "Inventory");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 213
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
        • 215
          CommerceNavigator.gotoPortlet( category = "Inventory Management", portlet = "Warehouses");
          • 89
            ApplicationsMenu.gotoPortlet( category = "${category}", panel = "Commerce", portlet = "${portlet}");
            • 28
              ApplicationsMenuHelper.openApplicationsMenu();
              • 23
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 24
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 27
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 30
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 17
                var key_panel = "${panel}";
              • 19
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 21
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 23
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 32
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 16
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 219
          IsElementPresent(locator1 = "CommerceNavigation#EMPTY_SEARCH_CONTAINER");
      • 25
        CommerceConfiguration.commerceInitializersTearDown();
        • 223
          ApplicationsMenu.gotoPortlet( category = "Sites", panel = "Control Panel", portlet = "Sites");
          • 28
            ApplicationsMenuHelper.openApplicationsMenu();
            • 23
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 24
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 27
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 30
            ApplicationsMenu.gotoPanel(panel = "${panel}");
            • 17
              var key_panel = "${panel}";
            • 19
              Click(locator1 = "ApplicationsMenu#PANEL");
            • 21
              AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
            • 23
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 32
            ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
            • 16
              Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 228
          CommerceJSONSitesAPI._deleteCommerceSites();
          • 4
            var baseURL = "${baseURL}";
          • 6
            if (!(isSet(baseURL))) {
            • 7
              var baseURL = PropsUtil.get("portal.url");
            }
          • 10
            var commerceSitesIds = CommerceJSONSitesAPI._getCommerceSites();
            • 31
              var baseURL = "${baseURL}";
            • 33
              if (!(isSet(baseURL))) {
              • 34
                var baseURL = PropsUtil.get("portal.url");
              }
            • 37
              var companyId = JSONCompany.getCompanyId();
              • 4
                if (!(isSet(portalInstanceName))) {
                • 5
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 50
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 51
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 53
                    if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                    • 54
                      var portalURL = JSONCompany.getPortalURL();
                      • 66
                        var portalURL = PropsUtil.get("portal.url");
                      • 68
                        return "${portalURL}";
                    • 56
                      var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                      • 72
                        Variables.assertDefined(parameterList = "${portalURL}");
                        • 5
                          if (!(isSet(parameterList))) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                          • 17
                            if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 74
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 75
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 77
                        return "${portalInstanceName}";
                    • 58
                      return "${portalInstanceName}";
                    }
                  • 60
                    else {
                    • 61
                      return "localhost";
                    }
                }
              • 8
                if (!(isSet(portalURL))) {
                • 9
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 12
                if (!(isSet(creatorEmailAddress))) {
                • 13
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 14
                    if (!(isSet(userScreenName))) {
                    • 15
                      var creatorEmailAddress = "test";
                    }
                  • 17
                    else {
                    • 18
                      var creatorEmailAddress = "${userScreenName}";
                    }
                  }
                • 21
                  else {
                  • 22
                    var creatorEmailAddress = "test@liferay.com";
                  }
                }
              • 26
                if (!(isSet(creatorPassword))) {
                • 27
                  var creatorPassword = "test";
                }
              • 30
                var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 34
                var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
              • 36
                return "${companyId}";
            • 39
              var curl = ''' ${baseURL}/api/jsonws/group/get-user-sites-groups \ -u test@liferay.com:test \ ''';
            • 44
              echo("curl: ${curl}");
            • 46
              var commerceSites = JSONCurlUtil.post("${curl}", "$.[?((@['friendlyURL'] != '/global' && @['friendlyURL'] != '/guest') && (@['site'] == true))].['groupId']");
            • 48
              echo("commerceSites: ${commerceSites}");
            • 50
              return "${commerceSites}";
          • 12
            if ("${commerceSitesIds}" != "") {
            • 13
              for (var commerceSitesId : list "${commerceSitesIds}") {
              • 14
                echo("Deleting Commerce Sites with id: ${commerceSitesId}");
              • 16
                var curl = ''' ${baseURL}/api/jsonws/group/delete-group \ -u test@liferay.com:test \ -d groupId=${commerceSitesId} ''';
              • 22
                JSONCurlUtil.post("${curl}");
              }
            }
          • 25
            else {
            • 26
              echo("No Commerce Sites to be deleted");
            }
      }