LocalFile.AssetPublisherWithWebContent#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 [email protected] will be ignored because it is included in mail.send.blacklist

    Steps:

    • TestCase#setUpPortalInstance --> PASSED
    • Log into Liferay Portal as '${userEmailAddress}' using the password '${password}'; if not logged in as '${userEmailAddress}', then log out first --> 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 value1[email protected]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')][email protected]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')][email protected]
    • 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'][email protected]
    • 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'][email protected]
    • 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: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20098","createDate":1593579779456,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/asset-publisher-page","groupId":"20122","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"60","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1593579779456,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Asset Publisher Page<\/Name><\/root>","nameCurrentValue":"Asset Publisher Page","parentLayoutId":"0","parentPlid":"0","plid":"106","priority":2,"privateLayout":false,"publishDate":1593579779456,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","status":0,"statusByUserId":"20126","statusByUserName":"Test Test","statusDate":1593579779456,"system":false,"themeId":"","title":"","titleCurrentValue":"","type":"portlet","typeSettings":"layout-template-id=2_columns_ii%0A","userId":"20126","userName":"Test Test","uuid":"321d4fe1-8809-5483-38f9-8d3ca9b49844"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20098","createDate":1593579779456,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/asset-publisher-page","groupId":"20122","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"60","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1593579781802,"mvccVersion":"1","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Asset Publisher Page<\/Name><\/root>","nameCurrentValue":"Asset Publisher Page","parentLayoutId":"0","parentPlid":"0","plid":"106","priority":2,"privateLayout":false,"publishDate":1593579779456,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","status":0,"statusByUserId":"20126","statusByUserName":"Test Test","statusDate":1593579779456,"system":false,"themeId":"","title":"","titleCurrentValue":"","type":"portlet","typeSettings":"column-1=com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet_INSTANCE_d85a6a6fc119%0Alayout-template-id=2_columns_ii%0A","userId":"20126","userName":"Test Test","uuid":"321d4fe1-8809-5483-38f9-8d3ca9b49844"}Finished executing commands.
  • 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 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//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running isElementNotPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
  • Running AssertClick#assertPartialTextClickAt with locator1//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')] with value1Asset Publisher Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Asset Publisher Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Asset Publisher Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running clickAt with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running isNotVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
  • Running AssertVisible with locator1//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
  • LocalFile.AssetPublisherWithWebContent#SaveAsDraftWebContentPGViaAP
  • 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 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//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running isElementNotPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
  • Running AssertClick#assertPartialTextClickAt with locator1//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')] with value1Asset Publisher Page
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Asset Publisher Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Asset Publisher Page
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]Asset Publisher Page
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running clickAt with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul/li/a[contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running isNotVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
  • Running AssertVisible with locator1//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertVisible with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'navbar')]/ul//*[contains(@class,'selected active')][contains(.,'Asset Publisher Page')]
    • Running assertLiferayErrors
  • Running MouseOver#mouseOverNotVisible with locator1//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//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//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running mouseOver with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running waitForVisible with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertJavaScriptErrors with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertLiferayErrors
  • Running Click with locator1//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//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//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running mouseOver with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running click with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertJavaScriptErrors with parameters//header[div/span[.='Asset Publisher']]//*[@data-qa-id='addButton']//a/span
    • Running assertLiferayErrors
  • Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Basic Web Content']
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//div[contains(@class,'contextual-sidebar-visible')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'contextual-sidebar-visible')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'contextual-sidebar-visible')]
    • Running assertVisible with parameters//div[contains(@class,'contextual-sidebar-visible')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'contextual-sidebar-visible')]
    • Running assertLiferayErrors
  • Running Click with locator1//input[contains(@id,'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//input[contains(@id,'title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'title')]
    • Running mouseOver with parameters//input[contains(@id,'title')]
    • Running click with parameters//input[contains(@id,'title')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
  • Running Click with locator1//input[contains(@id,'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//input[contains(@id,'title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'title')]
    • Running mouseOver with parameters//input[contains(@id,'title')]
    • Running click with parameters//input[contains(@id,'title')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[contains(@id,'title')] with value1WC Webcontent Title
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC Webcontent Title
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC Webcontent Title
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'title')]WC Webcontent Title
    • Running waitForEditable with parameters//input[contains(@id,'title')]
    • Running mouseOver with parameters//input[contains(@id,'title')]
    • Running clickAt with parameters//input[contains(@id,'title')]
    • Running pause with parameters1000
    • Running type with parameters//input[contains(@id,'title')]WC Webcontent Title
    • Running pause with parameters1000
    • Running clickAt with parameters//input[contains(@id,'title')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
  • Running Type#typeEditor with locator1//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')] with value1WC WebContent Content
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC WebContent Content
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC WebContent Content
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]WC WebContent Content
    • Running waitForEditable with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running mouseOver with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running typeEditor with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]WC WebContent Content
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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())='Save as Draft']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
    • 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 Refresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running refresh
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@class,'asset-abstract')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'asset-abstract')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@class,'asset-abstract')]
    • Running assertElementNotPresent with parameters//div[contains(@class,'asset-abstract')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'asset-abstract')]
    • Running assertLiferayErrors
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//*[@data-qa-id='productMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[@data-qa-id='productMenu']
    • Running isNotVisible with parameters//*[@data-qa-id='productMenu']
  • Running 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 IsElementPresent with locator1//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
  • Running Click with locator1//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running mouseOver with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running click with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertJavaScriptErrors with parameters//a[@aria-expanded='false' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//a[@aria-expanded='true' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[@aria-expanded='true' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//a[@aria-expanded='true' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertElementPresent with parameters//a[@aria-expanded='true' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertJavaScriptErrors with parameters//a[@aria-expanded='true' and @data-qa-id='appGroup'][normalize-space(text())='Content & Data']
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content'] with value1Web Content
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Web Content
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Web Content
    • Running assertJavaScriptErrors with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Web Content
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Web Content
    • Running assertJavaScriptErrors with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']Web Content
    • Running waitForPartialTextCaseInsensitive with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']Web Content
    • Running assertPartialTextCaseInsensitive with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']Web Content
    • Running assertJavaScriptErrors with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running clickAt with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running assertJavaScriptErrors with parameters//div[a[@aria-expanded='true']]//a[contains(@id,'Portlet') and @data-title='Web Content']
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//nav[contains(@class,'management-bar')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//nav[contains(@class,'management-bar')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//nav[contains(@class,'management-bar')]
    • Running assertVisible with parameters//nav[contains(@class,'management-bar')]
    • Running assertJavaScriptErrors with parameters//nav[contains(@class,'management-bar')]
    • 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 Click with locator1//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running mouseOver with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running click with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
  • Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertLiferayErrors
  • Running AssertElementPresent#pauseAssertVisible with locator1//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertLiferayErrors
    • Running pause with parameters2000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertVisible with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']/div
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')] with value1DRAFT
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]DRAFT
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]DRAFT
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]DRAFT
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]DRAFT
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]DRAFT
    • Running waitForTextCaseInsensitive with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]DRAFT
    • Running assertTextCaseInsensitive with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]DRAFT
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//span[contains(@class,'label')]
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//nav[contains(@class,'management-bar')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//nav[contains(@class,'management-bar')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//nav[contains(@class,'management-bar')]
    • Running assertVisible with parameters//nav[contains(@class,'management-bar')]
    • Running assertJavaScriptErrors with parameters//nav[contains(@class,'management-bar')]
    • 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 Click with locator1//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running mouseOver with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running click with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'dropdown nav-item')]//button[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
  • Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//a with value1WC Webcontent Title
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC Webcontent Title
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC Webcontent Title
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//a
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//aWC Webcontent Title
    • Running waitForPartialTextCaseInsensitive with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//aWC Webcontent Title
    • Running assertPartialTextCaseInsensitive with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//aWC Webcontent Title
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[@data-qa-id='rowItemContent']//a
    • Running assertLiferayErrors
  • Running Click#waitForMenuToggleJSClick with locator1//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • 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//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running mouseOver with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running click with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//li[contains(@data-title,'WC Webcontent Title')]//*[contains(@class,'dropdown-toggle')]
    • Running assertLiferayErrors
  • Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-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//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
    • Running assertElementPresent with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
    • Running assertJavaScriptErrors with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//*[contains(@class,'status')]/span[contains(.,'Draft')] with value1Draft
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Draft
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Draft
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Draft
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Draft
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]Draft
    • Running waitForTextCaseInsensitive with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]Draft
    • Running assertTextCaseInsensitive with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]Draft
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'status')]/span[contains(.,'Draft')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//input[contains(@id,'title')] with value1WC Webcontent Title
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC Webcontent Title
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC Webcontent Title
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC Webcontent Title
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC Webcontent Title
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'title')]WC Webcontent Title
    • Running waitForValue with parameters//input[contains(@id,'title')]WC Webcontent Title
    • Running assertValue with parameters//input[contains(@id,'title')]WC Webcontent Title
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')] with value1WC WebContent Content
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC WebContent Content
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC WebContent Content
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]WC WebContent Content
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]WC WebContent Content
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]WC WebContent Content
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]WC WebContent Content
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]WC WebContent Content
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'cke_editable_inline') and contains(@id,'_content')] | //div[contains(@class,'form-group')]//textarea[contains(@id,'_content')]
    • 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
  • LocalFile.AssetPublisherWithWebContent#SaveAsDraftWebContentPGViaAP

    • 9
      setUp {
      • 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 = "[email protected]";
            • 4
              var userPassword = "test";
            • 5
              var userPasswordReminderAnswer = "test";
            • 64
              var defaultPortalURL = PropsUtil.get("default.portal.url");
            • 66
              SignIn.signInSpecificURL(url = "${defaultPortalURL}");
              • 3
                var userEmailAddress = "[email protected]";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 125
                Navigator.openSpecificURL(url = "${url}");
                • 269
                  Open(locator1 = "${url}");
              • 127
                SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
                • 3
                  var userEmailAddress = "[email protected]";
                • 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 = "[email protected]";
                • 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 = "[email protected]";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 46
                  Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                • 50
                  Button.clickSave();
                  • 80
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 82
                    WaitForLiferayEvent.initializeLiferayEventLog();
              }
            • 76
              GlobalMenu.gotoPortlet( category = "System", panel = "Control Panel", portlet = "Virtual Instances");
              • 27
                GlobalMenuHelper.openGlobalMenu();
                • 20
                  if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                  • 21
                    Click(locator1 = "GlobalMenu#TOGGLE");
                  }
                • 24
                  WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
              • 29
                GlobalMenu.gotoPanel(panel = "${panel}");
                • 14
                  var key_panel = "${panel}";
                • 16
                  AssertClick.assertPartialTextClickAt( locator1 = "GlobalMenu#PANEL", value1 = "${panel}");
                • 20
                  AssertElementPresent(locator1 = "GlobalMenu#ACTIVE_PANEL");
                • 22
                  WaitForLiferayEvent.initializeLiferayEventLog();
              • 31
                GlobalMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
                • 12
                  AssertClick( key_category = "${category}", key_portlet = "${portlet}", locator1 = "GlobalMenu#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();
              • 80
                Button.click(button = "Save");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              • 82
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 115
              Pause(locator1 = "3000");
            • 117
              WaitForElementPresent(locator1 = "//script[contains(@src,'ClayToast.js')]");
            • 119
              Alert.viewSuccessMessage();
              • 77
                VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
              • 79
                if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                • 80
                  Click(locator1 = "Button#CLOSE_MESSAGE");
                }
            • 121
              Navigator.openURL();
              • 291
                WaitForSPARefresh();
              • 293
                var baseURL = "${baseURL}";
              • 295
                if (contains("${baseURL}", "{baseURL}")) {
                • 296
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 299
                Open(locator1 = "${baseURL}/web/guest/home");
          }
      • 12
        User.firstLoginPG();
        • 3
          var password = "test";
        • 4
          var userEmailAddress = "[email protected]";
        • 1732
          if (isSet(virtualHostsURL)) {
          • 1733
            Navigator.openSpecificURL(url = "${virtualHostsURL}");
            • 269
              Open(locator1 = "${url}");
          }
        • 1735
          else {
          • 1736
            Navigator.openURL();
            • 291
              WaitForSPARefresh();
            • 293
              var baseURL = "${baseURL}";
            • 295
              if (contains("${baseURL}", "{baseURL}")) {
              • 296
                var baseURL = PropsUtil.get("portal.url");
              }
            • 299
              Open(locator1 = "${baseURL}/web/guest/home");
          }
        • 1739
          if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
          • 1740
            User.logoutPG( nodePort = "${nodePort}", specificURL = "${virtualHostsURL}");
            • 3
              var password = "test";
            • 4
              var userEmailAddress = "[email protected]";
            • 2176
              @description = "Log out of Liferay Portal."
            • 2178
              if (isSet(nodePort)) {
              • 2179
                Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                • 269
                  Open(locator1 = "${url}");
              }
            • 2181
              else {
              • 2182
                if (isSet(specificURL)) {
                • 2183
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 2185
                else {
                • 2186
                  Navigator.openURL();
                  • 291
                    WaitForSPARefresh();
                  • 293
                    var baseURL = "${baseURL}";
                  • 295
                    if (contains("${baseURL}", "{baseURL}")) {
                    • 296
                      var baseURL = PropsUtil.get("portal.url");
                    }
                  • 299
                    Open(locator1 = "${baseURL}/web/guest/home");
                }
              }
            • 2190
              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");
                }
          • 1744
            User.loginPG( specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
            • 3
              var password = "test";
            • 4
              var userEmailAddress = "[email protected]";
            • 1821
              if (isSet(nodePort)) {
              • 1822
                Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                • 269
                  Open(locator1 = "${url}");
              }
            • 1824
              else if (isSet(specificURL)) {
              • 1825
                Navigator.openSpecificURL(url = "${specificURL}");
                • 269
                  Open(locator1 = "${url}");
              }
            • 1827
              else {
              • 1828
                Navigator.openURL();
                • 291
                  WaitForSPARefresh();
                • 293
                  var baseURL = "${baseURL}";
                • 295
                  if (contains("${baseURL}", "{baseURL}")) {
                  • 296
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 299
                  Open(locator1 = "${baseURL}/web/guest/home");
              }
            • 1831
              if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
              • 1832
                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");
              }
            • 1835
              if ("${samlEnabled}" != "true") {
              • 1836
                User.loginLocalizationPG(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 1810
                  if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                  • 1811
                    var localizedSignIn = User._signInLocalization(localization = "${localization}");
                    • 3
                      var password = "test";
                    • 4
                      var userEmailAddress = "[email protected]";
                    • 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}";
                  • 1813
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                  }
              }
            • 1839
              if ("${samlMultiIdPs}" == "true") {
              • 1840
                Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
              • 1845
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1848
              if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
              • 1849
                Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
              }
            • 1853
              else {
              • 1854
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              }
            • 1859
              Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
            • 1863
              if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
              • 1864
                Check(locator1 = "Checkbox#REMEMBER_ME");
              }
            • 1867
              if (isSet(localization)) {
              • 1868
                var localizedSignIn = User._signInLocalization(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 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}";
              • 1870
                Button.click(button = "${localizedSignIn}");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1872
              else {
              • 1873
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1876
              if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
              • 1877
                echo("Sign in failed due to empty required field. Retrying...");
              • 1879
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1880
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1884
                else {
                • 1885
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1890
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1894
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1897
              Button.viewNotPresent(button = "Sign In");
              • 118
                AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
            • 1899
              if (isSet(localizedAgree)) {
              • 1900
                User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 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");
                  }
              }
            • 1902
              else {
              • 1903
                User.acceptEndUserLicenseAgreement();
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 42
                  if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                  • 43
                    AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                  • 47
                    AssertElementNotPresent(locator1 = "Button#I_AGREE");
                  }
              }
            • 1906
              User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 2233
                if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                • 2234
                  if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                  • 2235
                    Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                  • 2239
                    Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                  }
                • 2243
                  else {
                  • 2244
                    if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                    • 2245
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                    • 2249
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                    }
                  • 2253
                    else {
                    • 2254
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                    • 2258
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                    }
                  }
                • 2264
                  Button.clickSubmitButton();
                  • 98
                    Click(locator1 = "Button#SUBMIT");
                • 2266
                  AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                }
            • 1911
              if (isSet(localizedAnswer)) {
              • 1912
                User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 806
                  Pause(locator1 = "3000");
                • 808
                  var key_localizedAnswer = "${localizedAnswer}";
                • 810
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                  • 811
                    Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                  • 815
                    Button.click(button = "${localizedSaveButton}");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 817
                    Button.viewNotPresent(button = "${localizedSaveButton}");
                    • 118
                      AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                  }
              }
            • 1916
              else {
              • 1917
                User.answerPasswordReminder();
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 794
                  Pause(locator1 = "3000");
                • 796
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                  • 797
                    Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                  • 801
                    Click(locator1 = "Button#SUBMIT");
                  }
              }
            • 1920
              AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
            • 1922
              WaitForLiferayEvent.initializeLiferayEventLog();
          }
        • 1748
          else {
          • 1749
            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 = "[email protected]";
            • 1821
              if (isSet(nodePort)) {
              • 1822
                Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                • 269
                  Open(locator1 = "${url}");
              }
            • 1824
              else if (isSet(specificURL)) {
              • 1825
                Navigator.openSpecificURL(url = "${specificURL}");
                • 269
                  Open(locator1 = "${url}");
              }
            • 1827
              else {
              • 1828
                Navigator.openURL();
                • 291
                  WaitForSPARefresh();
                • 293
                  var baseURL = "${baseURL}";
                • 295
                  if (contains("${baseURL}", "{baseURL}")) {
                  • 296
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 299
                  Open(locator1 = "${baseURL}/web/guest/home");
              }
            • 1831
              if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
              • 1832
                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");
              }
            • 1835
              if ("${samlEnabled}" != "true") {
              • 1836
                User.loginLocalizationPG(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 1810
                  if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                  • 1811
                    var localizedSignIn = User._signInLocalization(localization = "${localization}");
                    • 3
                      var password = "test";
                    • 4
                      var userEmailAddress = "[email protected]";
                    • 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}";
                  • 1813
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                  }
              }
            • 1839
              if ("${samlMultiIdPs}" == "true") {
              • 1840
                Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
              • 1845
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1848
              if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
              • 1849
                Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
              }
            • 1853
              else {
              • 1854
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              }
            • 1859
              Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
            • 1863
              if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
              • 1864
                Check(locator1 = "Checkbox#REMEMBER_ME");
              }
            • 1867
              if (isSet(localization)) {
              • 1868
                var localizedSignIn = User._signInLocalization(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 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}";
              • 1870
                Button.click(button = "${localizedSignIn}");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1872
              else {
              • 1873
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1876
              if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
              • 1877
                echo("Sign in failed due to empty required field. Retrying...");
              • 1879
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1880
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1884
                else {
                • 1885
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1890
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1894
                Button.click(button = "Sign In");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              }
            • 1897
              Button.viewNotPresent(button = "Sign In");
              • 118
                AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
            • 1899
              if (isSet(localizedAgree)) {
              • 1900
                User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 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");
                  }
              }
            • 1902
              else {
              • 1903
                User.acceptEndUserLicenseAgreement();
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 42
                  if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                  • 43
                    AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                  • 47
                    AssertElementNotPresent(locator1 = "Button#I_AGREE");
                  }
              }
            • 1906
              User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 2233
                if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                • 2234
                  if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                  • 2235
                    Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                  • 2239
                    Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                  }
                • 2243
                  else {
                  • 2244
                    if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                    • 2245
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                    • 2249
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                    }
                  • 2253
                    else {
                    • 2254
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                    • 2258
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                    }
                  }
                • 2264
                  Button.clickSubmitButton();
                  • 98
                    Click(locator1 = "Button#SUBMIT");
                • 2266
                  AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                }
            • 1911
              if (isSet(localizedAnswer)) {
              • 1912
                User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 806
                  Pause(locator1 = "3000");
                • 808
                  var key_localizedAnswer = "${localizedAnswer}";
                • 810
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                  • 811
                    Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                  • 815
                    Button.click(button = "${localizedSaveButton}");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 817
                    Button.viewNotPresent(button = "${localizedSaveButton}");
                    • 118
                      AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                  }
              }
            • 1916
              else {
              • 1917
                User.answerPasswordReminder();
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 794
                  Pause(locator1 = "3000");
                • 796
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                  • 797
                    Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                  • 801
                    Click(locator1 = "Button#SUBMIT");
                  }
              }
            • 1920
              AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
            • 1922
              WaitForLiferayEvent.initializeLiferayEventLog();
          }
      • 14
        JSONLayout.addPublicLayout( groupName = "Guest", layoutName = "Asset Publisher Page");
        • 67
          Variables.assertDefined(parameterList = "${groupName},${layoutName}");
          • 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
          var friendlyURL = JSONLayoutSetter.setFriendlyURL(friendlyURL = "${friendlyURL}");
          • 12
            if (!(isSet(friendlyURL))) {
            • 13
              var friendlyURL = "";
            }
          • 16
            return "${friendlyURL}";
        • 71
          var groupId = JSONLayoutSetter.setGroupId(groupKey = "${groupName}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
          • 20
            JSONUtil2._exclusiveOrCheck( A = "${groupName}", B = "${groupKey}", failMessage = "Please only set 'groupName' or 'groupKey' but not both or none.");
            • 113
              if (((isSet(A)) && (isSet(B))) || ((!(isSet(B))) && (!(isSet(A))))) {
              • 114
                fail("${failMessage}");
              }
          • 25
            if (isSet(groupName)) {
            • 26
              if (!(isSet(site))) {
              • 27
                var site = "true";
              }
            • 30
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
              • 135
                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}'");
                    }
                  }
              • 137
                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 [email protected]:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 139
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 141
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
              • 146
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 147
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 148
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 150
                if ("${groupId}" == "[]") {
                • 151
                  fail("FAIL. Cannot find group.");
                }
              • 154
                return "${groupId}";
            }
          • 32
            else if (isSet(groupKey)) {
            • 33
              var site = JSONLayoutSetter.setSite(site = "${site}");
              • 91
                if (!(isSet(site))) {
                • 92
                  var site = "true";
                }
              • 95
                return "${site}";
            • 35
              var groupId = JSONGroupAPI._getGroupIdByGroupKey(groupKey = "${groupKey}", site = "${site}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
              • 109
                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}'");
                    }
                  }
              • 111
                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 [email protected]:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 113
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 54
                  if (isSet(parentGroupName)) {
                  • 55
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 177
                      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}'");
                          }
                        }
                    • 179
                      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 [email protected]:test ''';
                      • 13
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 15
                        return "${companyId}";
                    • 181
                      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}");
                          • 135
                            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}'");
                                }
                              }
                          • 137
                            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 [email protected]:test ''';
                            • 13
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 15
                              return "${companyId}";
                          • 139
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 141
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                          • 146
                            var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 147
                            var groupId = StringUtil.replace("${groupId}", "["", "");
                          • 148
                            var groupId = StringUtil.replace("${groupId}", ""]", "");
                          • 150
                            if ("${groupId}" == "[]") {
                            • 151
                              fail("FAIL. Cannot find group.");
                            }
                          • 154
                            return "${groupId}";
                        }
                      • 11
                        else {
                        • 12
                          var grandParentGroupId = "0";
                        }
                      • 15
                        return "${grandParentGroupId}";
                    • 183
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 185
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                    • 190
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 191
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 192
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 194
                      if ("${groupId}" == "[]") {
                      • 195
                        fail("FAIL. Cannot find group.");
                      }
                    • 198
                      return "${groupId}";
                  }
                • 57
                  else {
                  • 58
                    var parentGroupId = "0";
                  }
                • 61
                  return "${parentGroupId}";
              • 115
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 117
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
              • 122
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['groupId']");
              • 123
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 124
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 126
                if ("${groupId}" == "[]") {
                • 127
                  fail("FAIL. Cannot find group.");
                }
              • 130
                return "${groupId}";
            }
          • 38
            return "${groupId}";
        • 73
          var parentLayoutId = JSONLayoutSetter.setParentLayoutId( groupId = "${groupId}", parentLayoutName = "${parentLayoutName}", privateLayout = "false");
          • 53
            var privateLayout = JSONLayoutSetter.setPrivateLayout(privateLayout = "${privateLayout}");
            • 71
              if (!(isSet(privateLayout))) {
              • 72
                var privateLayout = "false";
              }
            • 75
              return "${privateLayout}";
          • 55
            if (isSet(parentLayoutName)) {
            • 56
              Variables.assertDefined(parameterList = "${groupId},${parentLayoutName}");
              • 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}'");
                  }
                }
            • 58
              var parentLayoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${parentLayoutName}", privateLayout = "${privateLayout}");
              • 70
                Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                • 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 portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 74
                var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
              • 81
                var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
              • 82
                var layoutId = StringUtil.replace("${layoutId}", "["", "");
              • 83
                var layoutId = StringUtil.replace("${layoutId}", ""]", "");
              • 85
                if ("${layoutId}" == "[]") {
                • 86
                  fail("FAIL. Cannot find layout.");
                }
              • 89
                return "${layoutId}";
            }
          • 63
            else {
            • 64
              var parentLayoutId = "0";
            }
          • 67
            return "${parentLayoutId}";
        • 78
          var serviceContext = JSONLayoutSetter.setServiceContext( assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
          • 79
            if (!(isSet(serviceContext))) {
            • 80
              var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "true", 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}");
                    • 135
                      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}'");
                          }
                        }
                    • 137
                      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 [email protected]:test ''';
                      • 13
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 15
                        return "${companyId}";
                    • 139
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 141
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                    • 146
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 147
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 148
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 150
                      if ("${groupId}" == "[]") {
                      • 151
                        fail("FAIL. Cannot find group.");
                      }
                    • 154
                      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}";
            }
          • 87
            return "${serviceContext}";
        • 84
          var type = JSONLayoutSetter.setType(type = "${type}");
          • 100
            if (!(isSet(type))) {
            • 101
              var type = "portlet";
            }
          • 104
            return "${type}";
        • 86
          JSONLayoutAPI._addLayout( friendlyURL = "${friendlyURL}", groupId = "${groupId}", layoutName = "${layoutName}", parentLayoutId = "${parentLayoutId}", privateLayout = "false", serviceContext = "${serviceContext}", type = "${type}");
          • 5
            Variables.assertDefined(parameterList = "${friendlyURL},${groupId},${privateLayout},${parentLayoutId},${layoutName},${serviceContext}");
            • 5
              if (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
            var curl = ''' ${portalURL}/api/jsonws/layout/add-layout \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d parentLayoutId=${parentLayoutId} \ -d name=${layoutName} \ -d title= \ -d description= \ -d type=${type} \ -d hidden=false \ -d friendlyURL=${friendlyURL} \ -d serviceContext=${serviceContext} ''';
          • 24
            com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
      • 18
        JSONLayout.addWidgetToPublicLayout( groupName = "Guest", layoutName = "Asset Publisher Page", widgetName = "Asset Publisher");
        • 153
          Variables.assertDefined(parameterList = "${groupName},${layoutName},${widgetName}");
          • 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}'");
              }
            }
        • 155
          var groupId = JSONLayoutSetter.setGroupId(groupKey = "${groupName}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}", site = "${site}");
          • 20
            JSONUtil2._exclusiveOrCheck( A = "${groupName}", B = "${groupKey}", failMessage = "Please only set 'groupName' or 'groupKey' but not both or none.");
            • 113
              if (((isSet(A)) && (isSet(B))) || ((!(isSet(B))) && (!(isSet(A))))) {
              • 114
                fail("${failMessage}");
              }
          • 25
            if (isSet(groupName)) {
            • 26
              if (!(isSet(site))) {
              • 27
                var site = "true";
              }
            • 30
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
              • 135
                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}'");
                    }
                  }
              • 137
                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 [email protected]:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 139
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 141
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
              • 146
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 147
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 148
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 150
                if ("${groupId}" == "[]") {
                • 151
                  fail("FAIL. Cannot find group.");
                }
              • 154
                return "${groupId}";
            }
          • 32
            else if (isSet(groupKey)) {
            • 33
              var site = JSONLayoutSetter.setSite(site = "${site}");
              • 91
                if (!(isSet(site))) {
                • 92
                  var site = "true";
                }
              • 95
                return "${site}";
            • 35
              var groupId = JSONGroupAPI._getGroupIdByGroupKey(groupKey = "${groupKey}", site = "${site}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
              • 109
                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}'");
                    }
                  }
              • 111
                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 [email protected]:test ''';
                • 13
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 15
                  return "${companyId}";
              • 113
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 54
                  if (isSet(parentGroupName)) {
                  • 55
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 177
                      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}'");
                          }
                        }
                    • 179
                      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 [email protected]:test ''';
                      • 13
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 15
                        return "${companyId}";
                    • 181
                      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}");
                          • 135
                            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}'");
                                }
                              }
                          • 137
                            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 [email protected]:test ''';
                            • 13
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 15
                              return "${companyId}";
                          • 139
                            var portalURL = JSONCompany.getPortalURL();
                            • 36
                              var portalURL = PropsUtil.get("portal.url");
                            • 38
                              return "${portalURL}";
                          • 141
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                          • 146
                            var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 147
                            var groupId = StringUtil.replace("${groupId}", "["", "");
                          • 148
                            var groupId = StringUtil.replace("${groupId}", ""]", "");
                          • 150
                            if ("${groupId}" == "[]") {
                            • 151
                              fail("FAIL. Cannot find group.");
                            }
                          • 154
                            return "${groupId}";
                        }
                      • 11
                        else {
                        • 12
                          var grandParentGroupId = "0";
                        }
                      • 15
                        return "${grandParentGroupId}";
                    • 183
                      var portalURL = JSONCompany.getPortalURL();
                      • 36
                        var portalURL = PropsUtil.get("portal.url");
                      • 38
                        return "${portalURL}";
                    • 185
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                    • 190
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 191
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 192
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 194
                      if ("${groupId}" == "[]") {
                      • 195
                        fail("FAIL. Cannot find group.");
                      }
                    • 198
                      return "${groupId}";
                  }
                • 57
                  else {
                  • 58
                    var parentGroupId = "0";
                  }
                • 61
                  return "${parentGroupId}";
              • 115
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 117
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
              • 122
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['groupId']");
              • 123
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 124
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 126
                if ("${groupId}" == "[]") {
                • 127
                  fail("FAIL. Cannot find group.");
                }
              • 130
                return "${groupId}";
            }
          • 38
            return "${groupId}";
        • 157
          var layoutId = JSONLayoutSetter.setLayoutId( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "false");
          • 42
            Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
            • 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}'");
                }
              }
          • 44
            var layoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "${privateLayout}");
            • 70
              Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
              • 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 portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 74
              var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
            • 81
              var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
            • 82
              var layoutId = StringUtil.replace("${layoutId}", "["", "");
            • 83
              var layoutId = StringUtil.replace("${layoutId}", ""]", "");
            • 85
              if ("${layoutId}" == "[]") {
              • 86
                fail("FAIL. Cannot find layout.");
              }
            • 89
              return "${layoutId}";
          • 49
            return "${layoutId}";
        • 162
          var typeSettings = JSONLayoutSetter.setTypeSettings( column = "${column}", groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "false", widgetName = "${widgetName}");
          • 108
            Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
            • 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}'");
                }
              }
          • 110
            var typeSettings = JSONLayoutAPI._getTypeSettingsByName( groupId = "${groupId}", layoutName = "${layoutName}", privateLayout = "${privateLayout}");
            • 94
              Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
              • 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 portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 98
              var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
            • 105
              var typeSettings = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['typeSettings']");
            • 106
              var typeSettings = StringUtil.replace("${typeSettings}", "["", "");
            • 107
              var typeSettings = StringUtil.replace("${typeSettings}", ""]", "");
            • 109
              if ("${typeSettings}" == "[]") {
              • 110
                fail("FAIL. Cannot find layout.");
              }
            • 113
              return "${typeSettings}";
          • 115
            if (isSet(layoutTemplate)) {
            • 116
              var typeSettings = JSONLayoutUtil._updateLayoutTemplateId( layoutTemplate = "${layoutTemplate}", typeSettings = "${typeSettings}");
              • 213
                if (!(isSet(layoutTemplate))) {
                • 214
                  fail("layoutTemplate not set.");
                }
              • 217
                if (!(isSet(typeSettings))) {
                • 218
                  fail("layoutTemplateId not set.");
                }
              • 221
                var layoutTemplateId = JSONLayoutUtil._getLayoutTemplateId(layoutTemplate = "${layoutTemplate}");
                • 159
                  if (!(isSet(layoutTemplate))) {
                  • 160
                    fail("layoutTemplate not set.");
                  }
                • 163
                  if ("${layoutTemplate}" == "1 Column") {
                  • 164
                    layoutTemplateId = "1_column";
                  }
                • 166
                  else if ("${layoutTemplate}" == "2 Columns (50/50)") {
                  • 167
                    layoutTemplateId = "2_columns_i";
                  }
                • 169
                  else if ("${layoutTemplate}" == "2 Columns (30/70)") {
                  • 170
                    layoutTemplateId = "2_columns_ii";
                  }
                • 172
                  else if ("${layoutTemplate}" == "2 Columns (70/30)") {
                  • 173
                    layoutTemplateId = "2_columns_iii";
                  }
                • 175
                  else if ("${layoutTemplate}" == "3 Columns") {
                  • 176
                    layoutTemplateId = "3_columns";
                  }
                • 178
                  else if ("${layoutTemplate}" == "1-2 Columns (30/70)") {
                  • 179
                    layoutTemplateId = "1_2_columns_i";
                  }
                • 181
                  else if ("${layoutTemplate}" == "1-2 Columns (70/30)") {
                  • 182
                    layoutTemplateId = "1_2_columns_ii";
                  }
                • 184
                  else if ("${layoutTemplate}" == "1-2-1 Columns (50/50)") {
                  • 185
                    layoutTemplateId = "1_2_1_columns_i";
                  }
                • 187
                  else if ("${layoutTemplate}" == "1-2-1 Columns (70/30)") {
                  • 188
                    layoutTemplateId = "1_2_1_columns_ii";
                  }
                • 190
                  else if ("${layoutTemplate}" == "1-3-1 Columns") {
                  • 191
                    layoutTemplateId = "1_3_1_columns";
                  }
                • 193
                  else if ("${layoutTemplate}" == "1-3-2 Columns") {
                  • 194
                    layoutTemplateId = "1_3_2_columns";
                  }
                • 196
                  else if ("${layoutTemplate}" == "2-1-2 Columns") {
                  • 197
                    layoutTemplateId = "2_1_2_columns";
                  }
                • 199
                  else if ("${layoutTemplate}" == "2-2 Columns") {
                  • 200
                    layoutTemplateId = "2_2_columns";
                  }
                • 202
                  else if ("${layoutTemplate}" == "3-2-3 Columns") {
                  • 203
                    layoutTemplateId = "3_2_3_columns";
                  }
                • 205
                  else {
                  • 206
                    fail("'layoutTemplate' could not find a valid layoutTemplateId");
                  }
                • 209
                  return "${layoutTemplateId}";
              • 223
                var typeSettings = StringUtil.regexReplaceFirst("${typeSettings}","(layout-template-id=).*","$1${layoutTemplateId}");
              • 225
                return "${typeSettings}";
            }
          • 121
            if (isSet(widgetName)) {
            • 122
              var typeSettings = JSONLayoutUtil._addWidgetToTypeSettings( column = "${column}", widgetName = "${widgetName}", typeSettings = "${typeSettings}");
              • 7
                if (!(isSet(column))) {
                • 8
                  var column = "1";
                }
              • 11
                Variables.assertDefined(parameterList = "${typeSettings}");
                • 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}'");
                    }
                  }
              • 13
                var widget = JSONLayoutUtil._generateWidget( widgetName = "${widgetName}");
                • 29
                  Variables.assertDefined(parameterList = "${widgetName}");
                  • 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}'");
                      }
                    }
                • 31
                  if ("${widgetName}" == "Announcements") {
                  • 32
                    var portletId = "com_liferay_announcements_web_portlet_AnnouncementsPortlet";
                  }
                • 35
                  else if ("${widgetName}" == "Asset Publisher") {
                  • 36
                    var portletId = "com_liferay_asset_publisher_web_portlet_AssetPublisherPortlet";
                  }
                • 38
                  else if ("${widgetName}" == "Blogs") {
                  • 39
                    var portletId = "com_liferay_blogs_web_portlet_BlogsPortlet";
                  }
                • 41
                  else if ("${widgetName}" == "Bookmarks") {
                  • 42
                    var portletId = "com_liferay_bookmarks_web_portlet_BookmarksPortlet";
                  }
                • 44
                  else if ("${widgetName}" == "Breadcrumb") {
                  • 45
                    var portletId = "com_liferay_site_navigation_breadcrumb_web_portlet_SiteNavigationBreadcrumbPortlet";
                  }
                • 47
                  else if ("${widgetName}" == "Categories Navigation") {
                  • 48
                    var portletId = "com_liferay_asset_categories_navigation_web_portlet_AssetCategoriesNavigationPortlet";
                  }
                • 50
                  else if ("${widgetName}" == "Contacts Center") {
                  • 51
                    var portletId = "com_liferay_contacts_web_portlet_ContactsCenterPortlet";
                  }
                • 53
                  else if ("${widgetName}" == "Custom Filter") {
                  • 54
                    var portletId = "com_liferay_portal_search_web_internal_custom_filter_portlet_CustomFilterPortlet";
                  }
                • 56
                  else if ("${widgetName}" == "Documents and Media") {
                  • 57
                    var portletId = "com_liferay_document_library_web_portlet_DLPortlet";
                  }
                • 59
                  else if ("${widgetName}" == "Highest Rated Assets") {
                  • 60
                    var portletId = "com_liferay_asset_publisher_web_portlet_HighestRatedAssetsPortlet";
                  }
                • 62
                  else if ("${widgetName}" == "IFrame") {
                  • 63
                    var portletId = "com_liferay_iframe_web_portlet_IFramePortlet";
                  }
                • 65
                  else if ("${widgetName}" == "Knowledge Base Article") {
                  • 66
                    var portletId = "com_liferay_knowledge_base_web_portlet_ArticlePortlet";
                  }
                • 68
                  else if ("${widgetName}" == "Knowledge Base Display") {
                  • 69
                    var portletId = "com_liferay_knowledge_base_web_portlet_DisplayPortlet";
                  }
                • 71
                  else if ("${widgetName}" == "Language Selector") {
                  • 72
                    var portletId = "com_liferay_site_navigation_language_web_portlet_SiteNavigationLanguagePortlet";
                  }
                • 74
                  else if ("${widgetName}" == "Low Level Search Options") {
                  • 75
                    var portletId = "com_liferay_portal_search_web_low_level_search_options_portlet_LowLevelSearchOptionsPortlet";
                  }
                • 77
                  else if ("${widgetName}" == "Media Gallery") {
                  • 78
                    var portletId = "com_liferay_document_library_web_portlet_IGDisplayPortlet";
                  }
                • 80
                  else if ("${widgetName}" == "Message Boards") {
                  • 81
                    var portletId = "com_liferay_message_boards_web_portlet_MBPortlet";
                  }
                • 83
                  else if ("${widgetName}" == "Most Viewed Assets") {
                  • 84
                    var portletId = "com_liferay_asset_publisher_web_portlet_MostViewedAssetsPortlet";
                  }
                • 86
                  else if ("${widgetName}" == "My Sites") {
                  • 87
                    var portletId = "com_liferay_site_my_sites_web_portlet_MySitesPortlet";
                  }
                • 89
                  else if ("${widgetName}" == "Navigation Menu") {
                  • 90
                    var portletId = "com_liferay_site_navigation_menu_web_portlet_SiteNavigationMenuPortlet";
                  }
                • 92
                  else if ("${widgetName}" == "Nested Applications") {
                  • 93
                    var portletId = "com_liferay_nested_portlets_web_portlet_NestedPortletsPortlet";
                  }
                • 95
                  else if ("${widgetName}" == "Profile") {
                  • 96
                    var portletId = "com_liferay_contacts_web_portlet_ProfilePortlet";
                  }
                • 98
                  else if ("${widgetName}" == "Related Assets") {
                  • 99
                    var portletId = "com_liferay_asset_publisher_web_portlet_RelatedAssetsPortlet";
                  }
                • 101
                  else if ("${widgetName}" == "RSS Publisher") {
                  • 102
                    var portletId = "com_liferay_rss_web_portlet_RSSPortlet";
                  }
                • 104
                  else if ("${widgetName}" == "Search Bar") {
                  • 105
                    var portletId = "com_liferay_portal_search_web_search_bar_portlet_SearchBarPortlet";
                  }
                • 107
                  else if ("${widgetName}" == "Search Options") {
                  • 108
                    var portletId = "com_liferay_portal_search_web_search_options_portlet_SearchOptionsPortlet";
                  }
                • 110
                  else if ("${widgetName}" == "Search Results") {
                  • 111
                    var portletId = "com_liferay_portal_search_web_search_results_portlet_SearchResultsPortlet";
                  }
                • 113
                  else if ("${widgetName}" == "Sign In") {
                  • 114
                    var portletId = "com_liferay_login_web_portlet_LoginPortlet";
                  }
                • 116
                  else if ("${widgetName}" == "Site Map") {
                  • 117
                    var portletId = "com_liferay_site_navigation_site_map_web_portlet_SiteNavigationSiteMapPortlet";
                  }
                • 119
                  else if ("${widgetName}" == "Sites Directory") {
                  • 120
                    var portletId = "com_liferay_site_navigation_directory_web_portlet_SitesDirectoryPortlet";
                  }
                • 122
                  else if ("${widgetName}" == "Tags Navigation") {
                  • 123
                    var portletId = "com_liferay_asset_tags_navigation_web_portlet_AssetTagsNavigationPortlet";
                  }
                • 125
                  else if ("${widgetName}" == "Type Facet") {
                  • 126
                    var portletId = "com_liferay_portal_search_web_type_facet_portlet_TypeFacetPortlet";
                  }
                • 128
                  else if ("${widgetName}" == "User Statistics") {
                  • 129
                    var portletId = "com_liferay_social_user_statistics_web_portlet_SocialUserStatisticsPortlet";
                  }
                • 131
                  else if ("${widgetName}" == "Web Content Display") {
                  • 132
                    var portletId = "com_liferay_journal_content_web_portlet_JournalContentPortlet";
                  }
                • 134
                  else if ("${widgetName}" == "Web Content Search") {
                  • 135
                    var portletId = "com_liferay_journal_content_search_web_portlet_JournalContentSearchPortlet";
                  }
                • 137
                  else if ("${widgetName}" == "Wiki") {
                  • 138
                    var portletId = "com_liferay_wiki_web_portlet_WikiPortlet";
                  }
                • 140
                  else {
                  • 141
                    fail("'widgetName' is either invalid or its 'portletId' is not yet set.");
                  }
                • 144
                  var instanceId = StringUtil.randomString("12");
                • 146
                  var nonRepeatableWidgets = "Blogs,Bookmarks,Knowledge Base Display,Language Selector,Message Boards,My Sites,Sign In,Web Content Search,Wiki";
                • 148
                  if (contains("${nonRepeatableWidgets}", "${widgetName}")) {
                  • 149
                    var widget = "${portletId}";
                  }
                • 151
                  else {
                  • 152
                    var widget = "${portletId}_INSTANCE_${instanceId}";
                  }
                • 155
                  return "${widget}";
              • 16
                if (contains("${typeSettings}","column-${column}=")) {
                • 17
                  var typeSettings = StringUtil.regexReplaceFirst("${typeSettings}","(column-${column}=[^%]*)","$1,${widget}");
                }
              • 19
                else {
                • 20
                  var typeSettings = '''${typeSettings}column-${column}''';
                • 21
                  var typeSettings = '''${typeSettings}=${widget}''';
                }
              • 24
                return "${typeSettings}";
            }
          • 128
            if ((!(isSet(layoutTemplate))) && (!(isSet(widgetName)))) {
            • 129
              fail("typeSettings will not be updated.");
            }
          • 132
            return "${typeSettings}";
        • 169
          JSONLayoutAPI._updateTypeSettings( groupId = "${groupId}", layoutId = "${layoutId}", privateLayout = "false", typeSettings = "${typeSettings}");
          • 118
            Variables.assertDefined(parameterList = "${groupId},${privateLayout},${layoutId},${typeSettings}");
            • 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}'");
                }
              }
          • 120
            var portalURL = JSONCompany.getPortalURL();
            • 36
              var portalURL = PropsUtil.get("portal.url");
            • 38
              return "${portalURL}";
          • 122
            var curl = ''' ${portalURL}/api/jsonws/layout/update-layout \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d layoutId=${layoutId} \ -d typeSettings=${typeSettings} ''';
          • 131
            com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
      • 23
        Navigator.gotoPage(pageName = "Asset Publisher Page");
        • 129
          Navigator.openURL(baseURL = "${baseURL}");
          • 291
            WaitForSPARefresh();
          • 293
            var baseURL = "${baseURL}";
          • 295
            if (contains("${baseURL}", "{baseURL}")) {
            • 296
              var baseURL = PropsUtil.get("portal.url");
            }
          • 299
            Open(locator1 = "${baseURL}/web/guest/home");
        • 131
          Pause(locator1 = "3000");
        • 133
          Navigator._gotoPage(pageName = "${pageName}");
          • 4
            var key_pageName = "${pageName}";
          • 5
            var count = "0";
          • 7
            while (("${count}" != "3") && (IsElementNotPresent(locator1 = "Home#PAGE_ACTIVE"))) {
            • 8
              AssertClick.assertPartialTextClickAt( locator1 = "Home#PAGE", value1 = "${pageName}");
            • 12
              var count = ${count} + 1;
            }
          • 15
            AssertVisible(locator1 = "Home#PAGE_ACTIVE");
      }
    • 424
      test SaveAsDraftWebContentPGViaAP {
      • 425
        Navigator.gotoPage(pageName = "Asset Publisher Page");
        • 129
          Navigator.openURL(baseURL = "${baseURL}");
          • 291
            WaitForSPARefresh();
          • 293
            var baseURL = "${baseURL}";
          • 295
            if (contains("${baseURL}", "{baseURL}")) {
            • 296
              var baseURL = PropsUtil.get("portal.url");
            }
          • 299
            Open(locator1 = "${baseURL}/web/guest/home");
        • 131
          Pause(locator1 = "3000");
        • 133
          Navigator._gotoPage(pageName = "${pageName}");
          • 4
            var key_pageName = "${pageName}";
          • 5
            var count = "0";
          • 7
            while (("${count}" != "3") && (IsElementNotPresent(locator1 = "Home#PAGE_ACTIVE"))) {
            • 8
              AssertClick.assertPartialTextClickAt( locator1 = "Home#PAGE", value1 = "${pageName}");
            • 12
              var count = ${count} + 1;
            }
          • 15
            AssertVisible(locator1 = "Home#PAGE_ACTIVE");
      • 427
        WebContent.addDraftPGViaAP( webContentContent = "WC WebContent Content", webContentTitle = "WC Webcontent Title");
        • 52
          AssetPublisherPortlet.addAsset(assetType = "Basic Web Content");
          • 4
            Portlet.clickPortletPlusIconPG(portletName = "Asset Publisher");
            • 154
              var browserType = PropsUtil.get("browser.type");
            • 155
              var key_portletName = "${portletName}";
            • 157
              if ("${browserType}" == "internetexplorer") {
              • 158
                Click.javaScriptClick(locator1 = "Portlet#ICON_PLUS_SIGN");
              • 160
                AssertVisible(locator1 = "Portlet#ICON_PLUS_SIGN");
              }
            • 163
              else if ("${browserType}" == "safari") {
              • 164
                Click.javaScriptClick(locator1 = "Portlet#ICON_PLUS_SIGN");
              • 166
                AssertVisible(locator1 = "Portlet#ICON_PLUS_SIGN");
              }
            • 169
              else {
              • 170
                MouseOver.mouseOverNotVisible( key_portletName = "${portletName}", locator1 = "Portlet#ICON_PLUS_SIGN");
              • 174
                Click( key_portletName = "${portletName}", locator1 = "Portlet#ICON_PLUS_SIGN");
              }
          • 6
            if (isSet(siteScope)) {
            • 7
              MenuItem.click(menuItem = "Add Content (Select Scope and Type)");
              • 4
                Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 9
              SelectField.select( selectFieldLabel = "Scope", selectFieldValue = "${siteScope}");
              • 4
                Select( key_selectFieldLabel = "${selectFieldLabel}", locator1 = "Select#ANY", value1 = "${selectFieldValue}");
            • 13
              SelectField.select( selectFieldLabel = "Asset Type", selectFieldValue = "${assetType}");
              • 4
                Select( key_selectFieldLabel = "${selectFieldLabel}", locator1 = "Select#ANY", value1 = "${selectFieldValue}");
            • 17
              Button.clickAdd();
              • 10
                Button.click(button = "Add");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            }
          • 19
            else {
            • 20
              MenuItem.click(menuItem = "${assetType}");
              • 4
                Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            }
        • 54
          WebContent.addCP( webContentContent = "${webContentContent}", webContentTitle = "${webContentTitle}");
          • 14
            AssertVisible(locator1 = "WCEditWebContent#SIDEBAR");
          • 16
            if (isSet(webContentTitle)) {
            • 17
              Click(locator1 = "TextInput#TITLE");
            • 19
              PortletEntry.inputTitle(title = "${webContentTitle}");
              • 130
                Click(locator1 = "TextInput#TITLE");
              • 132
                Type( locator1 = "TextInput#TITLE", value1 = "${title}");
            }
          • 22
            if (isSet(webContentContent)) {
            • 23
              AlloyEditor.addContent(content = "${webContentContent}");
              • 4
                AlloyEditor.typeEditor( content = "${content}", editor = "content");
                • 76
                  Type.typeEditor( key_editor = "${editor}", locator1 = "AlloyEditor#EDITOR", value1 = "${content}");
            }
          • 26
            if (isSet(viewableBy)) {
            • 27
              Panel.expandPanel(panel = "Permissions");
              • 4
                Portlet.waitForForm();
                • 587
                  AssertElementNotPresent(locator1 = "//fieldset[@disabled]");
              • 6
                var key_panel = "${panel}";
              • 8
                AssertVisible( key_panel = "${panel}", locator1 = "Panel#PANEL");
              • 12
                if ((IsElementPresent(locator1 = "Panel#PANEL_COLLAPSED")) && (IsVisible(locator1 = "Panel#PANEL_COLLAPSED"))) {
                • 13
                  AssertClick( locator1 = "Panel#PANEL_COLLAPSED", value1 = "${panel}");
                }
              • 18
                AssertElementPresent(locator1 = "Panel#PANEL_EXPANDED");
            • 29
              Select( locator1 = "Select#PERMISSIONS", value1 = "${viewableBy}");
            }
          • 34
            if (isSet(webContentId)) {
            • 35
              Uncheck(locator1 = "WCEditWebContent#AUTOGENERATEID");
            • 37
              Type( locator1 = "WCEditWebContent#WEB_CONTENT_ID", value1 = "${webContentId}");
            }
        • 58
          WebContent.saveAsDraftViaAP();
          • 1302
            Button.clickSaveAsDraft();
            • 86
              Button.click(button = "Save as Draft");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 1304
            Pause(locator1 = "5000");
          • 1306
            Refresh();
          • 1308
            AssertElementNotPresent(locator1 = "AP#ASSET_ABSTRACT_GENERIC");
      • 431
        Navigator.openURL();
        • 291
          WaitForSPARefresh();
        • 293
          var baseURL = "${baseURL}";
        • 295
          if (contains("${baseURL}", "{baseURL}")) {
          • 296
            var baseURL = PropsUtil.get("portal.url");
          }
        • 299
          Open(locator1 = "${baseURL}/web/guest/home");
      • 433
        ProductMenu.gotoPortlet( category = "Content & Data", portlet = "Web Content");
        • 49
          if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
          • 50
            GlobalMenu.gotoSite(site = "${site}");
            • 38
              GlobalMenuHelper.openGlobalMenu();
              • 20
                if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                • 21
                  Click(locator1 = "GlobalMenu#TOGGLE");
                }
              • 24
                WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
            • 40
              AssertClick( key_site = "${site}", locator1 = "GlobalMenu#SITE_LINK", value1 = "${site}");
          }
        • 53
          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");
        • 55
          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");
        • 57
          ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
          • 39
            AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
      • 437
        WebContentNavigator.gotoViewStatus( webContentStatus = "DRAFT", webContentTitle = "WC Webcontent Title");
        • 120
          var key_webContentTitle = "${webContentTitle}";
        • 122
          LexiconEntry.changeDisplayStyle(displayStyle = "list");
          • 4
            var browserType = PropsUtil.get("browser.type");
          • 6
            if ("${browserType}" == "chrome") {
            • 7
              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");
                  }
            }
          • 10
            Click(locator1 = "Icon#CURRENT_DISPLAY_STYLE");
          • 12
            MenuItem.click(menuItem = StringUtil.upperCaseFirstLetter("${displayStyle}"));
            • 4
              Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
        • 124
          AssertElementPresent.pauseAssertVisible(locator1 = "WC#ENTRY_LIST_THUMBNAIL");
        • 126
          AssertTextEquals( locator1 = "WC#ENTRY_LIST_WORKFLOW_STATUS", value1 = "${webContentStatus}");
        • 130
          WebContentNavigator.gotoEditCP(webContentTitle = "${webContentTitle}");
          • 52
            WebContentNavigator._openDescriptiveMenulistCP( webContentTitle = "${webContentTitle}", webContentTitleEscapeCharacter = "${webContentTitleEscapeCharacter}");
            • 4
              if (!(contains("${webContentTitleEscapeCharacter}", "{webContentTitleEscapeCharacter}"))) {
              • 5
                var key_webContentTitle = "${webContentTitleEscapeCharacter}";
              }
            • 7
              else {
              • 8
                var key_webContentTitle = "${webContentTitle}";
              }
            • 11
              LexiconEntry.changeDisplayStyle(displayStyle = "list");
              • 4
                var browserType = PropsUtil.get("browser.type");
              • 6
                if ("${browserType}" == "chrome") {
                • 7
                  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");
                      }
                }
              • 10
                Click(locator1 = "Icon#CURRENT_DISPLAY_STYLE");
              • 12
                MenuItem.click(menuItem = StringUtil.upperCaseFirstLetter("${displayStyle}"));
                • 4
                  Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 13
              AssertTextEquals.assertPartialText( locator1 = "WC#ENTRY_LIST_TITLE", value1 = "${webContentTitle}");
            • 17
              Click.waitForMenuToggleJSClick(locator1 = "WC#ENTRY_LIST_MENULIST_ICON");
          • 56
            MenuItem.click(menuItem = "Edit");
            • 4
              Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
          • 58
            AssertElementPresent(locator1 = "Icon#BACK");
      • 441
        WebContent.viewStatus( webContentContent = "WC WebContent Content", webContentStatus = "Draft", webContentTitle = "WC Webcontent Title");
        • 1982
          AssertTextEquals( key_status = "${webContentStatus}", locator1 = "WCEditWebContent#WORKFLOW_STATUS", value1 = "${webContentStatus}");
        • 1987
          AssertTextEquals( locator1 = "TextInput#TITLE", value1 = "${webContentTitle}");
        • 1991
          AssertTextEquals( key_editor = "content", locator1 = "AlloyEditor#EDITOR", value1 = "${webContentContent}");
        • 1996
          SelectFrameTop();
      }
    • 26
      tearDown {
      • 27
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 29
        if ("${testPortalInstance}" == "true") {
        • 30
          PortalInstances.tearDownCP();
          • 92
            var defaultPortalURL = PropsUtil.get("default.portal.url");
          • 94
            SignOut.signOutOfSpecificURL(url = "${defaultPortalURL}");
            • 11
              Navigator.openSpecificURL(url = "${url}");
              • 269
                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 = "[email protected]";
            • 4
              var userPassword = "test";
            • 5
              var userPasswordReminderAnswer = "test";
            • 125
              Navigator.openSpecificURL(url = "${url}");
              • 269
                Open(locator1 = "${url}");
            • 127
              SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
              • 3
                var userEmailAddress = "[email protected]";
              • 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
            GlobalMenu.gotoPortlet( category = "System", panel = "Control Panel", portlet = "Virtual Instances");
            • 27
              GlobalMenuHelper.openGlobalMenu();
              • 20
                if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                • 21
                  Click(locator1 = "GlobalMenu#TOGGLE");
                }
              • 24
                WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
            • 29
              GlobalMenu.gotoPanel(panel = "${panel}");
              • 14
                var key_panel = "${panel}";
              • 16
                AssertClick.assertPartialTextClickAt( locator1 = "GlobalMenu#PANEL", value1 = "${panel}");
              • 20
                AssertElementPresent(locator1 = "GlobalMenu#ACTIVE_PANEL");
              • 22
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 31
              GlobalMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 12
                AssertClick( key_category = "${category}", key_portlet = "${portlet}", locator1 = "GlobalMenu#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");
                }
            }
        }
      • 32
        else {
        • 33
          WebContent.tearDownCP();
          • 1430
            Navigator.openURL();
            • 291
              WaitForSPARefresh();
            • 293
              var baseURL = "${baseURL}";
            • 295
              if (contains("${baseURL}", "{baseURL}")) {
              • 296
                var baseURL = PropsUtil.get("portal.url");
              }
            • 299
              Open(locator1 = "${baseURL}/web/guest/home");
          • 1432
            ProductMenu.gotoPortlet( category = "Content & Data", portlet = "Web Content");
            • 49
              if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 50
                GlobalMenu.gotoSite(site = "${site}");
                • 38
                  GlobalMenuHelper.openGlobalMenu();
                  • 20
                    if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                    • 21
                      Click(locator1 = "GlobalMenu#TOGGLE");
                    }
                  • 24
                    WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
                • 40
                  AssertClick( key_site = "${site}", locator1 = "GlobalMenu#SITE_LINK", value1 = "${site}");
              }
            • 53
              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");
            • 55
              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");
            • 57
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 1436
            LexiconEntry.changeDisplayStyle(displayStyle = "list");
            • 4
              var browserType = PropsUtil.get("browser.type");
            • 6
              if ("${browserType}" == "chrome") {
              • 7
                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");
                    }
              }
            • 10
              Click(locator1 = "Icon#CURRENT_DISPLAY_STYLE");
            • 12
              MenuItem.click(menuItem = StringUtil.upperCaseFirstLetter("${displayStyle}"));
              • 4
                Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
          • 1438
            if (IsElementPresent.pauseIsElementPresent(locator1 = "WC#ENTRY_LIST_THUMBNAIL_GENERIC")) {
            • 1439
              PortletEntry.selectAll();
              • 166
                if (IsNotChecked.isNotCheckedNotVisible(locator1 = "Checkbox#LEXICON_SELECT_ALL_INPUT")) {
                • 167
                  Click(locator1 = "Checkbox#LEXICON_SELECT_ALL_CONTAINER");
                }
              • 169
                else if (IsNotChecked(locator1 = "Checkbox#SELECT_ALL")) {
                • 170
                  Click(locator1 = "Checkbox#SELECT_ALL");
                }
              • 173
                AssertChecked.assertCheckedNotVisible(locator1 = "Checkbox#LEXICON_SELECT_ALL_INPUT");
            • 1441
              Click(locator1 = "Icon#MOVE_TO_RECYCLE_BIN");
            • 1443
              AssertElementPresent(locator1 = "Message#SUCCESS");
            }
          • 1446
            Navigator.openURL();
            • 291
              WaitForSPARefresh();
            • 293
              var baseURL = "${baseURL}";
            • 295
              if (contains("${baseURL}", "{baseURL}")) {
              • 296
                var baseURL = PropsUtil.get("portal.url");
              }
            • 299
              Open(locator1 = "${baseURL}/web/guest/home");
          • 1448
            ProductMenu.gotoPortlet( category = "Recycle Bin", portlet = "Recycle Bin");
            • 49
              if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 50
                GlobalMenu.gotoSite(site = "${site}");
                • 38
                  GlobalMenuHelper.openGlobalMenu();
                  • 20
                    if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                    • 21
                      Click(locator1 = "GlobalMenu#TOGGLE");
                    }
                  • 24
                    WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
                • 40
                  AssertClick( key_site = "${site}", locator1 = "GlobalMenu#SITE_LINK", value1 = "${site}");
              }
            • 53
              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");
            • 55
              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");
            • 57
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 1452
            RecycleBin.emptyCP();
            • 64
              Click(locator1 = "Icon#HEADER_VERTICAL_ELLIPSIS");
            • 66
              if (IsElementPresent(locator1 = "RecycleBin#EMPTY_RECYCLE_BIN")) {
              • 67
                AssertClickNoError( locator1 = "RecycleBin#EMPTY_RECYCLE_BIN", value1 = "Empty the Recycle Bin");
              • 71
                AssertConfirm.waitForConfirmation(value1 = "Are you sure you want to empty the Recycle Bin?");
              • 73
                AssertTextEquals( locator1 = "Message#EMPTY_INFO", value1 = "The Recycle Bin is empty.");
              }
        • 35
          Page.tearDownCP();
          • 506
            var siteName = TestCase.getSiteName(siteName = "${siteName}");
            • 43
              var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
            • 44
              var testPortalInstance = PropsUtil.get("test.portal.instance");
            • 46
              if (("${siteName}" == "Liferay") || (!(isSet(siteName)))) {
              • 47
                if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                • 48
                  var portalURL = PropsUtil.get("portal.url");
                • 49
                  var portalURL = StringUtil.replace("${portalURL}", "http://", "");
                • 50
                  var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
                • 52
                  return "${portalURL}";
                }
              • 54
                else {
                • 55
                  var testRunEnvironment = PropsUtil.get("test.run.environment");
                • 57
                  if ("${testRunEnvironment}" == "EE") {
                  • 58
                    return "Liferay DXP";
                  }
                • 60
                  else {
                  • 61
                    return "Liferay";
                  }
                }
              }
            • 65
              else {
              • 66
                return "${siteName}";
              }
          • 508
            Navigator.openURL();
            • 291
              WaitForSPARefresh();
            • 293
              var baseURL = "${baseURL}";
            • 295
              if (contains("${baseURL}", "{baseURL}")) {
              • 296
                var baseURL = PropsUtil.get("portal.url");
              }
            • 299
              Open(locator1 = "${baseURL}/web/guest/home");
          • 510
            ProductMenu.gotoPortlet( category = "Site Builder", portlet = "Pages");
            • 49
              if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 50
                GlobalMenu.gotoSite(site = "${site}");
                • 38
                  GlobalMenuHelper.openGlobalMenu();
                  • 20
                    if (IsElementNotPresent(locator1 = "GlobalMenu#GLOBAL_MENU")) {
                    • 21
                      Click(locator1 = "GlobalMenu#TOGGLE");
                    }
                  • 24
                    WaitForElementPresent(locator1 = "GlobalMenu#GLOBAL_MENU");
                • 40
                  AssertClick( key_site = "${site}", locator1 = "GlobalMenu#SITE_LINK", value1 = "${site}");
              }
            • 53
              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");
            • 55
              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");
            • 57
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 514
            Pause(locator1 = "5000");
          • 516
            while (IsElementPresent(locator1 = "SitePages#LIST_GROUP_ITEM_ROW_ELLIPSIS", key_index = "4")) {
            • 517
              Click.waitForMenuToggleJSClick( key_index = "4", locator1 = "SitePages#LIST_GROUP_ITEM_ROW_ELLIPSIS");
            • 521
              MenuItem.clickNoError(menuItem = "Delete");
              • 10
                ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 523
              AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
            }
          • 526
            AssertElementNotPresent( key_index = "4", locator1 = "SitePages#LIST_GROUP_ITEM_ROW_ELLIPSIS");
          • 530
            while (IsElementPresent(locator1 = "SitePages#LIST_GROUP_ITEM_CHILD_INDICATOR", key_pageName = "Home")) {
            • 531
              SitePages.expandPageTree(depth = "2");
              • 360
                if (!(isSet(depth))) {
                • 361
                  var depth = "1";
                }
              • 364
                var count = "0";
              • 366
                while ("${count}" != "${depth}") {
                • 367
                  var index = ${count} + 1;
                • 369
                  Click( key_depth = "${index}", locator1 = "SitePages#LIST_GROUP_ITEM_DEPTH");
                • 373
                  var count = ${count} + 1;
                }
            • 533
              Click.waitForMenuToggleJSClick( key_index = "4", locator1 = "SitePages#LIST_GROUP_ITEM_ROW_ELLIPSIS");
            • 537
              MenuItem.clickNoError(menuItem = "Delete");
              • 10
                ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 539
              AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
            • 541
              AssertElementNotPresent( key_index = "4", locator1 = "SitePages#LIST_GROUP_ITEM_ROW_ELLIPSIS");
            }
        }
      }