LocalFile.ContentPagesWithStagingAndPageTemplates#set-up
  • 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

    Cause:

    LIFERAY_ERROR: Email test@domain.invalid will be ignored because it is included in mail.send.blacklist

    Steps:

    • Set up instance and sign in --> WARNING
      • WaitForSPARefresh#waitForSPARefresh --> WARNING
    before0Before
    after0After
  • 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 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//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'portal-message') and contains(@class,'alert-info')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
  • Running IsElementNotPresent with locator1//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running isElementNotPresent with parameters//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
  • Running AssertClick with locator1//span[contains(@class,'sign-in')]/a/span with value1Sign In
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running waitForTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running mouseOver with parameters//span[contains(@class,'sign-in')]/a/span
    • Running clickAt with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
  • Running Type#typePause with locator1//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text'] with value1test@liferay.com
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]test@liferay.com
    • Running isElementPresent with parameters//div[contains(@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@liferay.com
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']test@liferay.com
    • Running waitForEditable with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running mouseOver with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running type with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']test@liferay.com
    • Running pause with parameters5000
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running assertLiferayErrors
  • Running Type#typePause with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password'] with value1test
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]test
    • Running isElementPresent with parameters//div[contains(@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
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']test
    • Running waitForEditable with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running mouseOver with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running type with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']test
    • Running pause with parameters5000
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
  • Running AssertElementNotPresent with locator1//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertElementNotPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'I Agree')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'I Agree')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'I Agree')]
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/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(.,'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(.,'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 AssertElementPresent 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 waitForElementPresent with parameters//span[@class='user-avatar-link']
    • Running assertElementPresent with parameters//span[@class='user-avatar-link']
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • 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 post with parametersArg: ${curl}Return: {"active":true,"classNameId":"20025","classPK":"37398","companyId":"20098","creatorUserId":"20126","ctCollectionId":"0","description":"","descriptionCurrentValue":"","descriptiveName":"Test Site Name","friendlyURL":"\/test-site-name","groupId":"37398","groupKey":"Test Site Name","inheritContent":false,"liveGroupId":"0","manualMembership":true,"membershipRestriction":0,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Test Site Name<\/Name><\/root>","nameCurrentValue":"Test Site Name","parentGroupId":"0","remoteStagingGroupCount":0,"site":true,"treePath":"\/37398\/","type":1,"uuid":"7c5c17b2-2225-42ab-aa5f-068e4830d079"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/test-site-name/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet
    • 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/test-site-name/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet
    • 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/test-site-name/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet
    • Running assertLiferayErrors
  • Running IsElementNotPresent 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 parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running IsElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
  • Running Click 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 waitForVisible with parameters//*[@data-qa-id='productMenu']
    • Running mouseOver with parameters//*[@data-qa-id='productMenu']
    • Running click with parameters//*[@data-qa-id='productMenu']
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
  • Running AssertElementPresent 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 waitForElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • 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 AssertElementNotPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Back to Menu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
  • Running AssertVisible with locator1//*[@data-qa-id='productMenuBody']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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='productMenuBody']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenuBody']
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'site-name')] with value1Test Site Name
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Test Site Name
    • Running isElementPresent with parameters//div[contains(@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 Site Name
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'site-name')]Test Site Name
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]Test Site Name
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]Test Site Name
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
  • 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 Check#checkHiddenToggleSwitch with locator1//span[contains(.,'Local Live')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Local Live')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[contains(.,'Local Live')]
    • Running mouseOver with parameters//span[contains(.,'Local Live')]
    • Running isNotChecked with parametersxpath=(//span[contains(.,'Local Live')])/../../input
    • Running clickAt with parameters//span[contains(.,'Local Live')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Local Live')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[contains(.,'Local Live')]
    • Running assertChecked with parametersxpath=(//span[contains(.,'Local Live')])/../../input
    • Running assertJavaScriptErrors with parameters//span[contains(.,'Local Live')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//span[contains(.,'Local Live')]
    • Running assertLiferayErrors
  • Running Click with locator1//span[contains(.,'Select All')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Select All')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(.,'Select All')]
    • Running mouseOver with parameters//span[contains(.,'Select All')]
    • Running click with parameters//span[contains(.,'Select All')]
    • Running assertJavaScriptErrors with parameters//span[contains(.,'Select All')]
    • Running assertLiferayErrors
  • Running AssertClickNoError with locator1//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')] with value1Save
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Save
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Save
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Save
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Save
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]Save
    • Running waitForTextCaseInsensitive with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]Save
    • Running assertTextCaseInsensitive with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]Save
    • Running mouseOver with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
    • Running click with parameters//button[contains(.,'Save')] | //div[contains(@class,'button-holder ')]/button[contains(.,'Save')]
  • Running AssertConfirm with value1Are you sure you want to activate local staging for Test Site Name?
    • Running assertConfirmation with parametersAre you sure you want to activate local staging for Test Site Name?
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Are you sure you want to activate local staging for Test Site Name?
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Are you sure you want to activate local staging for Test Site Name?
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running isElementNotPresent with parameters//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
  • 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 IsElementNotPresent with locator1//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
    • Running isNotVisible with parameters//*[@data-qa-id='processResult'][contains(.,'Successful')] | //h6[contains(.,'Successful')]
  • Running AssertTextEquals with locator1//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')] with value1SUCCESSFUL
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]SUCCESSFUL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]SUCCESSFUL
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]SUCCESSFUL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]SUCCESSFUL
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]SUCCESSFUL
    • Running waitForTextCaseInsensitive with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]SUCCESSFUL
    • Running assertTextCaseInsensitive with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]SUCCESSFUL
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='processResult'] | //h6[contains(@class,'background-task-status-row')]
    • Running assertLiferayErrors
  • Running AssertTextNotPresent with locator1//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))] with value1The tunneling servlet shared secret is not set.
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]The tunneling servlet shared secret is not set.
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]The tunneling servlet shared secret is not set.
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))]
    • Running assertLiferayErrors
    • Running waitForTextNotPresent with parametersThe tunneling servlet shared secret is not set.
    • Running assertTextNotPresent with parametersThe tunneling servlet shared secret is not set.
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))]
    • Running assertLiferayErrors
  • Running AssertTextNotPresent with locator1//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))] with value1Your request failed to complete.
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Your request failed to complete.
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Your request failed to complete.
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))]
    • Running assertLiferayErrors
    • Running waitForTextNotPresent with parametersYour request failed to complete.
    • Running assertTextNotPresent with parametersYour request failed to complete.
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert') and (contains(@class,'alert-error') or contains(@class,'alert-danger'))]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[@data-qa-id='addButton'] | //a[contains(@class,'btn') and @aria-label='add'] | //a[contains(@class,'btn') and *[contains(@class,'icon-plus')]] | //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//*[@data-qa-id='addButton'] | //a[contains(@class,'btn') and @aria-label='add'] | //a[contains(@class,'btn') and *[contains(@class,'icon-plus')]] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[@data-qa-id='addButton'] | //a[contains(@class,'btn') and @aria-label='add'] | //a[contains(@class,'btn') and *[contains(@class,'icon-plus')]] | //button[*[contains(@class,'icon-plus')]]
    • Running assertElementPresent with parameters//*[@data-qa-id='addButton'] | //a[contains(@class,'btn') and @aria-label='add'] | //a[contains(@class,'btn') and *[contains(@class,'icon-plus')]] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='addButton'] | //a[contains(@class,'btn') and @aria-label='add'] | //a[contains(@class,'btn') and *[contains(@class,'icon-plus')]] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running AssertConsoleTextNotPresent with value1Please configure tunneling.servlet.shared.secret
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Please configure tunneling.servlet.shared.secret
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Please configure tunneling.servlet.shared.secret
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running assertConsoleTextNotPresent with parametersPlease configure tunneling.servlet.shared.secret
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertConsoleTextNotPresent with value1javax.portlet.PortletException: java.lang.NullPointerException
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]javax.portlet.PortletException: java.lang.NullPointerException
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]javax.portlet.PortletException: java.lang.NullPointerException
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running assertConsoleTextNotPresent with parametersjavax.portlet.PortletException: java.lang.NullPointerException
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/group/test-site-name-staging/~/control_panel/manage/-/fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/test-site-name-staging/~/control_panel/manage/-/fragments
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name-staging/~/control_panel/manage/-/fragments
    • 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/test-site-name-staging/~/control_panel/manage/-/fragments
    • 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/test-site-name-staging/~/control_panel/manage/-/fragments
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
  • Running Click#waitForMenuToggleJSClick with locator1//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
    • Running selectFrame with parametersrelative=top
    • Running waitForElementPresent with parameters//script[contains(@src,'/o/frontend-js-aui-web/liferay/menu_toggle.js')]
    • Running isElementPresent with parameters//iframe
    • 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//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running mouseOver with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running click with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Import']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Import']
    • Running assertLiferayErrors
  • 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 SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'modal')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'modal')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal')]//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')]//iframe
    • Running assertLiferayErrors
  • Running UploadCommonFile with locator1//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file'] with value1fragment-collection.zip
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]fragment-collection.zip
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]fragment-collection.zip
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']fragment-collection.zip
    • Running mouseOver with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']
    • Running uploadCommonFile with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']fragment-collection.zip
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']
    • 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 Click#mouseDownMouseUp with locator1//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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')]//button[contains(.,'Import')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running waitForVisible with parameters//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running mouseDown with parameters//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running mouseUp with parameters//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal')]//button[contains(.,'Import')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//div[contains(@class,'modal')]//iframe
    • Running waitForVisible with parameters//div[contains(@class,'modal')]//iframe
    • Running mouseOver with parameters//div[contains(@class,'modal')]//iframe
    • Running selectFrame with parameters//div[contains(@class,'modal')]//iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal')]//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')]//iframe
    • 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 IsElementPresent with locator1//div[contains(@class,'alert-dismissible')]//button[@aria-label='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,'alert-dismissible')]//button[@aria-label='Close']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'alert-dismissible')]//button[@aria-label='Close']
  • Running Click with locator1//div[contains(@class,'alert-dismissible')]//button[@aria-label='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,'alert-dismissible')]//button[@aria-label='Close']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'alert-dismissible')]//button[@aria-label='Close']
    • Running mouseOver with parameters//div[contains(@class,'alert-dismissible')]//button[@aria-label='Close']
    • Running click with parameters//div[contains(@class,'alert-dismissible')]//button[@aria-label='Close']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-dismissible')]//button[@aria-label='Close']
    • 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 SelectFrame with value1relative=top
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]relative=top
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]relative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]relative=top
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]relative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'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//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'close')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'close')]
    • Running mouseOver with parameters//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'close')]
    • Running click with parameters//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'close')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'close')] | //a[contains(@id,'closePanelAdd') and contains(@class,'close')]
    • Running assertLiferayErrors
  • Running post with parametersArg: ${curl}Return: {"companyId":"20098","createDate":1591102514210,"description":"","groupId":"37406","lastPublishDate":null,"layoutPageTemplateCollectionId":"37664","layoutPageTemplateCollectionKey":"page-template-collection","modifiedDate":1591102514210,"mvccVersion":"0","name":"Page Template Collection","userId":"20126","userName":"Test Test","uuid":"279eb418-22fa-41fc-a74e-9ebf6f6d2b21"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"classNameId":"0","classTypeId":"0","companyId":"20098","createDate":1591102517076,"defaultTemplate":false,"groupId":"37406","lastPublishDate":null,"layoutPageTemplateCollectionId":"37664","layoutPageTemplateEntryId":"37666","layoutPageTemplateEntryKey":"page-template-name","layoutPrototypeId":"0","modifiedDate":1591102517076,"mvccVersion":"0","name":"Page Template Name","plid":"32","previewFileEntryId":"0","status":2,"statusByUserId":"20126","statusByUserName":"test","statusDate":1591102517212,"type":0,"userId":"20126","userName":"Test Test","uuid":"6be90e7c-9095-b19d-9d3e-aff57b8133a1"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection'] with value1Page Template Collection
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Page Template Collection
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Page Template Collection
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running waitForPartialTextCaseInsensitive with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running assertPartialTextCaseInsensitive with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running clickAt with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertElementPresent with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
  • Running Click#waitForMenuToggleJSClick with locator1//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running selectFrame with parametersrelative=top
    • Running waitForElementPresent with parameters//script[contains(@src,'/o/frontend-js-aui-web/liferay/menu_toggle.js')]
    • Running isElementPresent with parameters//iframe
    • 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//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running mouseOver with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running click with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
  • Running Pause with locator15000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters5000
    • Running assertLiferayErrors
    • Running pause with parameters5000
  • 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 Pause with locator110000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters10000
    • Running assertLiferayErrors
    • Running pause with parameters10000
  • 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 isElementNotPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
  • Running Click#clickNoMouseOver with locator1//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'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,'page-editor__sidebar__buttons')]//*[contains(@title,'Fragments and Widgets')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Fragments and Widgets')]
    • Running click with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Fragments and Widgets')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Fragments and Widgets')]
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Fragments'] with value1Fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • 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 AssertVisible with locator1//*[normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[normalize-space()='Collection Name']
    • Running assertVisible with parameters//*[normalize-space()='Collection Name']
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Collection Name']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
  • Running AssertClick with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name'] with value1Collection Name
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Collection Name
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Collection Name
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Collection Name
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Collection Name
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Collection Name
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Collection Name
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']Collection Name
    • Running waitForTextCaseInsensitive with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']Collection Name
    • Running assertTextCaseInsensitive with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']Collection Name
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running clickAt with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title'] with value1 with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']
    • Running mouseOver with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']
    • Running waitForPartialTextCaseInsensitive with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running javaScriptDragAndDropToObject with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Title']
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Changes Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Changes Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@class,'page-editor')]//li[contains(.,'Title')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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')]//li[contains(.,'Title')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Title')]
    • Running assertElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Title')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Title')]
    • Running assertLiferayErrors
  • Running Pause with locator110000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters10000
    • Running assertLiferayErrors
    • Running pause with parameters10000
  • 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 AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Fragments'] with value1Fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • 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 AssertVisible with locator1//*[normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[normalize-space()='Collection Name']
    • Running assertVisible with parameters//*[normalize-space()='Collection Name']
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Collection Name']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Collection Name']
  • Running AssertElementPresent with locator1//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Collection Name']
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text'] with value1 with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']
    • Running mouseOver with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']
    • Running waitForPartialTextCaseInsensitive with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running javaScriptDragAndDropToObject with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Rich Text']
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Changes Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Changes Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@class,'page-editor')]//li[contains(.,'Rich Text')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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')]//li[contains(.,'Rich Text')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Rich Text')]
    • Running assertElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Rich Text')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Rich Text')]
    • Running assertLiferayErrors
  • Running ScrollWebElementIntoView with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running scrollWebElementIntoView with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
  • LocalFile.ContentPagesWithStagingAndPageTemplates#UndoPageTemplateChangeTwice
  • This is a use case for for LPS-111548. Undo can make the content page template editor come back to previous state in Staging site.
  • Running Open with locator1http://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • 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/test-site-name-staging/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection'] with value1Page Template Collection
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Page Template Collection
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Page Template Collection
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running waitForPartialTextCaseInsensitive with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running assertPartialTextCaseInsensitive with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']Page Template Collection
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running clickAt with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//li//*[normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertElementPresent with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertJavaScriptErrors with parameters//ul[contains(@class,'nav-nested')]//a[contains(@class,'active') and normalize-space()='Page Template Collection']
    • Running assertLiferayErrors
  • Running Click#waitForMenuToggleJSClick with locator1//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running selectFrame with parametersrelative=top
    • Running waitForElementPresent with parameters//script[contains(@src,'/o/frontend-js-aui-web/liferay/menu_toggle.js')]
    • Running isElementPresent with parameters//iframe
    • 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//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running mouseOver with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running click with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'card')][contains(.,'Page Template Name')]//*[contains(@class,'card-title')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertElementPresent with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertLiferayErrors
  • Running Pause with locator110000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters10000
    • Running assertLiferayErrors
    • Running pause with parameters10000
  • 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 AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Fragments'] with value1Fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • 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 AssertVisible with locator1//*[normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[normalize-space()='Basic Components']
    • Running assertVisible with parameters//*[normalize-space()='Basic Components']
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Basic Components']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
  • Running AssertClick with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components'] with value1Basic Components
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Basic Components
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Basic Components
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Basic Components
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Basic Components
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Basic Components
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Basic Components
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']Basic Components
    • Running waitForTextCaseInsensitive with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']Basic Components
    • Running assertTextCaseInsensitive with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']Basic Components
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running clickAt with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Basic Components']
    • Running assertElementPresent with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Basic Components']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle') and not(contains(@class,'collapsed'))][normalize-space()='Basic Components']
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button'] with value1 with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']
    • Running mouseOver with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']
    • Running waitForPartialTextCaseInsensitive with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running javaScriptDragAndDropToObject with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Button']
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Changes Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Changes Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@class,'page-editor')]//li[contains(.,'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,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Changes Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Changes Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][not(@disabled='')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][not(@disabled='')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][not(@disabled='')]
    • Running assertVisible with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][not(@disabled='')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][not(@disabled='')]
    • Running assertLiferayErrors
  • Running IsNotVisible with locator1//div[contains(@class,'page-editor')]//li[contains(.,'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,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running isNotVisible with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
  • Running IsElementNotPresent with locator1//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Page Structure')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Page Structure')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Page Structure')]
    • Running isElementNotPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Page Structure')]
  • Running Click#clickNoMouseOver with locator1//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Page Structure')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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__buttons')]//*[contains(@title,'Page Structure')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Page Structure')]
    • Running click with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Page Structure')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__sidebar__buttons')]//*[contains(@title,'Page Structure')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@class,'page-structure') and contains(.,'Button') and contains(@class,'active')]/button[contains(@class,'tree-node')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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-structure') and contains(.,'Button') and contains(@class,'active')]/button[contains(@class,'tree-node')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'page-structure') and contains(.,'Button') and contains(@class,'active')]/button[contains(@class,'tree-node')]
    • Running isNotVisible with parameters//div[contains(@class,'page-structure') and contains(.,'Button') and contains(@class,'active')]/button[contains(@class,'tree-node')]
  • Running IsNotVisible with locator1//div[contains(@class,'page-editor')]//li[contains(.,'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,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running isNotVisible with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
  • Running Click with locator1//button[@*='Fragment 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//button[@*='Fragment Configuration']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@*='Fragment Configuration']
    • Running mouseOver with parameters//button[@*='Fragment Configuration']
    • Running click with parameters//button[@*='Fragment Configuration']
    • Running assertJavaScriptErrors with parameters//button[@*='Fragment Configuration']
    • Running assertLiferayErrors
  • Running Select with locator1//div[label[contains(.,'Align')]]/select with value1Center
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Center
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Center
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Align')]]/select
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Align')]]/selectCenter
    • Running mouseOver with parameters//div[label[contains(.,'Align')]]/select
    • Running select with parameters//div[label[contains(.,'Align')]]/selectCenter
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Align')]]/select
    • Running assertLiferayErrors
  • Running Pause with locator12000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters2000
    • Running assertLiferayErrors
    • Running pause with parameters2000
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Changes Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Changes Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Changes Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'component-button')][contains(@class,'text-center')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'component-button')][contains(@class,'text-center')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'component-button')][contains(@class,'text-center')]
    • Running assertElementPresent with parameters//*[contains(@class,'component-button')][contains(@class,'text-center')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'component-button')][contains(@class,'text-center')]
    • Running assertLiferayErrors
  • Running Click with locator1//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running mouseOver with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running click with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'component-button')][contains(@class,'text-left')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'component-button')][contains(@class,'text-left')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'component-button')][contains(@class,'text-left')]
    • Running assertElementPresent with parameters//*[contains(@class,'component-button')][contains(@class,'text-left')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'component-button')][contains(@class,'text-left')]
    • Running assertLiferayErrors
  • Running Click with locator1//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running mouseOver with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running click with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]]
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@class,'page-editor')]//li[contains(.,'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,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertElementNotPresent with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor')]//li[contains(.,'Button')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertElementPresent with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertJavaScriptErrors with parameters//*[*[name()='svg'][contains(@class,'lexicon-icon-undo')]][@disabled='']
    • Running assertLiferayErrors
  • LocalFile.ContentPagesWithStagingAndPageTemplates#UndoPageTemplateChangeTwice

    • 8
      setUp {
      • 9
        task ("Set up instance and sign in") {
        • 10
          TestCase.setUpPortalInstance();
          • 78
            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
          • 79
            var testPortalInstance = PropsUtil.get("test.portal.instance");
          • 81
            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
            • 82
              SignIn.signInPortalInstanceSetUp();
              • 3
                var userEmailAddress = "test@liferay.com";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 64
                var defaultPortalURL = PropsUtil.get("default.portal.url");
              • 66
                SignIn.signInSpecificURL(url = "${defaultPortalURL}");
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 123
                  Navigator.openSpecificURL(url = "${url}");
                  • 267
                    Open(locator1 = "${url}");
                • 125
                  SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
                  • 3
                    var userEmailAddress = "test@liferay.com";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 8
                    if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                    • 9
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                    }
                  • 14
                    Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  • 18
                    Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${userPassword}");
                  • 22
                    if ("${rememberMe}" == "true") {
                    • 23
                      Check(locator1 = "Checkbox#REMEMBER_ME");
                    }
                  • 26
                    AssertClick( locator1 = "Button#SIGN_IN", value1 = "Sign In");
                  • 30
                    AssertElementNotPresent(locator1 = "Button#SIGN_IN");
                  • 32
                    WaitForLiferayEvent.initializeLiferayEventLog();
              • 68
                if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                • 69
                  SignIn.agreeToTermsOfUse();
                  • 3
                    var userEmailAddress = "test@liferay.com";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 37
                    AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                  • 41
                    AssertElementNotPresent(locator1 = "Button#I_AGREE");
                }
              • 72
                if (IsElementPresent(locator1 = "Select#QUESTION")) {
                • 73
                  SignIn.setPasswordReminder();
                  • 3
                    var userEmailAddress = "test@liferay.com";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 46
                    Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                  • 50
                    Button.clickSave();
                    • 84
                      Button.click(button = "Save");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 76
                ProductMenu.gotoPortlet( category = "Configuration", panel = "Control Panel", portlet = "Virtual Instances");
                • 46
                  ProductMenuHelper.expandPanel(panel = "${panel}");
                  • 22
                    ProductMenuHelper.openProductMenu();
                    • 46
                      if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                      • 47
                        Click(locator1 = "ProductMenu#TOGGLE");
                      }
                    • 50
                      AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
                    • 52
                      AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
                    • 54
                      if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
                      • 55
                        Click( key_text = "Back to Menu", locator1 = "Button#ANY");
                      }
                    • 60
                      AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
                  • 24
                    var key_panel = StringUtil.toLowerCase("${panel}");
                  • 25
                    var key_panel = StringUtil.replace("${key_panel}", " ", "_");
                  • 27
                    if (IsElementPresent(locator1 = "ProductMenu#PANEL_COLLAPSED", key_panel = "${key_panel}")) {
                    • 28
                      Click( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_COLLAPSED");
                    }
                  • 33
                    AssertElementPresent( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_EXPANDED");
                • 48
                  ProductMenuHelper.expandCategory(category = "${category}");
                  • 12
                    var key_category = "${category}";
                  • 14
                    if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                    • 15
                      Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                    }
                  • 18
                    AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
                • 50
                  ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
                  • 39
                    AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
              • 81
                while (IsElementPresent(locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS", key_rowNumber = "2")) {
                • 82
                  Click.waitForMenuToggleJSClick( key_rowNumber = "2", locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS");
                • 86
                  MenuItem.clickNoError(menuItem = "Delete");
                  • 10
                    ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
                • 88
                  AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
                • 90
                  Alert.viewSuccessMessage();
                  • 77
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                  • 79
                    if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                    • 80
                      Click(locator1 = "Button#CLOSE_MESSAGE");
                    }
                }
              • 93
                var portalURL = PropsUtil.get("portal.url");
              • 94
                var portalURL = StringUtil.replace("${portalURL}", "http://", "");
              • 95
                var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
              • 97
                LexiconEntry.gotoAdd();
                • 55
                  var browserType = PropsUtil.get("browser.type");
                • 57
                  if ("${browserType}" == "chrome") {
                  • 58
                    MetalComponent.waitForManagementBar();
                    • 16
                      AssertVisible(locator1 = "//nav[contains(@class,'management-bar')]");
                    • 18
                      MetalComponent.waitForMetalComponent(id = '''document.querySelector("nav.management-bar").parentNode.id''');
                      • 22
                        var javaScript = ''' var metalComponent = Liferay.component(${id}); if (metalComponent !== undefined) { if (metalComponent.wasRendered) { return 'ready'; } else { return 'pending'; } } else { return 'pending'; } ''';
                      • 37
                        var metalComponentReady = "";
                      • 39
                        while ("${metalComponentReady}" != "ready" && (maxIterations = "30")) {
                        • 40
                          var metalComponentReady = selenium.getEval("${javaScript}");
                        • 42
                          Pause(locator1 = "1000");
                        }
                  }
                • 61
                  if ("${browserType}" == "internetexplorer") {
                  • 62
                    Click(locator1 = "Button#PLUS_IE");
                  }
                • 64
                  else {
                  • 65
                    Click(locator1 = "Button#PLUS");
                  }
              • 99
                WaitForElementPresent(locator1 = "//script[contains(@src,'ManagementToolbar.es.js')]");
              • 101
                Type( locator1 = "TextInput#WEB_ID", value1 = "${portalURL}");
              • 105
                Type( locator1 = "TextInput#VIRTUAL_HOST", value1 = "${portalURL}");
              • 109
                Type( locator1 = "TextInput#MAIL_DOMAIN", value1 = "liferay.com");
              • 113
                Button.clickSave();
                • 84
                  Button.click(button = "Save");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              • 115
                WaitForElementPresent(locator1 = "//script[contains(@src,'ClayToast.js')]");
              • 117
                Alert.viewSuccessMessage();
                • 77
                  VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                • 79
                  if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                  • 80
                    Click(locator1 = "Button#CLOSE_MESSAGE");
                  }
              • 119
                Navigator.openURL();
                • 289
                  WaitForSPARefresh();
                • 291
                  var baseURL = "${baseURL}";
                • 293
                  if (contains("${baseURL}", "{baseURL}")) {
                  • 294
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 297
                  Open(locator1 = "${baseURL}/web/guest/home");
            }
        • 12
          User.firstLoginPG();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 1722
            if (isSet(virtualHostsURL)) {
            • 1723
              Navigator.openSpecificURL(url = "${virtualHostsURL}");
              • 267
                Open(locator1 = "${url}");
            }
          • 1725
            else {
            • 1726
              Navigator.openURL();
              • 289
                WaitForSPARefresh();
              • 291
                var baseURL = "${baseURL}";
              • 293
                if (contains("${baseURL}", "{baseURL}")) {
                • 294
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 297
                Open(locator1 = "${baseURL}/web/guest/home");
            }
          • 1729
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 1730
              User.logoutPG( nodePort = "${nodePort}", specificURL = "${virtualHostsURL}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 2166
                @description = "Log out of Liferay Portal."
              • 2168
                if (isSet(nodePort)) {
                • 2169
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 267
                    Open(locator1 = "${url}");
                }
              • 2171
                else {
                • 2172
                  if (isSet(specificURL)) {
                  • 2173
                    Navigator.openSpecificURL(url = "${specificURL}");
                    • 267
                      Open(locator1 = "${url}");
                  }
                • 2175
                  else {
                  • 2176
                    Navigator.openURL();
                    • 289
                      WaitForSPARefresh();
                    • 291
                      var baseURL = "${baseURL}";
                    • 293
                      if (contains("${baseURL}", "{baseURL}")) {
                      • 294
                        var baseURL = PropsUtil.get("portal.url");
                      }
                    • 297
                      Open(locator1 = "${baseURL}/web/guest/home");
                  }
                }
              • 2180
                UserBar.signOut();
                • 38
                  if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 39
                    UserBar.gotoDropdown();
                    • 4
                      if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                      • 5
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                      }
                    • 7
                      else {
                      • 8
                        var browserType = PropsUtil.get("browser.type");
                      • 10
                        if ("${browserType}" == "internetexplorer") {
                        • 11
                          Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON_IE");
                        }
                      • 13
                        else {
                        • 14
                          Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                        }
                      }
                    • 18
                      AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                  • 41
                    ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  • 43
                    Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  }
            • 1734
              User.loginPG( specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 1811
                if (isSet(nodePort)) {
                • 1812
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 267
                    Open(locator1 = "${url}");
                }
              • 1814
                else if (isSet(specificURL)) {
                • 1815
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 267
                    Open(locator1 = "${url}");
                }
              • 1817
                else {
                • 1818
                  Navigator.openURL();
                  • 289
                    WaitForSPARefresh();
                  • 291
                    var baseURL = "${baseURL}";
                  • 293
                    if (contains("${baseURL}", "{baseURL}")) {
                    • 294
                      var baseURL = PropsUtil.get("portal.url");
                    }
                  • 297
                    Open(locator1 = "${baseURL}/web/guest/home");
                }
              • 1821
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1822
                  Alert.closePortalLocalizationWarning();
                  • 10
                    Alert.closeMessage(messageType = "PORTAL_LOCALIZATION");
                    • 4
                      if ((IsElementPresent(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Icon#CLOSE"))) {
                      • 5
                        Click(locator1 = "Icon#CLOSE");
                      }
                  • 12
                    Pause(locator1 = "2000");
                }
              • 1825
                if ("${samlEnabled}" != "true") {
                • 1826
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 1800
                    if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                    • 1801
                      var localizedSignIn = User._signInLocalization(localization = "${localization}");
                      • 3
                        var password = "test";
                      • 4
                        var userEmailAddress = "test@liferay.com";
                      • 25
                        if ("${localization}" == "JA") {
                        • 26
                          var localizedSignIn = "ログイン";
                        }
                      • 28
                        else if ("${localization}" == "ZH") {
                        • 29
                          var localizedSignIn = "登录";
                        }
                      • 31
                        else if ("${localization}" == "ES") {
                        • 32
                          var localizedSignIn = "Acceder";
                        }
                      • 34
                        else {
                        • 35
                          var localizedSignIn = "Sign In";
                        }
                      • 38
                        return "${localizedSignIn}";
                    • 1803
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                    }
                }
              • 1829
                if ("${samlMultiIdPs}" == "true") {
                • 1830
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1835
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1838
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1839
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1843
                else {
                • 1844
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1849
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1853
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1854
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1857
                if (isSet(localization)) {
                • 1858
                  var localizedSignIn = User._signInLocalization(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 25
                    if ("${localization}" == "JA") {
                    • 26
                      var localizedSignIn = "ログイン";
                    }
                  • 28
                    else if ("${localization}" == "ZH") {
                    • 29
                      var localizedSignIn = "登录";
                    }
                  • 31
                    else if ("${localization}" == "ES") {
                    • 32
                      var localizedSignIn = "Acceder";
                    }
                  • 34
                    else {
                    • 35
                      var localizedSignIn = "Sign In";
                    }
                  • 38
                    return "${localizedSignIn}";
                • 1860
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1862
                else {
                • 1863
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1866
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1867
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1869
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1870
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1874
                  else {
                  • 1875
                    Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1880
                  Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1884
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1887
                Button.viewNotPresent(button = "Sign In");
                • 120
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1889
                if (isSet(localizedAgree)) {
                • 1890
                  User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 52
                    var key_localizedAgree = "${localizedAgree}";
                  • 54
                    if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                    • 55
                      AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                    • 59
                      AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                    }
                }
              • 1892
                else {
                • 1893
                  User.acceptEndUserLicenseAgreement();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 42
                    if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                    • 43
                      AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                    • 47
                      AssertElementNotPresent(locator1 = "Button#I_AGREE");
                    }
                }
              • 1896
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 2223
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2224
                    if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                    • 2225
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2229
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2233
                    else {
                    • 2234
                      if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                      • 2235
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2239
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2243
                      else {
                      • 2244
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2248
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2254
                    Button.clickSubmitButton();
                    • 100
                      Click(locator1 = "Button#SUBMIT");
                  • 2256
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1901
                if (isSet(localizedAnswer)) {
                • 1902
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 800
                    Pause(locator1 = "3000");
                  • 802
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 804
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 805
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 809
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 811
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 120
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1906
                else {
                • 1907
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 788
                    Pause(locator1 = "3000");
                  • 790
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 791
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 795
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1910
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
              • 1912
                WaitForLiferayEvent.initializeLiferayEventLog();
            }
          • 1738
            else {
            • 1739
              User.loginPG( localization = "${localization}", localizedAgree = "${localizedAgree}", localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}", samlEnabled = "${samlEnabled}", setupWizardEnabled = "${setupWizardEnabled}", specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 1811
                if (isSet(nodePort)) {
                • 1812
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 267
                    Open(locator1 = "${url}");
                }
              • 1814
                else if (isSet(specificURL)) {
                • 1815
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 267
                    Open(locator1 = "${url}");
                }
              • 1817
                else {
                • 1818
                  Navigator.openURL();
                  • 289
                    WaitForSPARefresh();
                  • 291
                    var baseURL = "${baseURL}";
                  • 293
                    if (contains("${baseURL}", "{baseURL}")) {
                    • 294
                      var baseURL = PropsUtil.get("portal.url");
                    }
                  • 297
                    Open(locator1 = "${baseURL}/web/guest/home");
                }
              • 1821
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1822
                  Alert.closePortalLocalizationWarning();
                  • 10
                    Alert.closeMessage(messageType = "PORTAL_LOCALIZATION");
                    • 4
                      if ((IsElementPresent(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Icon#CLOSE"))) {
                      • 5
                        Click(locator1 = "Icon#CLOSE");
                      }
                  • 12
                    Pause(locator1 = "2000");
                }
              • 1825
                if ("${samlEnabled}" != "true") {
                • 1826
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 1800
                    if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                    • 1801
                      var localizedSignIn = User._signInLocalization(localization = "${localization}");
                      • 3
                        var password = "test";
                      • 4
                        var userEmailAddress = "test@liferay.com";
                      • 25
                        if ("${localization}" == "JA") {
                        • 26
                          var localizedSignIn = "ログイン";
                        }
                      • 28
                        else if ("${localization}" == "ZH") {
                        • 29
                          var localizedSignIn = "登录";
                        }
                      • 31
                        else if ("${localization}" == "ES") {
                        • 32
                          var localizedSignIn = "Acceder";
                        }
                      • 34
                        else {
                        • 35
                          var localizedSignIn = "Sign In";
                        }
                      • 38
                        return "${localizedSignIn}";
                    • 1803
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                    }
                }
              • 1829
                if ("${samlMultiIdPs}" == "true") {
                • 1830
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1835
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1838
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1839
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1843
                else {
                • 1844
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1849
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1853
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1854
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1857
                if (isSet(localization)) {
                • 1858
                  var localizedSignIn = User._signInLocalization(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 25
                    if ("${localization}" == "JA") {
                    • 26
                      var localizedSignIn = "ログイン";
                    }
                  • 28
                    else if ("${localization}" == "ZH") {
                    • 29
                      var localizedSignIn = "登录";
                    }
                  • 31
                    else if ("${localization}" == "ES") {
                    • 32
                      var localizedSignIn = "Acceder";
                    }
                  • 34
                    else {
                    • 35
                      var localizedSignIn = "Sign In";
                    }
                  • 38
                    return "${localizedSignIn}";
                • 1860
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1862
                else {
                • 1863
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1866
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1867
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1869
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1870
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1874
                  else {
                  • 1875
                    Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1880
                  Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1884
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1887
                Button.viewNotPresent(button = "Sign In");
                • 120
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1889
                if (isSet(localizedAgree)) {
                • 1890
                  User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 52
                    var key_localizedAgree = "${localizedAgree}";
                  • 54
                    if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                    • 55
                      AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                    • 59
                      AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                    }
                }
              • 1892
                else {
                • 1893
                  User.acceptEndUserLicenseAgreement();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 42
                    if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                    • 43
                      AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                    • 47
                      AssertElementNotPresent(locator1 = "Button#I_AGREE");
                    }
                }
              • 1896
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 2223
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2224
                    if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                    • 2225
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2229
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2233
                    else {
                    • 2234
                      if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                      • 2235
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2239
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2243
                      else {
                      • 2244
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2248
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2254
                    Button.clickSubmitButton();
                    • 100
                      Click(locator1 = "Button#SUBMIT");
                  • 2256
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1901
                if (isSet(localizedAnswer)) {
                • 1902
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 800
                    Pause(locator1 = "3000");
                  • 802
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 804
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 805
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 809
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 811
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 120
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1906
                else {
                • 1907
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "test@liferay.com";
                  • 788
                    Pause(locator1 = "3000");
                  • 790
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 791
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 795
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1910
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
              • 1912
                WaitForLiferayEvent.initializeLiferayEventLog();
            }
        }
      • 15
        task ("Add a site via JSON") {
        • 16
          JSONGroup.addGroup(groupName = "Test Site Name");
          • 23
            Variables.assertDefined(parameterList = "${groupName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 25
            var groupDescriptionMap = JSONGroupSetter.setGroupDescriptionMap( groupDescription = "${groupDescription}");
            • 19
              if (isSet(groupDescription)) {
              • 20
                var groupDescription = URLUtil.encodeUTF8("${groupDescription}");
              • 22
                var groupDescriptionMap = '''{"en_US":"${groupDescriptionEncoded}"}''';
              }
            • 24
              else {
              • 25
                var groupDescriptionMap = "{}";
              }
            • 28
              return "${groupDescriptionMap}";
          • 28
            var groupNameMap = JSONGroupSetter.setGroupNameMap( groupName = "${groupName}");
            • 44
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 46
              var groupNameMap = URLUtil.encodeUTF8("${groupName}");
            • 48
              var groupNameMap = '''{"en_US":"${groupName}"}''';
            • 50
              return "${groupNameMap}";
          • 31
            var parentGroupId = JSONGroupSetter.setParentGroupId(groupName = "${parentGroupName}");
            • 54
              if (isSet(parentGroupName)) {
              • 55
                var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 163
                  Variables.assertDefined(parameterList = "${groupName}");
                  • 5
                    if (contains("${parameterList}","{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                    • 17
                      if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 165
                  var companyId = JSONCompany.getCompanyId();
                  • 4
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 19
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 20
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 22
                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                      • 23
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 25
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 26
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 28
                        return "${portalInstanceName}";
                      }
                    • 30
                      else {
                      • 31
                        return "localhost";
                      }
                  • 6
                    var portalURL = JSONCompany.getPortalURL();
                    • 36
                      var portalURL = PropsUtil.get("portal.url");
                    • 38
                      return "${portalURL}";
                  • 8
                    var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                  • 13
                    var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                  • 15
                    return "${companyId}";
                • 167
                  var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                  • 4
                    if (isSet(grandParentGroupName)) {
                    • 5
                      if (!(isSet(site))) {
                      • 6
                        var site = "true";
                      }
                    • 9
                      var grandParentGroupId = JSONGroupAPI._getGroupIdByName(groupName = "${grandParentGroupName}", site = "${site}");
                      • 121
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (contains("${parameterList}","{parameterList}")) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                          • 17
                            if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 123
                        var companyId = JSONCompany.getCompanyId();
                        • 4
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 19
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 20
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 22
                            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                            • 23
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 25
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 26
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 28
                              return "${portalInstanceName}";
                            }
                          • 30
                            else {
                            • 31
                              return "localhost";
                            }
                        • 6
                          var portalURL = JSONCompany.getPortalURL();
                          • 36
                            var portalURL = PropsUtil.get("portal.url");
                          • 38
                            return "${portalURL}";
                        • 8
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                        • 13
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 15
                          return "${companyId}";
                      • 125
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 127
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
                      • 132
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 133
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 134
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 136
                        if ("${groupId}" == "[]") {
                        • 137
                          fail("FAIL. Cannot find group.");
                        }
                      • 140
                        return "${groupId}";
                    }
                  • 11
                    else {
                    • 12
                      var grandParentGroupId = "0";
                    }
                  • 15
                    return "${grandParentGroupId}";
                • 169
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 171
                  var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                • 176
                  var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                • 177
                  var groupId = StringUtil.replace("${groupId}", "["", "");
                • 178
                  var groupId = StringUtil.replace("${groupId}", ""]", "");
                • 180
                  if ("${groupId}" == "[]") {
                  • 181
                    fail("FAIL. Cannot find group.");
                  }
                • 184
                  return "${groupId}";
              }
            • 57
              else {
              • 58
                var parentGroupId = "0";
              }
            • 61
              return "${parentGroupId}";
          • 33
            JSONGroupAPI._addGroup( groupDescriptionMap = "${groupDescriptionMap}", groupNameMap = "${groupNameMap}", manualMembership = "${manualMembership}", parentGroupId = "${parentGroupId}", type = "${type}");
            • 5
              Variables.assertDefined(parameterList = "${groupNameMap}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 9
              if ("${type}" == "Private") {
              • 10
                var type = "3";
              }
            • 12
              else if ("${type}" == "Restricted") {
              • 13
                var type = "2";
              }
            • 15
              else {
              • 16
                var type = "1";
              }
            • 19
              if ("${manualMembership}" == "false") {
              • 20
                var manualMembership = "false";
              }
            • 22
              else {
              • 23
                var manualMembership = "true";
              }
            • 26
              var curl = ''' ${portalURL}/api/jsonws/group/add-group \ -u test@liferay.com:test \ -d parentGroupId=${parentGroupId} \ -d liveGroupId=0 \ -d nameMap=${groupNameMap} \ -d descriptionMap=${groupDescriptionMap} \ -d type=${type} \ -d manualMembership=${manualMembership} \ -d membershipRestriction=0 \ -d friendlyURL= \ -d site=true \ -d inheritContent=false \ -d active=true ''';
            • 42
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      • 19
        task ("Activate local live staging") {
        • 20
          Staging.openStagingAdmin(siteURLKey = "test-site-name");
          • 722
            Navigator.openWithAppendToBaseURL(urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_staging_processes_web_portlet_StagingProcessesPortlet");
            • 301
              var baseURL = "${baseURL}";
            • 303
              if (contains("${baseURL}", "{baseURL}")) {
              • 304
                var baseURL = PropsUtil.get("portal.url");
              }
            • 307
              Open(locator1 = "${baseURL}/${urlAppend}");
        • 22
          Staging.activateStagingCP(siteName = "Test Site Name");
          • 4
            ProductMenuHelper.openProductMenu();
            • 46
              if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
              • 47
                Click(locator1 = "ProductMenu#TOGGLE");
              }
            • 50
              AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
            • 52
              AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
            • 54
              if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
              • 55
                Click( key_text = "Back to Menu", locator1 = "Button#ANY");
              }
            • 60
              AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
          • 6
            AssertTextEquals.assertPartialText( locator1 = "ProductMenu#PRODUCT_MENU_PANEL_SITE_ADMINISTRATION_SITE_NAME", value1 = "${siteName}");
          • 10
            Pause(locator1 = "3000");
          • 12
            if ("${remoteStaging}" == "true") {
            • 13
              Check.checkHiddenToggleSwitch(locator1 = "SiteSettingsStaging#STAGING_REMOTE_LIVE");
            • 15
              Type( locator1 = "SiteSettingsStaging#REMOTE_STAGING_IP", value1 = "localhost");
            • 19
              if (isSet(remotePort)) {
              • 20
                Type( locator1 = "SiteSettingsStaging#REMOTE_STAGING_PORT", value1 = "${remotePort}");
              }
            • 24
              else {
              • 25
                Type( locator1 = "SiteSettingsStaging#REMOTE_STAGING_PORT", value1 = "8080");
              }
            • 30
              Paste( locator1 = "SiteSettingsStaging#REMOTE_STAGING_SITE_ID", value1 = "${siteID}");
            }
          • 34
            else {
            • 35
              Check.checkHiddenToggleSwitch(locator1 = "SiteSettingsStaging#STAGING_LOCAL_LIVE");
            }
          • 38
            if ("${pageVersioningEnabled}" == "true") {
            • 39
              Click(locator1 = "Checkbox#ENABLED_ON_PUBLIC_PAGES");
            • 41
              Click(locator1 = "Checkbox#ENABLED_ON_PRIVATE_PAGES");
            }
          • 44
            if (isSet(noContent)) {
            • 45
              Click(locator1 = "SiteSettingsStaging#CONTENT_SELECT_ALL_CHECKBOX");
            • 47
              Click(locator1 = "SiteSettingsStaging#CONTENT_SELECT_ALL_CHECKBOX");
            }
          • 49
            else if (isSet(contentName)) {
            • 50
              Click(locator1 = "SiteSettingsStaging#CONTENT_SELECT_ALL_CHECKBOX");
            • 52
              Click(locator1 = "SiteSettingsStaging#CONTENT_SELECT_ALL_CHECKBOX");
            • 54
              Click( key_contentName = "${contentName}", locator1 = "SiteSettingsStaging#CONTENT_CHECKBOX");
            }
          • 58
            else if (isSet(contentByContent)) {
            • 59
              for (var contentName : list "Documents and Media,Mobile Device Families,Web Content") {
              • 60
                var key_contentName = "${contentName}";
              • 62
                Click(locator1 = "SiteSettingsStaging#CONTENT_CHECKBOX");
              }
            • 65
              for (var contentName : list "Widget Template,Blogs,Bookmarks,Calendar,Documents and Media,Forms,Knowledge Base,Message Boards,Mobile Device Families,Polls,Web Content,Wiki") {
              • 66
                var key_contentName = "${contentName}";
              • 68
                Click(locator1 = "SiteSettingsStaging#CONTENT_CHECKBOX");
              }
            }
          • 71
            else {
            • 72
              Click(locator1 = "SiteSettingsStaging#CONTENT_SELECT_ALL_CHECKBOX");
            }
          • 75
            if (isSet(uncheckContent)) {
            • 76
              var key_contentName = "${uncheckContent}";
            • 78
              Click(locator1 = "SiteSettingsStaging#CONTENT_CHECKBOX");
            }
          • 81
            if (isSet(isNotEditable)) {
            • 82
              var key_contentName = "${isNotEditable}";
            • 84
              AssertNotEditable(locator1 = "SiteSettingsStaging#CONTENT_CHECKBOX");
            }
          • 87
            if (isSet(recycleBinNotification)) {
            • 88
              AssertTextPresent( locator1 = "Message#ERROR_3_ALT", value1 = "The recycle bin of this site will be automatically emptied before turning on local staging. Make sure to manually restore anything you don't want to delete permanently before you continue.");
            }
          • 93
            if ("${editActivateStaging}" == "true") {
            • 94
              Button.clickSave();
              • 84
                Button.click(button = "Save");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            }
          • 96
            else if ("${remoteStaging}" == "true") {
            • 97
              AssertClickNoError( locator1 = "Button#SAVE", value1 = "Save");
            • 101
              AssertConfirm(value1 = "Are you sure you want to activate remote staging for ${siteName}?");
            • 103
              Pause(locator1 = "5000");
            }
          • 105
            else {
            • 106
              AssertClickNoError( locator1 = "Button#SAVE", value1 = "Save");
            • 110
              AssertConfirm(value1 = "Are you sure you want to activate local staging for ${siteName}?");
            • 112
              while (IsElementNotPresent(locator1 = "Staging#PROCESS_SUCCESSFUL")) {
              • 113
                Pause(locator1 = "3000");
              }
            • 116
              AssertTextEquals( locator1 = "Staging#PROCESS_RESULT", value1 = "SUCCESSFUL");
            }
          • 121
            AssertTextNotPresent( locator1 = "Message#ERROR", value1 = "The tunneling servlet shared secret is not set.");
          • 125
            AssertTextNotPresent( locator1 = "Message#ERROR", value1 = "Your request failed to complete.");
          • 129
            var browserType = PropsUtil.get("browser.type");
          • 131
            if ("${browserType}" == "internetexplorer") {
            • 132
              AssertElementPresent(locator1 = "Button#PLUS_IE");
            }
          • 134
            else {
            • 135
              AssertElementPresent(locator1 = "Button#PLUS");
            }
          • 138
            AssertConsoleTextNotPresent(value1 = "Please configure tunneling.servlet.shared.secret");
          • 140
            AssertConsoleTextNotPresent(value1 = "javax.portlet.PortletException: java.lang.NullPointerException");
        }
      • 25
        task ("Import test fragments from dependencies folder") {
        • 26
          FragmentsAdminNavigator.openFragmentsAdmin(siteURLKey = "test-site-name-staging");
          • 59
            Navigator.openWithAppendToBaseURL( baseURL = "${baseURL}", urlAppend = "group/${siteURLKey}/~/control_panel/manage/-/fragments");
            • 301
              var baseURL = "${baseURL}";
            • 303
              if (contains("${baseURL}", "{baseURL}")) {
              • 304
                var baseURL = PropsUtil.get("portal.url");
              }
            • 307
              Open(locator1 = "${baseURL}/${urlAppend}");
        • 28
          FragmentsAdmin.importCollectionFromDependenciesFolder(collectionZipFile = "fragment-collection.zip");
          • 54
            FragmentsAdminNavigator.gotoImportCollection();
            • 38
              if (IsElementPresent(locator1 = "NavNested#NAV_NESTED_ELLIPSIS")) {
              • 39
                Click.waitForMenuToggleJSClick(locator1 = "NavNested#NAV_NESTED_ELLIPSIS");
              }
            • 41
              else {
              • 42
                Button.click(button = "New");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 45
              Button.click(button = "Import");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 47
              Pause(locator1 = "3000");
            • 49
              SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_IFRAME");
          • 56
            UploadCommonFile( locator1 = "TextInput#FILE", value1 = "${collectionZipFile}");
          • 60
            SelectFrameTop();
          • 62
            Click.mouseDownMouseUp( key_text = "Import", locator1 = "Modal#ANY_BUTTON");
          • 66
            SelectFrame.selectFrameNoLoading(locator1 = "IFrame#MODAL_IFRAME");
          • 68
            Alert.viewSuccessMessage();
            • 77
              VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
            • 79
              if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
              • 80
                Click(locator1 = "Button#CLOSE_MESSAGE");
              }
          • 70
            SelectFrameTop();
          • 72
            IFrame.closeFrame();
            • 16
              SelectFrame(value1 = "relative=top");
            • 18
              Click(locator1 = "Icon#CLOSE");
        }
      • 31
        task ("Add a page template collection") {
        • 32
          JSONLayoutpagetemplate.addLayoutPageTemplateCollection( groupName = "Test Site Name-staging", layoutPageTemplateCollectionName = "Page Template Collection", site = "false");
          • 94
            Variables.assertDefined(parameterList = "${groupName},${layoutPageTemplateCollectionName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 96
            var groupId = JSONLayoutpagetemplateSetter.setGroupId(groupKey = "${groupName}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
            • 47
              Variables.assertDefined(parameterList = "${groupKey}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 49
              if (!(isSet(site))) {
              • 50
                var site = "true";
              }
            • 53
              var groupId = JSONGroupAPI._getGroupIdByGroupKey(groupKey = "${groupKey}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
              • 95
                Variables.assertDefined(parameterList = "${groupKey},${site}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 97
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 19
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 20
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 22
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 23
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 25
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 26
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 28
                      return "${portalInstanceName}";
                    }
                  • 30
                    else {
                    • 31
                      return "localhost";
                    }
                • 6
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 8
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 99
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 54
                  if (isSet(parentGroupName)) {
                  • 55
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 163
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 165
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 19
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 20
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 22
                          if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                          • 23
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 25
                            var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                          • 26
                            var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                          • 28
                            return "${portalInstanceName}";
                          }
                        • 30
                          else {
                          • 31
                            return "localhost";
                          }
                      • 6
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 8
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                      • 13
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 15
                        return "${companyId}";
                    • 167
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 4
                        if (isSet(grandParentGroupName)) {
                        • 5
                          if (!(isSet(site))) {
                          • 6
                            var site = "true";
                          }
                        • 9
                          var grandParentGroupId = JSONGroupAPI._getGroupIdByName(groupName = "${grandParentGroupName}", site = "${site}");
                          • 121
                            Variables.assertDefined(parameterList = "${groupName},${site}");
                            • 5
                              if (contains("${parameterList}","{parameterList}")) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                              • 17
                                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 123
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              var portalInstanceName = JSONCompany.getPortalInstanceName();
                              • 19
                                var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                              • 20
                                var testPortalInstance = PropsUtil.get("test.portal.instance");
                              • 22
                                if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                • 23
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 36
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 38
                                    return "${portalURL}";
                                • 25
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 26
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 28
                                  return "${portalInstanceName}";
                                }
                              • 30
                                else {
                                • 31
                                  return "localhost";
                                }
                            • 6
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 8
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                            • 13
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 15
                              return "${companyId}";
                          • 125
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 127
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
                          • 132
                            var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 133
                            var groupId = StringUtil.replace("${groupId}", "["", "");
                          • 134
                            var groupId = StringUtil.replace("${groupId}", ""]", "");
                          • 136
                            if ("${groupId}" == "[]") {
                            • 137
                              fail("FAIL. Cannot find group.");
                            }
                          • 140
                            return "${groupId}";
                        }
                      • 11
                        else {
                        • 12
                          var grandParentGroupId = "0";
                        }
                      • 15
                        return "${grandParentGroupId}";
                    • 169
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 171
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 176
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 177
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 178
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 180
                      if ("${groupId}" == "[]") {
                      • 181
                        fail("FAIL. Cannot find group.");
                      }
                    • 184
                      return "${groupId}";
                  }
                • 57
                  else {
                  • 58
                    var parentGroupId = "0";
                  }
                • 61
                  return "${parentGroupId}";
              • 101
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 103
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 108
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['groupId']");
              • 109
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 110
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 112
                if ("${groupId}" == "[]") {
                • 113
                  fail("FAIL. Cannot find group.");
                }
              • 116
                return "${groupId}";
            • 55
              return "${groupId}";
          • 98
            if (isSet(description)) {
            • 99
              var description = "${description}";
            }
          • 101
            else {
            • 102
              var description = "";
            }
          • 105
            var serviceContext = JSONLayoutpagetemplateSetter.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
            • 97
              if (!(isSet(serviceContext))) {
              • 98
                var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "${addGuestPermissions}", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
                • 88
                  var serviceContext = "{}";
                • 90
                  if (isSet(assetCategoryIds)) {
                  • 91
                    var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", JSON = "${serviceContext}");
                    • 4
                      Variables.assertDefined(parameterList = "${JSON},${assetCategoryIds}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${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}";
                  }
                • 96
                  if (isSet(assetTagNames)) {
                  • 97
                    var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", JSON = "${serviceContext}");
                    • 19
                      Variables.assertDefined(parameterList = "${JSON},${assetTagNames}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${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}";
                  }
                • 102
                  if (isSet(addGuestPermissions)) {
                  • 103
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", JSON = "${serviceContext}");
                    • 51
                      Variables.assertDefined(parameterList = "${JSON},${addGuestPermissions}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 53
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 54
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 57
                      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}";
                    • 62
                      return "${JSON}";
                  }
                • 108
                  if (isSet(groupName)) {
                  • 109
                    var serviceContext = JSONServiceContextUtil._addGroupId( groupName = "${groupName}", JSON = "${serviceContext}", site = "${site}");
                    • 34
                      Variables.assertDefined(parameterList = "${groupName},${JSON}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 36
                      if (!(isSet(site))) {
                      • 37
                        var site = "true";
                      }
                    • 40
                      var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
                      • 121
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (contains("${parameterList}","{parameterList}")) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                          • 17
                            if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 123
                        var companyId = JSONCompany.getCompanyId();
                        • 4
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 19
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 20
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 22
                            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                            • 23
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 25
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 26
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 28
                              return "${portalInstanceName}";
                            }
                          • 30
                            else {
                            • 31
                              return "localhost";
                            }
                        • 6
                          var portalURL = JSONCompany.getPortalURL();
                          • 36
                            var portalURL = PropsUtil.get("portal.url");
                          • 38
                            return "${portalURL}";
                        • 8
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                        • 13
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 15
                          return "${companyId}";
                      • 125
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 127
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
                      • 132
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 133
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 134
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 136
                        if ("${groupId}" == "[]") {
                        • 137
                          fail("FAIL. Cannot find group.");
                        }
                      • 140
                        return "${groupId}";
                    • 42
                      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}";
                    • 47
                      return "${JSON}";
                  }
                • 115
                  if (isSet(workflowAction)) {
                  • 116
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( JSON = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 67
                      Variables.assertDefined(parameterList = "${JSON},${workflowAction}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 69
                      if ("${workflowAction}" == "DRAFT") {
                      • 70
                        var workflowActionNumber = "2";
                      }
                    • 72
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 73
                        var workflowActionNumber = "1";
                      }
                    • 75
                      else {
                      • 76
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 79
                      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}";
                    • 84
                      return "${JSON}";
                  }
                • 121
                  return "${serviceContext}";
              }
            • 105
              return "${serviceContext}";
          • 112
            JSONLayoutpagetemplateAPI._addLayoutPageTemplateCollection( description = "${description}", groupId = "${groupId}", layoutPageTemplateCollectionName = "${layoutPageTemplateCollectionName}", serviceContext = "${serviceContext}");
            • 45
              Variables.assertDefined(parameterList = "${description},${groupId},${layoutPageTemplateCollectionName},${serviceContext}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 47
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 49
              var curl = ''' ${portalURL}/api/jsonws/layout.layoutpagetemplatecollection/add-layout-page-template-collection \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d name=${layoutPageTemplateCollectionName} \ -d description=${description} \ -d serviceContext=${serviceContext} ''';
            • 58
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      • 38
        task ("Add a page template") {
        • 39
          JSONLayoutpagetemplate.addLayoutPageTemplateEntry( groupName = "Test Site Name-staging", layoutPageTemplateCollectionName = "Page Template Collection", layoutPageTemplateEntryName = "Page Template Name", layoutPageTemplateStatus = "Draft", layoutPageTemplateType = "Content Page Template", site = "false");
          • 121
            Variables.assertDefined(parameterList = "${groupName},${layoutPageTemplateEntryName},${layoutPageTemplateType},${layoutPageTemplateStatus}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 123
            var groupId = JSONLayoutpagetemplateSetter.setGroupId(groupKey = "${groupName}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
            • 47
              Variables.assertDefined(parameterList = "${groupKey}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 49
              if (!(isSet(site))) {
              • 50
                var site = "true";
              }
            • 53
              var groupId = JSONGroupAPI._getGroupIdByGroupKey(groupKey = "${groupKey}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
              • 95
                Variables.assertDefined(parameterList = "${groupKey},${site}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 97
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 19
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 20
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 22
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 23
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 25
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 26
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 28
                      return "${portalInstanceName}";
                    }
                  • 30
                    else {
                    • 31
                      return "localhost";
                    }
                • 6
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 8
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 99
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 54
                  if (isSet(parentGroupName)) {
                  • 55
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 163
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 165
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 19
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 20
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 22
                          if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                          • 23
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 25
                            var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                          • 26
                            var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                          • 28
                            return "${portalInstanceName}";
                          }
                        • 30
                          else {
                          • 31
                            return "localhost";
                          }
                      • 6
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 8
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                      • 13
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 15
                        return "${companyId}";
                    • 167
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 4
                        if (isSet(grandParentGroupName)) {
                        • 5
                          if (!(isSet(site))) {
                          • 6
                            var site = "true";
                          }
                        • 9
                          var grandParentGroupId = JSONGroupAPI._getGroupIdByName(groupName = "${grandParentGroupName}", site = "${site}");
                          • 121
                            Variables.assertDefined(parameterList = "${groupName},${site}");
                            • 5
                              if (contains("${parameterList}","{parameterList}")) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                              • 17
                                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 123
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              var portalInstanceName = JSONCompany.getPortalInstanceName();
                              • 19
                                var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                              • 20
                                var testPortalInstance = PropsUtil.get("test.portal.instance");
                              • 22
                                if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                • 23
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 36
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 38
                                    return "${portalURL}";
                                • 25
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 26
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 28
                                  return "${portalInstanceName}";
                                }
                              • 30
                                else {
                                • 31
                                  return "localhost";
                                }
                            • 6
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 8
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                            • 13
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 15
                              return "${companyId}";
                          • 125
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 127
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
                          • 132
                            var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 133
                            var groupId = StringUtil.replace("${groupId}", "["", "");
                          • 134
                            var groupId = StringUtil.replace("${groupId}", ""]", "");
                          • 136
                            if ("${groupId}" == "[]") {
                            • 137
                              fail("FAIL. Cannot find group.");
                            }
                          • 140
                            return "${groupId}";
                        }
                      • 11
                        else {
                        • 12
                          var grandParentGroupId = "0";
                        }
                      • 15
                        return "${grandParentGroupId}";
                    • 169
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 171
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u test@liferay.com:test ''';
                    • 176
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 177
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 178
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 180
                      if ("${groupId}" == "[]") {
                      • 181
                        fail("FAIL. Cannot find group.");
                      }
                    • 184
                      return "${groupId}";
                  }
                • 57
                  else {
                  • 58
                    var parentGroupId = "0";
                  }
                • 61
                  return "${parentGroupId}";
              • 101
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 103
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u test@liferay.com:test ''';
              • 108
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['groupId']");
              • 109
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 110
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 112
                if ("${groupId}" == "[]") {
                • 113
                  fail("FAIL. Cannot find group.");
                }
              • 116
                return "${groupId}";
            • 55
              return "${groupId}";
          • 125
            if (isSet(layoutPageTemplateCollectionName)) {
            • 126
              var layoutPageTemplateCollectionId = JSONLayoutpagetemplateSetter.setLayoutPageTemplateCollectionId( groupId = "${groupId}", layoutPageTemplateCollectionName = "${layoutPageTemplateCollectionName}");
              • 59
                Variables.assertDefined(parameterList = "${groupId},${layoutPageTemplateCollectionName}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 61
                var layoutPageTemplateCollectionId = JSONLayoutpagetemplateAPI._getLayoutPageTemplateCollectionIdByName( groupId = "${groupId}", layoutPageTemplateCollectionName = "${layoutPageTemplateCollectionName}");
                • 119
                  Variables.assertDefined(parameterList = "${groupId},${layoutPageTemplateCollectionName}");
                  • 5
                    if (contains("${parameterList}","{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                    • 17
                      if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 121
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 123
                  var curl = ''' ${portalURL}/api/jsonws/layout.layoutpagetemplatecollection/get-layout-page-template-collections \ -u test@liferay.com:test \ -d groupId=${groupId} ''';
                • 129
                  var layoutPageTemplateCollectionId = JSONCurlUtil.post("${curl}", "$.[?(@['name'] == '${layoutPageTemplateCollectionName}')]['layoutPageTemplateCollectionId']");
                • 130
                  var layoutPageTemplateCollectionId = StringUtil.replace("${layoutPageTemplateCollectionId}", "["", "");
                • 131
                  var layoutPageTemplateCollectionId = StringUtil.replace("${layoutPageTemplateCollectionId}", ""]", "");
                • 133
                  if ("${layoutPageTemplateCollectionId}" == "[]") {
                  • 134
                    fail("FAIL. Cannot find layoutPageTemplateCollection.");
                  }
                • 137
                  return "${layoutPageTemplateCollectionId}";
              • 65
                return "${layoutPageTemplateCollectionId}";
            }
          • 130
            else {
            • 131
              var layoutPageTemplateCollectionId = "0";
            }
          • 134
            if (isSet(masterLayoutEntryName)) {
            • 135
              var masterLayoutPlid = JSONLayoutpagetemplateSetter.setMasterLayoutPlid( groupId = "${groupId}", masterLayoutEntryName = "${masterLayoutEntryName}");
              • 79
                Variables.assertDefined(parameterList = "${groupId},${masterLayoutEntryName}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 81
                var masterLayoutPlid = JSONLayoutpagetemplateAPI._getMasterLayoutPlidByName( groupId = "${groupId}", masterLayoutEntryName = "${masterLayoutEntryName}");
                • 169
                  Variables.assertDefined(parameterList = "${groupId},${masterLayoutEntryName}");
                  • 5
                    if (contains("${parameterList}","{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                    • 17
                      if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 171
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 173
                  var curl = ''' ${portalURL}/api/jsonws/layout.layoutpagetemplateentry/get-layout-page-template-entries \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d type=3 \ -d "start=-1" \ -d "end=-1" \ -d -orderByComparator= ''';
                • 183
                  var masterLayoutPlid = JSONCurlUtil.post("${curl}", "$.[?(@['name'] == '${masterLayoutEntryName}')]['plid']");
                • 184
                  var masterLayoutPlid = StringUtil.replace("${masterLayoutPlid}", "["", "");
                • 185
                  var masterLayoutPlid = StringUtil.replace("${masterLayoutPlid}", ""]", "");
                • 187
                  if ("${masterLayoutPlid}" == "[]") {
                  • 188
                    fail("FAIL. Cannot find masterLayoutEntry.");
                  }
                • 191
                  return "${masterLayoutPlid}";
              • 85
                return "${masterLayoutPlid}";
            }
          • 139
            else {
            • 140
              var masterLayoutPlid = "0";
            }
          • 143
            var serviceContext = JSONLayoutpagetemplateSetter.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
            • 97
              if (!(isSet(serviceContext))) {
              • 98
                var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "${addGuestPermissions}", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
                • 88
                  var serviceContext = "{}";
                • 90
                  if (isSet(assetCategoryIds)) {
                  • 91
                    var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", JSON = "${serviceContext}");
                    • 4
                      Variables.assertDefined(parameterList = "${JSON},${assetCategoryIds}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${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}";
                  }
                • 96
                  if (isSet(assetTagNames)) {
                  • 97
                    var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", JSON = "${serviceContext}");
                    • 19
                      Variables.assertDefined(parameterList = "${JSON},${assetTagNames}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${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}";
                  }
                • 102
                  if (isSet(addGuestPermissions)) {
                  • 103
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", JSON = "${serviceContext}");
                    • 51
                      Variables.assertDefined(parameterList = "${JSON},${addGuestPermissions}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 53
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 54
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 57
                      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}";
                    • 62
                      return "${JSON}";
                  }
                • 108
                  if (isSet(groupName)) {
                  • 109
                    var serviceContext = JSONServiceContextUtil._addGroupId( groupName = "${groupName}", JSON = "${serviceContext}", site = "${site}");
                    • 34
                      Variables.assertDefined(parameterList = "${groupName},${JSON}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 36
                      if (!(isSet(site))) {
                      • 37
                        var site = "true";
                      }
                    • 40
                      var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
                      • 121
                        Variables.assertDefined(parameterList = "${groupName},${site}");
                        • 5
                          if (contains("${parameterList}","{parameterList}")) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                          • 17
                            if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 123
                        var companyId = JSONCompany.getCompanyId();
                        • 4
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 19
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 20
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 22
                            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                            • 23
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 25
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 26
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 28
                              return "${portalInstanceName}";
                            }
                          • 30
                            else {
                            • 31
                              return "localhost";
                            }
                        • 6
                          var portalURL = JSONCompany.getPortalURL();
                          • 36
                            var portalURL = PropsUtil.get("portal.url");
                          • 38
                            return "${portalURL}";
                        • 8
                          var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                        • 13
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 15
                          return "${companyId}";
                      • 125
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 127
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
                      • 132
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 133
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 134
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 136
                        if ("${groupId}" == "[]") {
                        • 137
                          fail("FAIL. Cannot find group.");
                        }
                      • 140
                        return "${groupId}";
                    • 42
                      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}";
                    • 47
                      return "${JSON}";
                  }
                • 115
                  if (isSet(workflowAction)) {
                  • 116
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( JSON = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 67
                      Variables.assertDefined(parameterList = "${JSON},${workflowAction}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 69
                      if ("${workflowAction}" == "DRAFT") {
                      • 70
                        var workflowActionNumber = "2";
                      }
                    • 72
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 73
                        var workflowActionNumber = "1";
                      }
                    • 75
                      else {
                      • 76
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 79
                      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}";
                    • 84
                      return "${JSON}";
                  }
                • 121
                  return "${serviceContext}";
              }
            • 105
              return "${serviceContext}";
          • 150
            var status = JSONLayoutpagetemplateUtil._getStatus(layoutPageTemplateStatus = "${layoutPageTemplateStatus}");
            • 5
              Variables.assertDefined(parameterList = "${layoutPageTemplateStatus}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              if ("${layoutPageTemplateStatus}" == "Draft") {
              • 8
                var status = "2";
              }
            • 10
              else if ("${layoutPageTemplateStatus}" == "Approved") {
              • 11
                var status = "0";
              }
            • 13
              else {
              • 14
                fail("'layoutPageTemplateStatus' is either invalid or not yet set.");
              }
            • 17
              return "${status}";
          • 152
            var type = JSONLayoutpagetemplateUtil._getType(layoutPageTemplateType = "${layoutPageTemplateType}");
            • 22
              Variables.assertDefined(parameterList = "${layoutPageTemplateType}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 24
              if ("${layoutPageTemplateType}" == "Widget Page Template") {
              • 25
                var type = "2";
              }
            • 27
              else if ("${layoutPageTemplateType}" == "Content Page Template") {
              • 28
                var type = "0";
              }
            • 30
              else {
              • 31
                fail("'layoutPageTemplateType' is either invalid or not yet set.");
              }
            • 34
              return "${type}";
          • 154
            JSONLayoutpagetemplateAPI._addLayoutPageTemplateEntry( groupId = "${groupId}", layoutPageTemplateCollectionId = "${layoutPageTemplateCollectionId}", layoutPageTemplateEntryName = "${layoutPageTemplateEntryName}", masterLayoutPlid = "${masterLayoutPlid}", serviceContext = "${serviceContext}", status = "${status}", type = "${type}");
            • 63
              Variables.assertDefined(parameterList = "${groupId},${layoutPageTemplateCollectionId},${layoutPageTemplateEntryName},${masterLayoutPlid},${serviceContext},${status},${type}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 65
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 67
              var curl = ''' ${portalURL}/api/jsonws/layout.layoutpagetemplateentry/add-layout-page-template-entry \ -u test@liferay.com:test \ -d groupId=${groupId} \ -d layoutPageTemplateCollectionId=${layoutPageTemplateCollectionId} \ -d name=${layoutPageTemplateEntryName} \ -d type=${type} \ -d masterLayoutPlid=${masterLayoutPlid} \ -d status=${status} \ -d serviceContext=${serviceContext} ''';
            • 79
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      • 48
        task ("Add a Title fragment to the page template") {
        • 49
          PageTemplatesAdmin.openPageTemplatesAdmin(siteURLKey = "test-site-name-staging");
          • 135
            Navigator.openWithAppendToBaseURL(urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates");
            • 301
              var baseURL = "${baseURL}";
            • 303
              if (contains("${baseURL}", "{baseURL}")) {
              • 304
                var baseURL = PropsUtil.get("portal.url");
              }
            • 307
              Open(locator1 = "${baseURL}/${urlAppend}");
        • 51
          Navigator.gotoNavNested(navNested = "Page Template Collection");
          • 92
            var key_navNested = "${navNested}";
          • 94
            AssertClick.assertPartialTextClickAt( locator1 = "NavNested#NAV_NESTED_LINK", value1 = "${navNested}");
          • 98
            AssertElementPresent(locator1 = "NavNested#ACTIVE_NAV_NESTED_LINK");
        • 53
          PageTemplatesAdmin.gotoPageTemplate(pageTemplateName = "Page Template Name");
          • 105
            LexiconCard.clickCardTitle(card = "${pageTemplateName}");
            • 20
              Click.waitForMenuToggleJSClick( key_card = "${card}", locator1 = "LexiconCard#CARD_TITLE");
        • 55
          PageEditor.assertFragmentSidebarLoaded();
          • 380
            Pause(locator1 = "5000");
          • 382
            AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
        • 57
          PageEditor.addFragment( collectionName = "Collection Name", fragmentName = "Title");
          • 210
            Pause(locator1 = "10000");
          • 212
            PageEditor.gotoTab(tabName = "Fragments and Widgets");
            • 1152
              if ("${tabName}" == "Look and Feel") {
              • 1153
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 1157
              else if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
              • 1158
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
          • 214
            Navigator.gotoNavTab(navTab = "Fragments");
            • 102
              var key_tab = "${navTab}";
            • 104
              AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
            • 108
              AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 110
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 216
            PageEditor.expandFragmentCollection(collectionName = "${collectionName}");
            • 1017
              AssertVisible( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL");
            • 1021
              if (IsElementPresent(locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", key_collectionName = "${collectionName}")) {
              • 1022
                AssertClick( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", value1 = "${collectionName}");
              }
            • 1028
              AssertElementPresent( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_EXPANDED");
          • 218
            if ("${scope}" == "Master") {
            • 219
              if ("${dropTarget}" == "Header") {
              • 220
                DragAndDrop.javaScriptDragAndDropToUp( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
              }
            • 226
              else if ("${dropTarget}" == "Footer") {
              • 227
                DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
              }
            }
          • 234
            else {
            • 235
              DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 242
            PageEditor.waitForAutoSave();
            • 1619
              Pause(locator1 = "1000");
            • 1621
              AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Changes Saved");
          • 244
            if (!(isSet(withSection))) {
            • 245
              AssertElementPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
            }
        }
      • 62
        task ("Add a Rich Text fragment to the page template") {
        • 63
          PageEditor.addFragment( collectionName = "Collection Name", fragmentName = "Rich Text");
          • 210
            Pause(locator1 = "10000");
          • 212
            PageEditor.gotoTab(tabName = "Fragments and Widgets");
            • 1152
              if ("${tabName}" == "Look and Feel") {
              • 1153
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
            • 1157
              else if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
              • 1158
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
          • 214
            Navigator.gotoNavTab(navTab = "Fragments");
            • 102
              var key_tab = "${navTab}";
            • 104
              AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
            • 108
              AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 110
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 216
            PageEditor.expandFragmentCollection(collectionName = "${collectionName}");
            • 1017
              AssertVisible( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL");
            • 1021
              if (IsElementPresent(locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", key_collectionName = "${collectionName}")) {
              • 1022
                AssertClick( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", value1 = "${collectionName}");
              }
            • 1028
              AssertElementPresent( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_EXPANDED");
          • 218
            if ("${scope}" == "Master") {
            • 219
              if ("${dropTarget}" == "Header") {
              • 220
                DragAndDrop.javaScriptDragAndDropToUp( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
              }
            • 226
              else if ("${dropTarget}" == "Footer") {
              • 227
                DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
              }
            }
          • 234
            else {
            • 235
              DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 242
            PageEditor.waitForAutoSave();
            • 1619
              Pause(locator1 = "1000");
            • 1621
              AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Changes Saved");
          • 244
            if (!(isSet(withSection))) {
            • 245
              AssertElementPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
            }
        }
      • 68
        task ("Publish the page template") {
        • 69
          Button.clickPublish();
          • 68
            ScrollWebElementIntoView( key_text = "Publish", locator1 = "Button#ANY");
          • 72
            Button.click(button = "Publish");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
        }
      }
    • 86
      test UndoPageTemplateChangeTwice {
      • 84
        @description = "This is a use case for for LPS-111548. Undo can make the content page template editor come back to previous state in Staging site."
      • 90
        SitePages.openPagesAdmin(siteURLKey = "test-site-name-staging");
        • 423
          var siteURLKey = StringUtil.replace("${siteURLKey}", " ", "-");
        • 424
          var siteURLKey = StringUtil.lowerCase("${siteURLKey}");
        • 426
          Navigator.openWithAppendToBaseURL( baseURL = "${baseURL}", urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet");
          • 301
            var baseURL = "${baseURL}";
          • 303
            if (contains("${baseURL}", "{baseURL}")) {
            • 304
              var baseURL = PropsUtil.get("portal.url");
            }
          • 307
            Open(locator1 = "${baseURL}/${urlAppend}");
      • 92
        PageTemplatesAdmin.openPageTemplatesAdmin(siteURLKey = "test-site-name-staging");
        • 135
          Navigator.openWithAppendToBaseURL(urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet&_com_liferay_layout_page_template_admin_web_portlet_LayoutPageTemplatesPortlet_tabs1=page-templates");
          • 301
            var baseURL = "${baseURL}";
          • 303
            if (contains("${baseURL}", "{baseURL}")) {
            • 304
              var baseURL = PropsUtil.get("portal.url");
            }
          • 307
            Open(locator1 = "${baseURL}/${urlAppend}");
      • 94
        Navigator.gotoNavNested(navNested = "Page Template Collection");
        • 92
          var key_navNested = "${navNested}";
        • 94
          AssertClick.assertPartialTextClickAt( locator1 = "NavNested#NAV_NESTED_LINK", value1 = "${navNested}");
        • 98
          AssertElementPresent(locator1 = "NavNested#ACTIVE_NAV_NESTED_LINK");
      • 96
        PageTemplatesAdmin.gotoPageTemplate(pageTemplateName = "Page Template Name");
        • 105
          LexiconCard.clickCardTitle(card = "${pageTemplateName}");
          • 20
            Click.waitForMenuToggleJSClick( key_card = "${card}", locator1 = "LexiconCard#CARD_TITLE");
      • 98
        AssertElementPresent( key_text = "undo", locator1 = "Icon#ANY_DISABLED");
      • 102
        PageEditor.addFragment( collectionName = "Basic Components", fragmentName = "Button");
        • 210
          Pause(locator1 = "10000");
        • 212
          PageEditor.gotoTab(tabName = "Fragments and Widgets");
          • 1152
            if ("${tabName}" == "Look and Feel") {
            • 1153
              Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
            }
          • 1157
            else if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
            • 1158
              Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
            }
        • 214
          Navigator.gotoNavTab(navTab = "Fragments");
          • 102
            var key_tab = "${navTab}";
          • 104
            AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
          • 108
            AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
          • 110
            WaitForLiferayEvent.initializeLiferayEventLog();
        • 216
          PageEditor.expandFragmentCollection(collectionName = "${collectionName}");
          • 1017
            AssertVisible( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL");
          • 1021
            if (IsElementPresent(locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", key_collectionName = "${collectionName}")) {
            • 1022
              AssertClick( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", value1 = "${collectionName}");
            }
          • 1028
            AssertElementPresent( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_EXPANDED");
        • 218
          if ("${scope}" == "Master") {
          • 219
            if ("${dropTarget}" == "Header") {
            • 220
              DragAndDrop.javaScriptDragAndDropToUp( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
            }
          • 226
            else if ("${dropTarget}" == "Footer") {
            • 227
              DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
            }
          }
        • 234
          else {
          • 235
            DragAndDrop.javaScriptDragAndDropToObject( key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_ITEM", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
          }
        • 242
          PageEditor.waitForAutoSave();
          • 1619
            Pause(locator1 = "1000");
          • 1621
            AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Changes Saved");
        • 244
          if (!(isSet(withSection))) {
          • 245
            AssertElementPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
          }
      • 106
        PageEditor.waitForAutoSave();
        • 1619
          Pause(locator1 = "1000");
        • 1621
          AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Changes Saved");
      • 108
        AssertVisible( key_text = "undo", locator1 = "Icon#ANY_ENABLED");
      • 112
        PageEditor.gotoConfiguration(fragmentName = "Button");
        • 1066
          PageEditor.clickConfigurableField(fragmentName = "${fragmentName}");
          • 402
            var key_fragmentName = "${fragmentName}";
          • 404
            if (IsNotVisible(locator1 = "Fragment#FRAGMENT_HEADER")) {
            • 405
              Click(locator1 = "Fragment#FRAGMENT_BODY");
            }
        • 1068
          PageEditor.gotoTab(tabName = "Page Structure");
          • 1152
            if ("${tabName}" == "Look and Feel") {
            • 1153
              Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
            }
          • 1157
            else if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
            • 1158
              Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
            }
        • 1070
          if (IsElementNotPresent(key_nodeName = "${fragmentName}", locator1 = "Treeview#PAGE_STRUCTURE_TREE_NODE_ACTIVE")) {
          • 1071
            Click( key_nodeName = "${fragmentName}", locator1 = "Treeview#PAGE_STRUCTURE_TREE_NODE");
          }
        • 1076
          if (IsNotVisible(key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER")) {
          • 1077
            Click( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_BODY");
          }
        • 1082
          Click( key_elementType = "Fragment", locator1 = "PageEditor#FRAGMENT_BODY_TOOLBAR_CONFIGURATION_BUTTON");
      • 114
        PageEditor.configureFragment(alignment = "Center");
        • 445
          if (isSet(alignment)) {
          • 446
            Select( key_fieldLabel = "Align", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${alignment}");
          • 451
            Pause(locator1 = "2000");
          }
        • 454
          if (isSet(contentAlign)) {
          • 455
            Select( key_fieldLabel = "Content Align", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${contentAlign}");
          • 460
            Pause(locator1 = "2000");
          }
        • 463
          if (isSet(borderColor)) {
          • 464
            Click( key_paletteItem = "${borderColor}", locator1 = "Button#PALETTE_ITEM");
          • 468
            Pause(locator1 = "2000");
          }
        • 471
          if (isSet(borderRadius)) {
          • 472
            Select( key_fieldLabel = "Border Radius", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${borderRadius}");
          • 477
            Pause(locator1 = "2000");
          }
        • 480
          if (isSet(bottomSpacing)) {
          • 481
            Select( key_fieldLabel = "Bottom Spacing", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${bottomSpacing}");
          • 486
            Pause(locator1 = "2000");
          }
        • 489
          if (isSet(boxShadow)) {
          • 490
            Select( key_fieldLabel = "Box Shadow", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${boxShadow}");
          • 495
            Pause(locator1 = "2000");
          }
        • 498
          if (isSet(headingLevel)) {
          • 499
            Select( key_fieldLabel = "Heading Level", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${headingLevel}");
          • 504
            Pause(locator1 = "2000");
          }
        • 507
          if (isSet(height)) {
          • 508
            Select( key_fieldLabel = "Height", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${height}");
          • 513
            Pause(locator1 = "2000");
          }
        • 516
          if (isSet(imageSize)) {
          • 517
            Select( key_fieldLabel = "Image Size", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${imageSize}");
          • 522
            Pause(locator1 = "2000");
          }
        • 525
          if (isSet(marginBottom)) {
          • 526
            Select( key_fieldLabel = "Margin Bottom", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${marginBottom}");
          • 531
            Pause(locator1 = "2000");
          }
        • 534
          if (isSet(numberOfTabs)) {
          • 535
            Type( key_fieldLabel = "Number Of Tabs", locator1 = "FormFields#NUMBER_FIELD", value1 = "${numberOfTabs}");
          • 540
            AssertTextEquals( key_fieldLabel = "Number Of Tabs", locator1 = "FormFields#NUMBER_FIELD", value1 = "${numberOfTabs}");
          }
        • 546
          if (isSet(size)) {
          • 547
            Select( key_fieldLabel = "Size", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${size}");
          • 552
            Pause(locator1 = "2000");
          }
        • 555
          if (isSet(textColor)) {
          • 556
            Click( key_paletteItem = "${textColor}", locator1 = "Button#PALETTE_ITEM");
          • 560
            Pause(locator1 = "2000");
          }
        • 563
          if (isSet(textAlign)) {
          • 564
            Select( key_fieldLabel = "Text Align", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${textAlign}");
          • 569
            Pause(locator1 = "2000");
          }
        • 572
          if (isSet(type)) {
          • 573
            Select( key_fieldLabel = "Type", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${type}");
          • 578
            Pause(locator1 = "2000");
          }
        • 581
          PageEditor.waitForAutoSave();
          • 1619
            Pause(locator1 = "1000");
          • 1621
            AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Changes Saved");
      • 116
        PageEditor.viewFragmentStyle( alignment = "center", fragmentName = "button");
        • 1436
          if (isSet(alignment)) {
          • 1437
            AssertElementPresent( key_alignment = "${alignment}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_ALIGNMENT");
          }
        • 1443
          if (isSet(borderColor)) {
          • 1444
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_paletteItem = "${borderColor}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BORDER_COLOR");
          }
        • 1450
          if (isSet(borderRadius)) {
          • 1451
            AssertElementPresent( key_borderRadius = "${borderRadius}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BORDER_RADIUS");
          }
        • 1457
          if (isSet(bottomSpacing)) {
          • 1458
            AssertElementPresent( key_bottomSpacing = "${bottomSpacing}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BOTTOM_SPACING");
          }
        • 1464
          if (isSet(boxShadow)) {
          • 1465
            AssertElementPresent( key_boxShadow = "${boxShadow}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BOX_SHADOW");
          }
        • 1471
          if (isSet(headingLevel)) {
          • 1472
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_headingLevel = "${headingLevel}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_HEADER");
          }
        • 1478
          if (isSet(height)) {
          • 1479
            AssertElementPresent( key_height = "${height}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_HEIGHT");
          }
        • 1484
          if (isSet(imageSize)) {
          • 1485
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_imageSize = "${imageSize}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_IMAGE_SIZE");
          }
        • 1491
          if (isSet(marginBottom)) {
          • 1492
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_marginBottom = "${marginBottom}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_MARGIN_BOTTOM");
          }
        • 1498
          if (isSet(size)) {
          • 1499
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_size = "${size}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_SIZE");
          }
        • 1505
          if (isSet(textColor)) {
          • 1506
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_textColor = "${textColor}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_TEXT_COLOR");
          }
        • 1512
          if (isSet(type)) {
          • 1513
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_type = "${type}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_TYPE");
          }
      • 120
        Click( key_text = "undo", locator1 = "Icon#ANY");
      • 124
        PageEditor.viewFragmentStyle( alignment = "left", fragmentName = "button");
        • 1436
          if (isSet(alignment)) {
          • 1437
            AssertElementPresent( key_alignment = "${alignment}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_ALIGNMENT");
          }
        • 1443
          if (isSet(borderColor)) {
          • 1444
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_paletteItem = "${borderColor}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BORDER_COLOR");
          }
        • 1450
          if (isSet(borderRadius)) {
          • 1451
            AssertElementPresent( key_borderRadius = "${borderRadius}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BORDER_RADIUS");
          }
        • 1457
          if (isSet(bottomSpacing)) {
          • 1458
            AssertElementPresent( key_bottomSpacing = "${bottomSpacing}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BOTTOM_SPACING");
          }
        • 1464
          if (isSet(boxShadow)) {
          • 1465
            AssertElementPresent( key_boxShadow = "${boxShadow}", key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_BOX_SHADOW");
          }
        • 1471
          if (isSet(headingLevel)) {
          • 1472
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_headingLevel = "${headingLevel}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_HEADER");
          }
        • 1478
          if (isSet(height)) {
          • 1479
            AssertElementPresent( key_height = "${height}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_HEIGHT");
          }
        • 1484
          if (isSet(imageSize)) {
          • 1485
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_imageSize = "${imageSize}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_IMAGE_SIZE");
          }
        • 1491
          if (isSet(marginBottom)) {
          • 1492
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_marginBottom = "${marginBottom}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_MARGIN_BOTTOM");
          }
        • 1498
          if (isSet(size)) {
          • 1499
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_size = "${size}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_SIZE");
          }
        • 1505
          if (isSet(textColor)) {
          • 1506
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_textColor = "${textColor}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_TEXT_COLOR");
          }
        • 1512
          if (isSet(type)) {
          • 1513
            AssertElementPresent( key_fragmentName = "${fragmentName}", key_type = "${type}", locator1 = "Fragment#FRAGMENT_CONFIGURATION_TYPE");
          }
      • 128
        Click( key_text = "undo", locator1 = "Icon#ANY");
      • 132
        PageEditor.viewNoFragment(fragmentName = "Button");
        • 1521
          AssertElementNotPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
      • 134
        AssertElementPresent( key_text = "undo", locator1 = "Icon#ANY_DISABLED");
      }
    • 73
      tearDown {
      • 74
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 76
        if ("${testPortalInstance}" == "true") {
        • 77
          PortalInstances.tearDownCP();
          • 92
            var defaultPortalURL = PropsUtil.get("default.portal.url");
          • 94
            SignOut.signOutOfSpecificURL(url = "${defaultPortalURL}");
            • 11
              Navigator.openSpecificURL(url = "${url}");
              • 267
                Open(locator1 = "${url}");
            • 13
              UserBar.signOut();
              • 38
                if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                • 39
                  UserBar.gotoDropdown();
                  • 4
                    if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                    • 5
                      Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                    }
                  • 7
                    else {
                    • 8
                      var browserType = PropsUtil.get("browser.type");
                    • 10
                      if ("${browserType}" == "internetexplorer") {
                      • 11
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON_IE");
                      }
                    • 13
                      else {
                      • 14
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                      }
                    }
                  • 18
                    AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                • 41
                  ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                • 43
                  Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                }
          • 96
            SignIn.signInSpecificURL(url = "${defaultPortalURL}");
            • 3
              var userEmailAddress = "test@liferay.com";
            • 4
              var userPassword = "test";
            • 5
              var userPasswordReminderAnswer = "test";
            • 123
              Navigator.openSpecificURL(url = "${url}");
              • 267
                Open(locator1 = "${url}");
            • 125
              SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
              • 3
                var userEmailAddress = "test@liferay.com";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 8
                if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                • 9
                  AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                }
              • 14
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              • 18
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${userPassword}");
              • 22
                if ("${rememberMe}" == "true") {
                • 23
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 26
                AssertClick( locator1 = "Button#SIGN_IN", value1 = "Sign In");
              • 30
                AssertElementNotPresent(locator1 = "Button#SIGN_IN");
              • 32
                WaitForLiferayEvent.initializeLiferayEventLog();
          • 98
            ProductMenu.gotoPortlet( category = "Configuration", panel = "Control Panel", portlet = "Virtual Instances");
            • 46
              ProductMenuHelper.expandPanel(panel = "${panel}");
              • 22
                ProductMenuHelper.openProductMenu();
                • 46
                  if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                  • 47
                    Click(locator1 = "ProductMenu#TOGGLE");
                  }
                • 50
                  AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
                • 52
                  AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
                • 54
                  if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
                  • 55
                    Click( key_text = "Back to Menu", locator1 = "Button#ANY");
                  }
                • 60
                  AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
              • 24
                var key_panel = StringUtil.toLowerCase("${panel}");
              • 25
                var key_panel = StringUtil.replace("${key_panel}", " ", "_");
              • 27
                if (IsElementPresent(locator1 = "ProductMenu#PANEL_COLLAPSED", key_panel = "${key_panel}")) {
                • 28
                  Click( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_COLLAPSED");
                }
              • 33
                AssertElementPresent( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_EXPANDED");
            • 48
              ProductMenuHelper.expandCategory(category = "${category}");
              • 12
                var key_category = "${category}";
              • 14
                if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                • 15
                  Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                }
              • 18
                AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
            • 50
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 103
            while (IsElementPresent(locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS", key_rowNumber = "2")) {
            • 104
              Click.waitForMenuToggleJSClick( key_rowNumber = "2", locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS");
            • 108
              MenuItem.clickNoError(menuItem = "Delete");
              • 10
                ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 110
              AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
            • 112
              Alert.viewSuccessMessage();
              • 77
                VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
              • 79
                if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                • 80
                  Click(locator1 = "Button#CLOSE_MESSAGE");
                }
            }
        }
      • 79
        else {
        • 80
          JSONGroup.deleteGroupByName(groupName = "Test Site Name");
          • 70
            Variables.assertDefined(parameterList = "${groupName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 72
            var groupId = JSONGroupSetter.setGroupId(groupName = "${groupName}");
            • 32
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 34
              if (!(isSet(site))) {
              • 35
                var site = "true";
              }
            • 38
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
              • 121
                Variables.assertDefined(parameterList = "${groupName},${site}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 123
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 19
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 20
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 22
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 23
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 25
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 26
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 28
                      return "${portalInstanceName}";
                    }
                  • 30
                    else {
                    • 31
                      return "localhost";
                    }
                • 6
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 8
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u test@liferay.com:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 125
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 127
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u test@liferay.com:test ''';
              • 132
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 133
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 134
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 136
                if ("${groupId}" == "[]") {
                • 137
                  fail("FAIL. Cannot find group.");
                }
              • 140
                return "${groupId}";
            • 40
              return "${groupId}";
          • 74
            JSONGroupAPI._deleteGroup(groupId = "${groupId}");
            • 80
              Variables.assertDefined(parameterList = "${groupId}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 82
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 84
              var curl = ''' ${portalURL}/api/jsonws/group/delete-group \ -u test@liferay.com:test \ -d groupId=${groupId} ''';
            • 90
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      }