LocalFile.FragmentsWithImageResolution#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:

    • Set up instance and sign in --> WARNING
      • WaitForSPARefresh#waitForSPARefresh --> WARNING
    before0Before
    after0After
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
  • Running IsElementNotPresent with locator1//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
    • Running isElementNotPresent with parameters//button[contains(.,'Sign In')] | //button[contains(.,'Acceder')] | //button[contains(.,'Anmelden')] | //button[contains(.,'ログイン')] | //button[contains(.,'登录')]
  • Running AssertClick with locator1//span[contains(@class,'sign-in')]/a/span with value1Sign In
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running waitForTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running mouseOver with parameters//span[contains(@class,'sign-in')]/a/span
    • Running clickAt with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
  • Running Type#typePause with locator1//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text'] with 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: {"active":true,"classNameId":"20004","classPK":"39163","companyId":"20097","creatorUserId":"20125","ctCollectionId":"0","description":"","descriptionCurrentValue":"","descriptiveName":"Test Site Name","friendlyURL":"\/test-site-name","groupId":"39163","groupKey":"Test Site Name","inheritContent":false,"liveGroupId":"0","manualMembership":true,"membershipRestriction":0,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Test Site Name<\/Name><\/root>","nameCurrentValue":"Test Site Name","parentGroupId":"0","remoteStagingGroupCount":0,"site":true,"treePath":"\/39163\/","type":1,"uuid":"b0452013-4a20-2157-ffcd-ec84c753f796"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20097","createDate":1605013617353,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/test-page-name","groupId":"39163","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"1","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1605013617353,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Test Page Name<\/Name><\/root>","nameCurrentValue":"Test Page Name","parentLayoutId":"0","parentPlid":"0","plid":"24","priority":0,"privateLayout":false,"publishDate":1605013617353,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","status":0,"statusByUserId":"20125","statusByUserName":"Test Test","statusDate":1605013617353,"styleBookEntryId":"0","system":false,"themeId":"","title":"","titleCurrentValue":"","type":"content","typeSettings":"","userId":"20125","userName":"Test Test","uuid":"1267f0b3-6e0e-51da-4ad4-365737ad12a7"}Finished executing commands.
  • LocalFile.FragmentsWithImageResolution#SelectImageResolutionManuallyInTheTabletViewport
  • This is a test for LPS-114283. Can select an image resolution manually in the non-desktop viewport.
  • Running Open with locator1http://localhost:8080/web/test-site-name/test-page-name?p_l_mode=edit
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/test-site-name/test-page-name?p_l_mode=edit
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/test-site-name/test-page-name?p_l_mode=edit
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/test-site-name/test-page-name?p_l_mode=edit
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/test-site-name/test-page-name?p_l_mode=edit
    • Running assertLiferayErrors
  • Running Pause with locator15000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters5000
    • Running assertLiferayErrors
    • Running pause with parameters5000
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running Pause with locator110000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters10000
    • Running assertLiferayErrors
    • Running pause with parameters10000
  • Running 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(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running isNotVisible with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Fragments'] with value1Fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running 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(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
    • Running isNotVisible with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Fragments and Widgets')]
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Fragments'] with value1Fragments
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Fragments
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']Fragments
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Fragments']
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running AssertVisible with locator1//*[normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[normalize-space()='Basic Components']
    • Running assertVisible with parameters//*[normalize-space()='Basic Components']
    • Running assertJavaScriptErrors with parameters//*[normalize-space()='Basic Components']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'sheet-subtitle collapsed')][normalize-space()='Basic Components']
  • Running AssertElementPresent with locator1//*[contains(@class,'collapse-icon sheet-subtitle')][normalize-space()='Basic Components']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'collapse-icon sheet-subtitle')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'collapse-icon sheet-subtitle')][normalize-space()='Basic Components']
    • Running assertElementPresent with parameters//*[contains(@class,'collapse-icon sheet-subtitle')][normalize-space()='Basic Components']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'collapse-icon sheet-subtitle')][normalize-space()='Basic Components']
    • Running assertLiferayErrors
  • Running DragAndDrop#javaScriptDragAndDropToObject with locator1//button[normalize-space()='Basic Components']/following-sibling::div/ul/li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Image'] with value1 with locator2//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[normalize-space()='Basic Components']/following-sibling::div/ul/li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Image']
    • Running assertLiferayErrors
    • Running executeJavaScript with parameters Simulate = { dragAndDrop: function (source, target) { const dispatchEvent = function (type, element) { const rect = element.getBoundingClientRect(); const event = document.createEvent('customEvent'); event.initEvent(type, true, true); event.relatedTarget = element; (event.clientX = rect.left + rect.width / 2), (event.clientY = rect.top + rect.height / 2), element.dispatchEvent(event); return Promise.resolve(); }; dispatchEvent('dragstart', source) .then(function () { dispatchEvent('dragover', target); }) .then(function () { dispatchEvent('drop', target); }) .then(function () { dispatchEvent('dragend', source); }); } }; Simulate.dragAndDrop(arguments[0], arguments[1]); //button[normalize-space()='Basic Components']/following-sibling::div/ul/li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Image']//div[contains(@class,'page-editor__root page-editor__topper')]
    • Running assertJavaScriptErrors with parameters//button[normalize-space()='Basic Components']/following-sibling::div/ul/li[contains(@class,'page-editor__fragments-widgets__tab-item')][normalize-space()='Image']
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertElementPresent with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
  • Running IsNotVisible with locator1//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running isNotVisible with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
  • Running Click#clickNoWaitForVisible with locator1//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running click with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running click with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • 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(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Selection')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Selection')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Selection')]
    • Running isNotVisible with parameters//div[contains(@class,'content--open')]//h1[contains(@class,'page-editor__sidebar__panel-header') and contains(.,'Selection')]
  • Running AssertClick with locator1//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image'] with value1Image
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Image
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Image
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Image
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Image
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Image
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Image
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']Image
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']Image
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']Image
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running clickAt with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-structure')]//button[contains(@class,'nav-link')][normalize-space()='Image']
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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())='Select']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Select']
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//div[contains(@class,'modal-body')]/iframe
    • Running waitForJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running mouseOver with parameters//div[contains(@class,'modal-body')]/iframe
    • Running selectFrame with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'modal-body')]/iframe
    • Running assertLiferayErrors
  • Running AssertElementPresent#assertVisible with locator1//button[contains(.,'Select File')] | //label[contains(.,'Select File')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(.,'Select File')] | //label[contains(.,'Select File')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(.,'Select File')] | //label[contains(.,'Select File')]
    • Running assertVisible with parameters//button[contains(.,'Select File')] | //label[contains(.,'Select File')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'Select File')] | //label[contains(.,'Select File')]
    • Running assertLiferayErrors
  • Running UploadCommonFile#uploadCommonFileHiddenNoMouseOver with locator1//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file'] with value1high_resolution_photo.jpg
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]high_resolution_photo.jpg
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]high_resolution_photo.jpg
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']high_resolution_photo.jpg
    • Running uploadCommonFile with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']high_resolution_photo.jpg
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'file') or contains(@id,'File')][@type='file'] | //input[@type='file']
    • 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 Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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())='Add']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Add']
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')] with value1Saved
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Saved
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]Saved
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'management-bar')]//span[contains(@class,'navbar-text')]
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//img[contains(@alt,'Responsive Image') and contains(@data-lfr-editable-id,'image-square') and contains(@src,'high_resolution_photo.jpg')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//img[contains(@alt,'Responsive Image') and contains(@data-lfr-editable-id,'image-square') and contains(@src,'high_resolution_photo.jpg')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//img[contains(@alt,'Responsive Image') and contains(@data-lfr-editable-id,'image-square') and contains(@src,'high_resolution_photo.jpg')]
    • Running assertVisible with parameters//img[contains(@alt,'Responsive Image') and contains(@data-lfr-editable-id,'image-square') and contains(@src,'high_resolution_photo.jpg')]
    • Running assertJavaScriptErrors with parameters//img[contains(@alt,'Responsive Image') and contains(@data-lfr-editable-id,'image-square') and contains(@src,'high_resolution_photo.jpg')]
    • Running assertLiferayErrors
  • Running Refresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running refresh
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Pause with locator15000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters5000
    • Running assertLiferayErrors
    • Running pause with parameters5000
  • Running AssertVisible with locator1//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertVisible with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'sidebar')]/div[contains(@class,'buttons')]/button
    • Running assertLiferayErrors
  • Running IsNotVisible with locator1//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running isNotVisible with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
  • Running Click#clickNoWaitForVisible with locator1//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running click with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertJavaScriptErrors with parameters//li[contains(@class,'topper__title') and contains(.,'Image')]
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running mouseOver with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running click with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'page-editor__topper__bar') and contains(.,'Image')]//following-sibling::div[contains(@class,'page-editor__topper__content')]//*[contains(@data-lfr-editable-id,'image-square')]
    • 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 Click with locator1//button[contains(@class,'btn')][@aria-label='Tablet']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn')][@aria-label='Tablet']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@class,'btn')][@aria-label='Tablet']
    • Running mouseOver with parameters//button[contains(@class,'btn')][@aria-label='Tablet']
    • Running click with parameters//button[contains(@class,'btn')][@aria-label='Tablet']
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn')][@aria-label='Tablet']
    • 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 Select with locator1//div[label[contains(.,'Resolution')]]/select with value1Thumbnail-300x300
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Thumbnail-300x300
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Thumbnail-300x300
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Resolution')]]/select
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Resolution')]]/selectThumbnail-300x300
    • Running mouseOver with parameters//div[label[contains(.,'Resolution')]]/select
    • Running select with parameters//div[label[contains(.,'Resolution')]]/selectThumbnail-300x300
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Resolution')]]/select
    • 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 AssertSelectedLabel with locator1//div[label[contains(.,'Resolution')]]/select with value1Thumbnail-300x300
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Thumbnail-300x300
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Thumbnail-300x300
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Resolution')]]/select
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Resolution')]]/selectThumbnail-300x300
    • Running assertSelectedLabel with parameters//div[label[contains(.,'Resolution')]]/selectThumbnail-300x300
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Resolution')]]/select
    • Running assertLiferayErrors
  • 300
  • 300
  • PASSED
  • 13
  • 130
  • PASSED
  • LocalFile.FragmentsWithImageResolution#SelectImageResolutionManuallyInTheTabletViewport

    • 10
      setUp {
      • 11
        task ("Set up instance and sign in") {
        • 12
          TestCase.setUpPortalInstance();
          • 77
            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
          • 78
            var testPortalInstance = PropsUtil.get("test.portal.instance");
          • 80
            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
            • 81
              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";
                • 123
                  Navigator.openSpecificURL(url = "${url}");
                  • 269
                    Open(locator1 = "${url}");
                • 125
                  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();
                    • 88
                      Button.click(button = "Save");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 90
                      WaitForLiferayEvent.initializeLiferayEventLog();
                }
              • 76
                ApplicationsMenu.gotoPortlet( category = "System", panel = "Control Panel", portlet = "Virtual Instances");
                • 24
                  ApplicationsMenuHelper.openApplicationsMenu();
                  • 19
                    if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                    • 20
                      Click(locator1 = "ApplicationsMenu#TOGGLE");
                    }
                  • 23
                    WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
                • 26
                  ApplicationsMenu.gotoPanel(panel = "${panel}");
                  • 13
                    var key_panel = "${panel}";
                  • 15
                    Click(locator1 = "ApplicationsMenu#PANEL");
                  • 17
                    AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
                  • 19
                    WaitForLiferayEvent.initializeLiferayEventLog();
                • 28
                  ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
                  • 12
                    Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#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();
                  • 83
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                  • 85
                    if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                    • 86
                      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();
                • 88
                  Button.click(button = "Save");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                • 90
                  WaitForLiferayEvent.initializeLiferayEventLog();
              • 115
                Pause(locator1 = "3000");
              • 117
                WaitForElementPresent(locator1 = "//script[contains(@src,'OpenToast.es.js')]");
              • 119
                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");
            }
        • 14
          User.firstLoginPG();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "[email protected]";
          • 1786
            if (isSet(virtualHostsURL)) {
            • 1787
              Navigator.openSpecificURL(url = "${virtualHostsURL}");
              • 269
                Open(locator1 = "${url}");
            }
          • 1789
            else {
            • 1790
              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");
            }
          • 1793
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 1794
              User.logoutPG( nodePort = "${nodePort}", specificURL = "${virtualHostsURL}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 2230
                @description = "Log out of Liferay Portal."
              • 2232
                if (isSet(nodePort)) {
                • 2233
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 2235
                else {
                • 2236
                  if (isSet(specificURL)) {
                  • 2237
                    Navigator.openSpecificURL(url = "${specificURL}");
                    • 269
                      Open(locator1 = "${url}");
                  }
                • 2239
                  else {
                  • 2240
                    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");
                  }
                }
              • 2244
                UserBar.signOut();
                • 41
                  if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 42
                    UserBar.gotoDropdown();
                    • 4
                      if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                      • 5
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                      }
                    • 7
                      else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                      • 8
                        Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                      }
                    • 10
                      else {
                      • 11
                        var browserType = PropsUtil.get("browser.type");
                      • 13
                        if ("${browserType}" == "internetexplorer") {
                        • 14
                          Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON_IE");
                        }
                      • 16
                        else {
                        • 17
                          Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                        }
                      }
                    • 21
                      AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                  • 44
                    ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  • 46
                    Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  }
            • 1798
              User.loginPG( specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 1875
                if (isSet(nodePort)) {
                • 1876
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 1878
                else if (isSet(specificURL)) {
                • 1879
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 1881
                else {
                • 1882
                  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");
                }
              • 1885
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1886
                  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");
                }
              • 1889
                if ("${samlEnabled}" != "true") {
                • 1890
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 1864
                    if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                    • 1865
                      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}";
                    • 1867
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                    }
                }
              • 1893
                if ("${samlMultiIdPs}" == "true") {
                • 1894
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1899
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1902
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1903
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1907
                else {
                • 1908
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1913
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1917
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1918
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1921
                if (isSet(localization)) {
                • 1922
                  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}";
                • 1924
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1926
                else {
                • 1927
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1930
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1931
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1933
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1934
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1938
                  else {
                  • 1939
                    Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1944
                  Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1948
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1951
                Button.viewNotPresent(button = "Sign In");
                • 126
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1953
                if (isSet(localizedAgree)) {
                • 1954
                  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");
                    }
                }
              • 1956
                else {
                • 1957
                  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");
                    }
                }
              • 1960
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 2287
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2288
                    if ("${syntaxCheckingEnabled}" == "true") {
                    • 2289
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2293
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2297
                    else {
                    • 2298
                      if ("${setupWizardEnabled}" == "true") {
                      • 2299
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2303
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2307
                      else {
                      • 2308
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2312
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2318
                    Button.clickSubmitButton();
                    • 106
                      Click(locator1 = "Button#SUBMIT");
                  • 2320
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1965
                if (isSet(localizedAnswer)) {
                • 1966
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 759
                    Pause(locator1 = "3000");
                  • 761
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 763
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 764
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 768
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 770
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 126
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1970
                else {
                • 1971
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 747
                    Pause(locator1 = "3000");
                  • 749
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 750
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 754
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1974
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
              • 1976
                WaitForLiferayEvent.initializeLiferayEventLog();
            }
          • 1802
            else {
            • 1803
              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]";
              • 1875
                if (isSet(nodePort)) {
                • 1876
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 1878
                else if (isSet(specificURL)) {
                • 1879
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 269
                    Open(locator1 = "${url}");
                }
              • 1881
                else {
                • 1882
                  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");
                }
              • 1885
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1886
                  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");
                }
              • 1889
                if ("${samlEnabled}" != "true") {
                • 1890
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 1864
                    if (IsElementNotPresent(locator1 = "Button#SIGN_IN")) {
                    • 1865
                      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}";
                    • 1867
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                    }
                }
              • 1893
                if ("${samlMultiIdPs}" == "true") {
                • 1894
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1899
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1902
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1903
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1907
                else {
                • 1908
                  Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1913
                Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1917
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1918
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1921
                if (isSet(localization)) {
                • 1922
                  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}";
                • 1924
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1926
                else {
                • 1927
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1930
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1931
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1933
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1934
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1938
                  else {
                  • 1939
                    Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1944
                  Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1948
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1951
                Button.viewNotPresent(button = "Sign In");
                • 126
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1953
                if (isSet(localizedAgree)) {
                • 1954
                  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");
                    }
                }
              • 1956
                else {
                • 1957
                  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");
                    }
                }
              • 1960
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 2287
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2288
                    if ("${syntaxCheckingEnabled}" == "true") {
                    • 2289
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2293
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2297
                    else {
                    • 2298
                      if ("${setupWizardEnabled}" == "true") {
                      • 2299
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2303
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2307
                      else {
                      • 2308
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2312
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2318
                    Button.clickSubmitButton();
                    • 106
                      Click(locator1 = "Button#SUBMIT");
                  • 2320
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1965
                if (isSet(localizedAnswer)) {
                • 1966
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 759
                    Pause(locator1 = "3000");
                  • 761
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 763
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 764
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 768
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 770
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 126
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1970
                else {
                • 1971
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 747
                    Pause(locator1 = "3000");
                  • 749
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 750
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 754
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1974
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
              • 1976
                WaitForLiferayEvent.initializeLiferayEventLog();
            }
        }
      • 17
        task ("Add a site via JSON") {
        • 18
          JSONGroup.addGroup(groupName = "Test Site Name");
          • 23
            Variables.assertDefined(parameterList = "${groupName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 25
            var groupDescriptionMap = JSONGroupSetter.setGroupDescriptionMap( groupDescription = "${groupDescription}");
            • 19
              if (isSet(groupDescription)) {
              • 20
                var groupDescription = URLUtil.encodeUTF8("${groupDescription}");
              • 22
                var groupDescriptionMap = '''{"en_US":"${groupDescriptionEncoded}"}''';
              }
            • 24
              else {
              • 25
                var groupDescriptionMap = "{}";
              }
            • 28
              return "${groupDescriptionMap}";
          • 28
            var groupNameMap = JSONGroupSetter.setGroupNameMap( groupName = "${groupName}");
            • 44
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 46
              var groupNameMap = URLUtil.encodeUTF8("${groupName}");
            • 48
              var groupNameMap = '''{"en_US":"${groupName}"}''';
            • 50
              return "${groupNameMap}";
          • 31
            var parentGroupId = JSONGroupSetter.setParentGroupId(groupName = "${parentGroupName}");
            • 54
              if (isSet(parentGroupName)) {
              • 55
                var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 201
                  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}'");
                      }
                    }
                • 203
                  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}";
                • 205
                  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}");
                      • 159
                        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}'");
                            }
                          }
                      • 161
                        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}";
                      • 163
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 165
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                      • 170
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 171
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 172
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 174
                        if ("${groupId}" == "[]") {
                        • 175
                          fail("FAIL. Cannot find group.");
                        }
                      • 178
                        return "${groupId}";
                    }
                  • 11
                    else {
                    • 12
                      var grandParentGroupId = "0";
                    }
                  • 15
                    return "${grandParentGroupId}";
                • 207
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 209
                  var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                • 214
                  var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                • 215
                  var groupId = StringUtil.replace("${groupId}", "["", "");
                • 216
                  var groupId = StringUtil.replace("${groupId}", ""]", "");
                • 218
                  if ("${groupId}" == "[]") {
                  • 219
                    fail("FAIL. Cannot find group.");
                  }
                • 222
                  return "${groupId}";
              }
            • 57
              else {
              • 58
                var parentGroupId = "0";
              }
            • 61
              return "${parentGroupId}";
          • 33
            JSONGroupAPI._addGroup( groupDescriptionMap = "${groupDescriptionMap}", groupNameMap = "${groupNameMap}", manualMembership = "${manualMembership}", parentGroupId = "${parentGroupId}", type = "${type}");
            • 5
              Variables.assertDefined(parameterList = "${groupNameMap}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 9
              if ("${type}" == "Private") {
              • 10
                var type = "3";
              }
            • 12
              else if ("${type}" == "Restricted") {
              • 13
                var type = "2";
              }
            • 15
              else {
              • 16
                var type = "1";
              }
            • 19
              if ("${manualMembership}" == "false") {
              • 20
                var manualMembership = "false";
              }
            • 22
              else {
              • 23
                var manualMembership = "true";
              }
            • 26
              var curl = ''' ${portalURL}/api/jsonws/group/add-group \ -u [email protected]:test \ -d parentGroupId=${parentGroupId} \ -d liveGroupId=0 \ -d nameMap=${groupNameMap} \ -d descriptionMap=${groupDescriptionMap} \ -d type=${type} \ -d manualMembership=${manualMembership} \ -d membershipRestriction=0 \ -d friendlyURL= \ -d site=true \ -d inheritContent=false \ -d active=true ''';
            • 42
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      • 21
        task ("Add a content page") {
        • 22
          JSONLayout.addPublicLayout( groupName = "Test Site Name", layoutName = "Test Page Name", type = "content");
          • 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}");
                • 159
                  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}'");
                      }
                    }
                • 161
                  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}";
                • 163
                  var portalURL = JSONCompany.getPortalURL();
                  • 36
                    var portalURL = PropsUtil.get("portal.url");
                  • 38
                    return "${portalURL}";
                • 165
                  var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                • 170
                  var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                • 171
                  var groupId = StringUtil.replace("${groupId}", "["", "");
                • 172
                  var groupId = StringUtil.replace("${groupId}", ""]", "");
                • 174
                  if ("${groupId}" == "[]") {
                  • 175
                    fail("FAIL. Cannot find group.");
                  }
                • 178
                  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}");
                • 133
                  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}'");
                      }
                    }
                • 135
                  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}";
                • 137
                  var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                  • 54
                    if (isSet(parentGroupName)) {
                    • 55
                      var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                      • 201
                        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}'");
                            }
                          }
                      • 203
                        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}";
                      • 205
                        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}");
                            • 159
                              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}'");
                                  }
                                }
                            • 161
                              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}";
                            • 163
                              var portalURL = JSONCompany.getPortalURL();
                              • 36
                                var portalURL = PropsUtil.get("portal.url");
                              • 38
                                return "${portalURL}";
                            • 165
                              var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                            • 170
                              var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                            • 171
                              var groupId = StringUtil.replace("${groupId}", "["", "");
                            • 172
                              var groupId = StringUtil.replace("${groupId}", ""]", "");
                            • 174
                              if ("${groupId}" == "[]") {
                              • 175
                                fail("FAIL. Cannot find group.");
                              }
                            • 178
                              return "${groupId}";
                          }
                        • 11
                          else {
                          • 12
                            var grandParentGroupId = "0";
                          }
                        • 15
                          return "${grandParentGroupId}";
                      • 207
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 209
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                      • 214
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 215
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 216
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 218
                        if ("${groupId}" == "[]") {
                        • 219
                          fail("FAIL. Cannot find group.");
                        }
                      • 222
                        return "${groupId}";
                    }
                  • 57
                    else {
                    • 58
                      var parentGroupId = "0";
                    }
                  • 61
                    return "${parentGroupId}";
                • 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/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
                • 146
                  var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['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}";
              }
            • 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}");
                • 103
                  var serviceContext = "{}";
                • 105
                  if (isSet(assetCategoryIds)) {
                  • 106
                    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}";
                  }
                • 111
                  if (isSet(assetTagNames)) {
                  • 112
                    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}";
                  }
                • 117
                  if (isSet(addGroupPermissions)) {
                  • 118
                    var serviceContext = JSONServiceContextUtil._addGroupPermissions( addGroupPermissions = "${addGroupPermissions}", JSON = "${serviceContext}");
                    • 51
                      Variables.assertDefined(parameterList = "${JSON},${addGroupPermissions}");
                      • 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 (!(("${addGroupPermissions}" == "true") || ("${addGroupPermissions}" == "false"))) {
                      • 54
                        fail("Invalid addGroupPermissions: '${addGroupPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 57
                      var JSON = JSONUtil2._addJSONObject( JSON = "${JSON}", key = "addGroupPermissions", value = "${addGroupPermissions}");
                      • 67
                        if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                        • 68
                          fail("Error, 'JSON', 'key', and 'value' must all be set");
                        }
                      • 71
                        var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                        • 132
                          var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                        • 134
                          if ("${temp}" == "${key}") {
                          • 135
                            return "TRUE";
                          }
                        • 137
                          else {
                          • 138
                            return "FALSE";
                          }
                      • 75
                        if ("${bool}" == "TRUE") {
                        • 76
                          fail("Error, '${key}' already exists in the JSON");
                        }
                      • 79
                        if ("${JSON}" == "{}") {
                        • 80
                          var JSON = '''{"${key}" : ${value}}''';
                        }
                      • 82
                        else {
                        • 83
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                        }
                      • 86
                        return "${JSON}";
                    • 62
                      return "${JSON}";
                  }
                • 123
                  if (isSet(addGuestPermissions)) {
                  • 124
                    var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", JSON = "${serviceContext}");
                    • 66
                      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}'");
                          }
                        }
                    • 68
                      if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                      • 69
                        fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                      }
                    • 72
                      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}";
                    • 77
                      return "${JSON}";
                  }
                • 129
                  if (isSet(groupName)) {
                  • 130
                    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}");
                      • 159
                        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}'");
                            }
                          }
                      • 161
                        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}";
                      • 163
                        var portalURL = JSONCompany.getPortalURL();
                        • 36
                          var portalURL = PropsUtil.get("portal.url");
                        • 38
                          return "${portalURL}";
                      • 165
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
                      • 170
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 171
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 172
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 174
                        if ("${groupId}" == "[]") {
                        • 175
                          fail("FAIL. Cannot find group.");
                        }
                      • 178
                        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}";
                  }
                • 136
                  if (isSet(workflowAction)) {
                  • 137
                    var serviceContext = JSONServiceContextUtil._addWorkflowAction( JSON = "${serviceContext}", workflowAction = "${workflowAction}");
                    • 82
                      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}'");
                          }
                        }
                    • 84
                      if ("${workflowAction}" == "DRAFT") {
                      • 85
                        var workflowActionNumber = "2";
                      }
                    • 87
                      else if ("${workflowAction}" == "PUBLISH") {
                      • 88
                        var workflowActionNumber = "1";
                      }
                    • 90
                      else {
                      • 91
                        fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                      }
                    • 94
                      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}";
                    • 99
                      return "${JSON}";
                  }
                • 142
                  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}");
        }
      }
    • 129
      test SelectImageResolutionManuallyInTheTabletViewport {
      • 127
        @description = "This is a test for LPS-114283. Can select an image resolution manually in the non-desktop viewport."
      • 130
        task ("Add an Image fragment to page") {
        • 131
          ContentPagesNavigator.openEditContentPage( pageName = "Test Page Name", siteName = "Test Site Name");
          • 13
            if (!(isSet(siteURLKey))) {
            • 14
              var siteURLKey = ContentPagesNavigator._convertNameToKey(name = "${siteName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 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 key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 17
            if (!(isSet(pageFriendlyUrl))) {
            • 18
              var pageFriendlyUrl = ContentPagesNavigator._convertNameToKey(name = "${pageName}");
              • 4
                Variables.assertDefined(parameterList = "${name}");
                • 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 key = StringUtil.replace("${name}", " ", "-");
              • 7
                var key = StringUtil.lowerCase("${key}");
              • 9
                return "${key}";
            }
          • 21
            Navigator.openWithAppendToBaseURL(urlAppend = "web/${siteURLKey}/${pageFriendlyUrl}?p_l_mode=edit");
            • 303
              var baseURL = "${baseURL}";
            • 305
              if (contains("${baseURL}", "{baseURL}")) {
              • 306
                var baseURL = PropsUtil.get("portal.url");
              }
            • 309
              Open(locator1 = "${baseURL}/${urlAppend}");
          • 23
            PageEditor.assertFragmentSidebarLoaded();
            • 532
              Pause(locator1 = "5000");
            • 534
              AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
        • 135
          PageEditor.addFragment( collectionName = "Basic Components", fragmentName = "Image");
          • 325
            Pause(locator1 = "10000");
          • 327
            PageEditor.gotoTab(tabName = "Fragments and Widgets");
            • 1861
              Pause(locator1 = "3000");
            • 1863
              if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
              • 1864
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
          • 329
            Navigator.gotoNavTab(navTab = "Fragments");
            • 102
              var key_tab = "${navTab}";
            • 104
              AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
            • 108
              AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 110
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 331
            PageEditor.expandFragmentCollection(collectionName = "${collectionName}");
            • 1685
              PageEditor.gotoTab(tabName = "Fragments and Widgets");
              • 1861
                Pause(locator1 = "3000");
              • 1863
                if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
                • 1864
                  Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
                }
            • 1687
              Navigator.gotoNavTab(navTab = "Fragments");
              • 102
                var key_tab = "${navTab}";
              • 104
                AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
              • 108
                AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
              • 110
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 1689
              AssertVisible( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL");
            • 1693
              if (IsElementPresent(locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", key_collectionName = "${collectionName}")) {
              • 1694
                AssertClick( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_COLLAPSED", value1 = "${collectionName}");
              }
            • 1700
              AssertElementPresent( key_collectionName = "${collectionName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_COLLECTION_PANEL_EXPANDED");
          • 333
            if ("${scope}" == "Master") {
            • 334
              if ("${dropTarget}" == "Header") {
              • 335
                DragAndDrop.javaScriptDragAndDropToUp( key_collectionName = "${collectionName}", key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#HEADER_DROP_TARGET", value1 = "");
              }
            • 342
              else if ("${dropTarget}" == "Footer") {
              • 343
                DragAndDrop.javaScriptDragAndDropToBottom( key_collectionName = "${collectionName}", key_fragmentName = "${fragmentName}", key_targetFragmentName = "Drop Zone", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
              }
            }
          • 352
            else if (isSet(targetFragmentName)) {
            • 353
              DragAndDrop.javaScriptDragAndDropToBottom( key_collectionName = "${collectionName}", key_fragmentName = "${fragmentName}", key_targetFragmentName = "${targetFragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#ANY_FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 361
            else {
            • 362
              DragAndDrop.javaScriptDragAndDropToObject( key_collectionName = "${collectionName}", key_fragmentName = "${fragmentName}", locator1 = "PageEditor#FRAGMENTS_AND_WIDGETS_TAB_FRAGMENT", locator2 = "PageEditor#FRAGMENT_DROP_TARGET", value1 = "");
            }
          • 370
            PageEditor.waitForAutoSave();
            • 2597
              Pause(locator1 = "1000");
            • 2599
              AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Saved");
          • 372
            if ("${collectionName}" == "Layout Elements") {
            • 373
              if ("${fragmentName}" == "Grid") {
              • 374
                if (isSet(position)) {
                • 375
                  var key_position = "${position}";
                }
              • 377
                else {
                • 378
                  var key_position = "1";
                }
              • 381
                AssertElementPresent( key_elementType = "${fragmentName}", locator1 = "PageEditor#LAYOUT_ELEMENTS_HEADER");
              }
            • 385
              else if ("${fragmentName}" == "Container") {
              • 386
                if (isSet(position)) {
                • 387
                  var key_position = "${position}";
                }
              • 389
                else {
                • 390
                  var key_position = "1";
                }
              • 393
                AssertElementPresent( key_elementType = "${fragmentName}", locator1 = "PageEditor#LAYOUT_ELEMENTS_HEADER");
              }
            }
          • 398
            else if ("${collectionName}" == "Content Display") {
            • 399
              if ("${fragmentName}" == "Collection Display") {
              • 400
                AssertElementPresent( key_fragmentName = "${fragmentName}", key_message = "No Collection Selected Yet", locator1 = "Fragment#NOT_COLLECTION_SELECTED_MESSAGE");
              }
            • 405
              else if ("${fragmentName}" == "Content") {
              • 406
                AssertElementPresent( key_fragmentName = "${fragmentName}", key_messageIfo = "The selected content will be shown here.", locator1 = "Fragment#MESSAGE_INFO");
              }
            • 411
              else if ("${fragmentName}" == "Display Page Content") {
              • 412
                AssertElementPresent( key_fragmentName = "${fragmentName}", key_messageIfo = "The display page content will be shown here.", locator1 = "Fragment#MESSAGE_INFO");
              }
            • 417
              else {
              • 418
                AssertElementPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
              }
            }
          • 423
            else if ("${composition}" == "true") {
            • 424
              echo("## Adding a composition of fragments");
            }
          • 426
            else {
            • 427
              AssertElementPresent( key_fragmentName = "${fragmentName}", locator1 = "Fragment#FRAGMENT_HEADER");
            }
        }
      • 140
        task ("Select an Image with width greater than 2000px") {
        • 141
          PageEditor.editFragmentImage( fileName = "high_resolution_photo.jpg", fragmentName = "Image", id = "image-square");
          • 1177
            PageEditor.clickEditableField( contributed = "${contributed}", fragmentName = "${fragmentName}", id = "${id}");
            • 596
              var key_fragmentName = "${fragmentName}";
            • 598
              if (IsNotVisible(locator1 = "Fragment#FRAGMENT_HEADER")) {
              • 599
                Click.clickNoWaitForVisible(locator1 = "Fragment#FRAGMENT_HEADER");
              }
            • 602
              if ("${contributed}" == "false") {
              • 603
                Click(locator1 = "Fragment#EDITABLE_FIELD");
              }
            • 605
              else {
              • 606
                Click(locator1 = "Fragment#CONTRIBUTED_FRAGMENT_EDITABLE_FIELD");
              }
          • 1182
            PageEditor.gotoTab(tabName = "Selection");
            • 1861
              Pause(locator1 = "3000");
            • 1863
              if (IsElementNotPresent(key_sidebarButton = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE")) {
              • 1864
                Click.clickNoMouseOver( key_tabName = "${tabName}", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TAB_BUTTON");
              }
          • 1184
            AssertClick( key_navItem = "Image", locator1 = "PageEditor#NAV_ITEM_BUTTON", value1 = "Image");
          • 1189
            Button.clickSelect();
            • 98
              Button.click(button = "Select");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 1191
            if (isSet(imageFileName)) {
            • 1192
              ItemSelector.selectDMImage( imageFileName = "${imageFileName}", navTab = "Documents and Media");
              • 228
                var key_navTab = "${navTab}";
              • 229
                var key_uploadFileName = "${imageFileName}";
              • 231
                SelectFrame(locator1 = "ItemSelector#ITEM_SELECTOR_IFRAME");
              • 233
                if (IsElementPresent(locator1 = "ItemSelector#NAVIGATION_SPECIFIC_TAB")) {
                • 234
                  AssertClick( locator1 = "ItemSelector#NAVIGATION_SPECIFIC_TAB", value1 = "${navTab}");
                }
              • 239
                if (isSet(dmFolderName)) {
                • 240
                  var key_dmFolderName = "${dmFolderName}";
                • 242
                  AssertClick( locator1 = "DocumentsAndMedia#ICON_FOLDER_TITLE", value1 = "${dmFolderName}");
                }
              • 247
                if (isSet(dmSubFolderName)) {
                • 248
                  var key_dmFolderName = "${dmSubFolderName}";
                • 250
                  AssertClick( locator1 = "DocumentsAndMedia#ICON_FOLDER_TITLE", value1 = "${dmSubFolderName}");
                }
              • 255
                var key_imageFileName = StringUtil.replace("${imageFileName}", " ", "+");
              • 257
                LexiconCard.clickCard(card = "${imageFileName}");
                • 14
                  WaitForLiferayEvent.initializeLiferayEventLog();
                • 16
                  Click.waitForMenuToggleJSClick( key_card = "${card}", locator1 = "Card#CARD");
            }
          • 1196
            else if (isSet(imageSourceURL)) {
            • 1197
              ItemSelector.addFromURL( imageSourceURL = "${imageSourceURL}", navTab = "URL");
              • 4
                var key_imageSourceURL = "${imageSourceURL}";
              • 5
                var key_navTab = "${navTab}";
              • 7
                SelectFrame(locator1 = "ItemSelector#ITEM_SELECTOR_IFRAME");
              • 9
                if (isSet(wikiAdmin)) {
                • 10
                  AssertElementNotPresent(locator1 = "ItemSelector#NAVIGATION_SPECIFIC_TAB");
                }
              • 12
                else {
                • 13
                  AssertClick( locator1 = "ItemSelector#NAVIGATION_SPECIFIC_TAB", value1 = "URL");
                }
              • 18
                AssertElementPresent(locator1 = "ItemSelector#URL_LABEL");
              • 19
                AssertElementNotPresent(locator1 = "ItemSelector#URL_IMAGE_PREVIEW");
              • 21
                AssertVisible( key_text = "Add", locator1 = "Button#ANY_DISABLED");
              • 25
                Type( locator1 = "TextInput#URL", value1 = "${imageSourceURL}");
              • 29
                AssertTextEquals( locator1 = "TextInput#URL", value1 = "${imageSourceURL}");
              • 33
                if (("${type}" == "Audio") || ("${type}" == "Video")) {
                • 34
                  AssertElementPresent.pauseAssertVisible( key_text = "Add", locator1 = "Button#ANY_ENABLED");
                • 38
                  Button.clickAdd();
                  • 10
                    Button.click(button = "Add");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 40
                else {
                • 41
                  AssertElementPresent.pauseAssertVisible(locator1 = "ItemSelector#URL_IMAGE_SOURCE");
                • 43
                  if (IsElementPresent(locator1 = "ItemSelector#URL_IMAGE_EXAMPLE")) {
                  • 44
                    Click(locator1 = "ItemSelector#URL_IMAGE_EXAMPLE");
                  }
                • 47
                  MouseOver( key_text = "Add", locator1 = "Button#ANY");
                • 51
                  Button.clickAdd();
                  • 10
                    Button.click(button = "Add");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 54
                SelectFrameTop(value1 = "relative=top");
            }
          • 1201
            else {
            • 1202
              SelectFrame(locator1 = "IFrame#MODAL_BODY");
            • 1204
              AssertElementPresent.assertVisible(locator1 = "Button#SELECT_FILE");
            • 1206
              UploadCommonFile.uploadCommonFileHiddenNoMouseOver( locator1 = "TextInput#FILE", value1 = "${fileName}");
            • 1210
              Pause(locator1 = "3000");
            • 1212
              Button.clickAdd();
              • 10
                Button.click(button = "Add");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            }
          • 1215
            PageEditor.waitForAutoSave();
            • 2597
              Pause(locator1 = "1000");
            • 2599
              AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Saved");
          • 1217
            if (isSet(imageDescription)) {
            • 1218
              Pause(locator1 = "3000");
            • 1220
              Type( locator1 = "TextInput#IMAGE_DESCRIPTION", value1 = "${imageDescription}");
            • 1224
              Pause(locator1 = "3000");
            • 1226
              AssertTextEquals.assertValue( locator1 = "TextInput#IMAGE_DESCRIPTION", value1 = "${imageDescription}");
            • 1230
              Click( key_sidebarButton = "Selection", locator1 = "PageEditor#FRAGMENT_SIDEBAR_TITLE");
            • 1234
              PageEditor.waitForAutoSave();
              • 2597
                Pause(locator1 = "1000");
              • 2599
                AssertTextEquals.assertPartialText( locator1 = "PageEditor#AUTOSAVE_MESSAGE", value1 = "Saved");
            }
        • 146
          PageEditor.viewFragmentEditableImage( id = "image-square", imageDescription = "Responsive Image", imageFileName = "high_resolution_photo.jpg");
          • 2305
            if ("${contributed}" == "false") {
            • 2306
              AssertVisible( key_fragmentClass = "${fragmentClass}", key_image = "${imageFileName}", locator1 = "Fragment#PAGE_EDITOR_FRAGMENT_IMAGE");
            }
          • 2311
            else {
            • 2312
              AssertVisible( id = "${id}", key_image = "${imageFileName}", key_imageDescription = "${imageDescription}", locator1 = "Fragment#CONTRIBUTED_FRAGMENT_EDITABLE_FIELD_IMAGE_PROPERTIES");
            }
        • 151
          Refresh();
        • 153
          PageEditor.assertFragmentSidebarLoaded();
          • 532
            Pause(locator1 = "5000");
          • 534
            AssertVisible(locator1 = "PageEditor#FRAGMENT_SIDEBAR_LOADED");
        • 155
          PageEditor.clickEditableField( fragmentName = "Image", id = "image-square");
          • 596
            var key_fragmentName = "${fragmentName}";
          • 598
            if (IsNotVisible(locator1 = "Fragment#FRAGMENT_HEADER")) {
            • 599
              Click.clickNoWaitForVisible(locator1 = "Fragment#FRAGMENT_HEADER");
            }
          • 602
            if ("${contributed}" == "false") {
            • 603
              Click(locator1 = "Fragment#EDITABLE_FIELD");
            }
          • 605
            else {
            • 606
              Click(locator1 = "Fragment#CONTRIBUTED_FRAGMENT_EDITABLE_FIELD");
            }
        • 159
          Pause(locator1 = "3000");
        }
      • 162
        task ("Change to the Tablet viewport") {
        • 163
          Click( key_deviceType = "Tablet", locator1 = "PageEditor#DEVICE_TYPE");
        • 167
          Pause(locator1 = "3000");
        }
      • 170
        task ("Take down the File Size of image resolution") {
        • 171
          var fileSizeAuto = PageEditor.getFileSizeOfSelectedImageResolution();
          • 1706
            var key_resolutionLabel = "File Size";
          • 1708
            var fileSize = selenium.getText("PageEditor#IMAGE_RESOLUTION_LABEL");
          • 1709
            var fileSize = StringUtil.extractFirst("${fileSize}", ".");
          • 1710
            var fileSize = StringUtil.extractDigits("${fileSize}");
          • 1712
            return "${fileSize}";
        }
      • 174
        task ("Select the Thumbnail-300x300 image resolution") {
        • 175
          Select( key_fieldLabel = "Resolution", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "Thumbnail-300x300");
        • 180
          Pause(locator1 = "3000");
        • 182
          AssertSelectedLabel( key_fieldLabel = "Resolution", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "Thumbnail-300x300");
        }
      • 188
        task ("Take down the Width and File Size of image resolution") {
        • 189
          var widthManual = PageEditor.getWidthOfSelectedImageResolution();
          • 1716
            var key_resolutionLabel = "Width";
          • 1718
            var width = selenium.getText("PageEditor#IMAGE_RESOLUTION_LABEL");
          • 1719
            var width = StringUtil.extractDigits("${width}");
          • 1721
            return "${width}";
        • 190
          var fileSizeManual = PageEditor.getFileSizeOfSelectedImageResolution();
          • 1706
            var key_resolutionLabel = "File Size";
          • 1708
            var fileSize = selenium.getText("PageEditor#IMAGE_RESOLUTION_LABEL");
          • 1709
            var fileSize = StringUtil.extractFirst("${fileSize}", ".");
          • 1710
            var fileSize = StringUtil.extractDigits("${fileSize}");
          • 1712
            return "${fileSize}";
        }
      • 193
        task ("Assert the Width and File Size of image resolution equal with orignal image") {
        • 194
          TestUtils.assertEquals( actual = "${widthManual}", expected = "300");
          • 4
            echo("${expected}");
          • 6
            echo("${actual}");
          • 8
            if ("${expected}" == "${actual}") {
            • 9
              echo("PASSED");
            }
          • 11
            else {
            • 12
              TestUtils.fail(message = "FAILED: expected '${expected}', actual was '${actual}'");
              • 30
                if (!(isSet(message))) {
                • 31
                  var message = "FAIL";
                }
              • 34
                echo("${message}");
              • 36
                fail("${message}");
            }
        }
      • 199
        task ("Assert the File Size become smaller than automatic selection") {
        • 200
          TestUtils.isGreaterThan( actual = "${fileSizeAuto}", expected = "${fileSizeManual}");
          • 40
            echo("${expected}");
          • 42
            echo("${actual}");
          • 44
            var result = MathUtil.isGreaterThan("${actual}", "${expected}");
          • 46
            if ("${result}" == "true") {
            • 47
              echo("PASSED");
            }
          • 49
            else {
            • 50
              TestUtils.fail(message = "FAILED: actual '${actual}' is less than or equals to expected '${expected}'");
              • 30
                if (!(isSet(message))) {
                • 31
                  var message = "FAIL";
                }
              • 34
                echo("${message}");
              • 36
                fail("${message}");
            }
        }
      }
    • 29
      tearDown {
      • 30
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 32
        if ("${testPortalInstance}" == "true") {
        • 33
          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();
              • 41
                if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                • 42
                  UserBar.gotoDropdown();
                  • 4
                    if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                    • 5
                      Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                    }
                  • 7
                    else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                    • 8
                      Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                    }
                  • 10
                    else {
                    • 11
                      var browserType = PropsUtil.get("browser.type");
                    • 13
                      if ("${browserType}" == "internetexplorer") {
                      • 14
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON_IE");
                      }
                    • 16
                      else {
                      • 17
                        Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                      }
                    }
                  • 21
                    AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                • 44
                  ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                • 46
                  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";
            • 123
              Navigator.openSpecificURL(url = "${url}");
              • 269
                Open(locator1 = "${url}");
            • 125
              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
            ApplicationsMenu.gotoPortlet( category = "System", panel = "Control Panel", portlet = "Virtual Instances");
            • 24
              ApplicationsMenuHelper.openApplicationsMenu();
              • 19
                if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                • 20
                  Click(locator1 = "ApplicationsMenu#TOGGLE");
                }
              • 23
                WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
            • 26
              ApplicationsMenu.gotoPanel(panel = "${panel}");
              • 13
                var key_panel = "${panel}";
              • 15
                Click(locator1 = "ApplicationsMenu#PANEL");
              • 17
                AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
              • 19
                WaitForLiferayEvent.initializeLiferayEventLog();
            • 28
              ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
              • 12
                Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#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();
              • 83
                VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
              • 85
                if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                • 86
                  Click(locator1 = "Button#CLOSE_MESSAGE");
                }
            }
        }
      • 35
        else {
        • 36
          JSONGroup.deleteGroupByName(groupName = "Test Site Name");
          • 82
            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}'");
                }
              }
          • 84
            var groupId = JSONGroupSetter.setGroupId(groupName = "${groupName}");
            • 32
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 34
              if (!(isSet(site))) {
              • 35
                var site = "true";
              }
            • 38
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}", site = "${site}");
              • 159
                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}'");
                    }
                  }
              • 161
                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}";
              • 163
                var portalURL = JSONCompany.getPortalURL();
                • 36
                  var portalURL = PropsUtil.get("portal.url");
                • 38
                  return "${portalURL}";
              • 165
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/${site} \ -u [email protected]:test ''';
              • 170
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 171
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 172
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 174
                if ("${groupId}" == "[]") {
                • 175
                  fail("FAIL. Cannot find group.");
                }
              • 178
                return "${groupId}";
            • 40
              return "${groupId}";
          • 86
            JSONGroupAPI._deleteGroup(groupId = "${groupId}");
            • 94
              Variables.assertDefined(parameterList = "${groupId}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 96
              var portalURL = JSONCompany.getPortalURL();
              • 36
                var portalURL = PropsUtil.get("portal.url");
              • 38
                return "${portalURL}";
            • 98
              var curl = ''' ${portalURL}/api/jsonws/group/delete-group \ -u [email protected]:test \ -d groupId=${groupId} ''';
            • 104
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        • 38
          Navigator.openSiteURL(siteName = "Guest");
          • 257
            var siteNameURL = StringUtil.replace("${siteName}", " ", "-");
          • 258
            var siteNameURL = StringUtil.lowerCase("${siteNameURL}");
          • 259
            var baseURL = "${baseURL}";
          • 261
            if (contains("${baseURL}", "{baseURL}")) {
            • 262
              var baseURL = PropsUtil.get("portal.url");
            }
          • 265
            Open(locator1 = "${baseURL}/web/${siteNameURL}");
        • 40
          ApplicationsMenu.gotoPortlet( category = "Configuration", panel = "Control Panel", portlet = "Adaptive Media");
          • 24
            ApplicationsMenuHelper.openApplicationsMenu();
            • 19
              if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
              • 20
                Click(locator1 = "ApplicationsMenu#TOGGLE");
              }
            • 23
              WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
          • 26
            ApplicationsMenu.gotoPanel(panel = "${panel}");
            • 13
              var key_panel = "${panel}";
            • 15
              Click(locator1 = "ApplicationsMenu#PANEL");
            • 17
              AssertElementPresent(locator1 = "ApplicationsMenu#ACTIVE_PANEL");
            • 19
              WaitForLiferayEvent.initializeLiferayEventLog();
          • 28
            ApplicationsMenuHelper.gotoPortlet( category = "${category}", portlet = "${portlet}");
            • 12
              Click( key_category = "${category}", key_portlet = "${portlet}", locator1 = "ApplicationsMenu#PORTLET");
        • 45
          if (IsElementPresent(key_imageName = "Image Resolution", locator1 = "AdaptiveMediaTable#NAME")) {
          • 46
            AdaptiveMedia.disableImageResolution( imageName = "Image Resolution", imageState = "Disabled", percentAdapted = "0");
            • 117
              var key_imageName = "${imageName}";
            • 119
              Click(locator1 = "AdaptiveMediaTable#IMAGE_RESOLUTION_OPTIONS");
            • 121
              MenuItem.click(menuItem = "Disable");
              • 4
                Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 123
              var key_imageState = "${imageState}";
            • 125
              AssertTextEquals( locator1 = "AdaptiveMediaTable#STATE", value1 = "Disabled");
            • 129
              AssertElementPresent(locator1 = "AdaptiveMediaTable#PROGRESS_DISABLED");
          • 51
            AdaptiveMedia.deleteImageResolution(imageName = "Image Resolution");
            • 103
              var key_imageName = "${imageName}";
            • 105
              Click(locator1 = "AdaptiveMediaTable#IMAGE_RESOLUTION_OPTIONS");
            • 107
              MenuItem.clickNoError(menuItem = "Delete");
              • 10
                ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 109
              AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
            • 111
              Alert.viewSuccessMessage();
              • 83
                VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
              • 85
                if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                • 86
                  Click(locator1 = "Button#CLOSE_MESSAGE");
                }
            • 113
              AssertElementNotPresent(locator1 = "AdaptiveMediaTable#NAME");
          }
        }
      }