LocalFile.MentionsMB#set-up
  • Running IsTestName with locator1 with value1
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running isTestName with parameters
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20102","contactId":"20132","createDate":1623113899403,"ctCollectionId":"0","defaultUser":false,"emailAddress":"[email protected]","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1623116601195,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1623116654955,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1623116949464,"mvccVersion":"15","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20130","uuid":"f2546085-360a-433e-845d-df30977f32e5"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20102","contactId":"20132","createDate":1623113899403,"ctCollectionId":"0","defaultUser":false,"emailAddress":"[email protected]","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1623116601195,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1623116654955,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1623116949931,"mvccVersion":"16","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20130","uuid":"f2546085-360a-433e-845d-df30977f32e5"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/web/[email protected]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/[email protected]
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/[email protected]
    • 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/[email protected]
    • 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/[email protected]
    • Running assertLiferayErrors
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
  • Running Pause with locator13000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters3000
    • Running assertLiferayErrors
    • Running pause with parameters3000
  • Running IsElementPresent#pauseIsElementPresent with locator1//input[contains(@id,'reminderQueryAnswer')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'reminderQueryAnswer')]
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//input[contains(@id,'reminderQueryAnswer')]
  • Running 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, }; }
  • LocalFile.MentionsMB#MultipleMentionsCanBeAddedToThread
  • This test covers LPS-117986. It ensures that multiple mentions can be added to thread.
  • Running Open with locator1http://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message
    • Running assertLiferayErrors
  • Running Type#typeWaitForCKEditorScript with locator1//input[contains(@id,'subject')] | //input[contains(@id,'Subject')] with value1Thread Subject
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Thread Subject
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Thread Subject
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//script[contains(@src,'ckeditor/config.js') or contains(@id,'ckEditorScript')]Thread Subject
    • Running waitForEditable with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Thread Subject
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Thread Subject
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]Thread Subject
    • Running waitForEditable with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running mouseOver with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running type with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]Thread Subject
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running assertLiferayErrors
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'subject')] | //input[contains(@id,'Subject')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//*[contains(@id,'cke')]/iframe
    • Running waitForVisible with parameters//*[contains(@id,'cke')]/iframe
    • Running mouseOver with parameters//*[contains(@id,'cke')]/iframe
    • Running selectFrame with parameters//*[contains(@id,'cke')]/iframe
    • Running assertJavaScriptErrors with parameters//*[contains(@id,'cke')]/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//*[contains(@id,'cke')]/iframe
    • Running assertLiferayErrors
  • Running Type#sendKeys with locator1//body[contains(@class,'cke_editable')] with value1 @usersn
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')] @usersn
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')] @usersn
    • Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//body[contains(@class,'cke_editable')] @usersn
    • Running waitForEditable with parameters//body[contains(@class,'cke_editable')]
    • Running mouseOver with parameters//body[contains(@class,'cke_editable')]
    • Running sendKeys with parameters//body[contains(@class,'cke_editable')] @usersn
    • Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Click#clickNoMouseOver with locator1//li[@data-text='usersn']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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[@data-text='usersn']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[@data-text='usersn']
    • Running click with parameters//li[@data-text='usersn']
    • Running assertJavaScriptErrors with parameters//li[@data-text='usersn']
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameNoLoading with locator1//*[contains(@id,'cke')]/iframe
    • Running waitForVisible with parameters//*[contains(@id,'cke')]/iframe
    • Running mouseOver with parameters//*[contains(@id,'cke')]/iframe
    • Running selectFrame with parameters//*[contains(@id,'cke')]/iframe
    • Running assertJavaScriptErrors with parameters//*[contains(@id,'cke')]/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//*[contains(@id,'cke')]/iframe
    • Running assertLiferayErrors
  • Running Type#sendKeys with locator1//body[contains(@class,'cke_editable')] with value1 @usersn2
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')] @usersn2
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')] @usersn2
    • Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//body[contains(@class,'cke_editable')] @usersn2
    • Running waitForEditable with parameters//body[contains(@class,'cke_editable')]
    • Running mouseOver with parameters//body[contains(@class,'cke_editable')]
    • Running sendKeys with parameters//body[contains(@class,'cke_editable')] @usersn2
    • Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
    • Running assertLiferayErrors
  • Running SelectFrame#selectFrameTop
    • Running selectFrame with parametersrelative=top
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Click#clickNoMouseOver with locator1//li[@data-text='usersn2']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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[@data-text='usersn2']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[@data-text='usersn2']
    • Running click with parameters//li[@data-text='usersn2']
    • Running assertJavaScriptErrors with parameters//li[@data-text='usersn2']
    • Running assertLiferayErrors
  • Running ScrollWebElementIntoView with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running scrollWebElementIntoView with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
    • Running assertLiferayErrors
  • Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
    • Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
    • Running assertLiferayErrors
  • Running AssertClick with locator1//a[contains(.,'usersn')] with value1@usersn
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(.,'usersn')]@usersn
    • Running waitForTextCaseInsensitive with parameters//a[contains(.,'usersn')]@usersn
    • Running assertTextCaseInsensitive with parameters//a[contains(.,'usersn')]@usersn
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//a[contains(.,'usersn')]
    • Running clickAt with parameters//a[contains(.,'usersn')]
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running isNotVisible with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running AssertElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
  • Running AssertVisible with locator1//*[@data-qa-id='productMenuBody']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenuBody']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenuBody']
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'site-name')] with value1userfn userln
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]userfn userln
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]userfn userln
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'site-name')]userfn userln
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]userfn userln
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]userfn userln
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
  • ## * GroupId: 20126
  • Running Open with locator1http://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=41783
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=41783
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=41783
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=41783
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/guest/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=41783
    • Running assertLiferayErrors
  • Running AssertClick with locator1//a[contains(.,'usersn2')] with value1@usersn2
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn2
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn2
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn2')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn2
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn2
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn2')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]@usersn2
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]@usersn2
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn2')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(.,'usersn2')]@usersn2
    • Running waitForTextCaseInsensitive with parameters//a[contains(.,'usersn2')]@usersn2
    • Running assertTextCaseInsensitive with parameters//a[contains(.,'usersn2')]@usersn2
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn2')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//a[contains(.,'usersn2')]
    • Running clickAt with parameters//a[contains(.,'usersn2')]
    • Running assertJavaScriptErrors with parameters//a[contains(.,'usersn2')]
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running isNotVisible with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running AssertElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertElementNotPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Back to Menu']
  • Running AssertVisible with locator1//*[@data-qa-id='productMenuBody']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenuBody']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertVisible with parameters//*[@data-qa-id='productMenuBody']
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenuBody']
    • Running assertLiferayErrors
  • Running AssertTextEquals#assertPartialText with locator1//div[contains(@class,'site-name')] with value1userfn2 userln2
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]userfn2 userln2
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]userfn2 userln2
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'site-name')]userfn2 userln2
    • Running waitForPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]userfn2 userln2
    • Running assertPartialTextCaseInsensitive with parameters//div[contains(@class,'site-name')]userfn2 userln2
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'site-name')]
    • Running assertLiferayErrors
  • LocalFile.MentionsMB#MultipleMentionsCanBeAddedToThread

    • 9
      setUp {
      • 10
        TestCase.setUpPortalInstance();
        • 77
          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
        • 78
          var testPortalInstance = PropsUtil.get("test.portal.instance");
        • 80
          if (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
          • 81
            HeadlessPortalInstanceAPI.cleanAllPortalInstances(authenticationMethod = "${authenticationMethod}");
            • 65
              var portalInstanceJSON = HeadlessPortalInstanceAPI._getPortalInstances(authenticationMethod = "${authenticationMethod}");
              • 5
                var portalURL = JSONCompany.getPortalURL();
                • 57
                  var portalURL = PropsUtil.get("portal.url");
                • 59
                  return "${portalURL}";
              • 7
                if ("${authenticationMethod}" == "By Screen Name") {
                • 8
                  var userName = "test";
                }
              • 10
                else {
                • 11
                  var userName = "[email protected]";
                }
              • 14
                var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -H Content-Type: application/json ''';
              • 20
                var JSON = JSONCurlUtil.get("${curl}");
              • 22
                return "${JSON}";
            • 67
              var portalInstanceIds = JSONUtil.getWithJSONPath("${portalInstanceJSON}","$.items..portalInstanceId");
            • 71
              var portalInstanceIds = StringUtil.regexReplaceAll("${portalInstanceIds}","[\[\]"]","");
            • 73
              for (var portalInstanceId : list "${portalInstanceIds}") {
              • 74
                if ("${portalInstanceId}" != "liferay.com") {
                • 75
                  HeadlessPortalInstanceAPI.deletePortalInstance( authenticationMethod = "${authenticationMethod}", portalInstanceId = "${portalInstanceId}");
                  • 84
                    Variables.assertDefined(parameterList = "${portalInstanceId}");
                    • 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}'");
                        }
                      }
                  • 86
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  • 88
                    var portalInstanceId = StringUtil.replace("${portalInstanceId}", " ", "%20");
                  • 90
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 91
                      var userName = "test";
                    }
                  • 93
                    else {
                    • 94
                      var userName = "[email protected]";
                    }
                  • 97
                    var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances/${portalInstanceId} \ -u ${userName}:test \ -H Content-Type: application/json ''';
                  • 103
                    JSONCurlUtil.delete("${curl}");
                }
              }
          • 83
            if ("${testPortalInstance}" == "true") {
            • 84
              SignIn.signInPortalInstanceSetUp();
              • 3
                var userEmailAddress = "[email protected]";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 48
                var portalURL = PropsUtil.get("portal.url");
              • 49
                var portalURL = StringUtil.replace("${portalURL}", "http://", "");
              • 50
                var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
              • 52
                HeadlessPortalInstanceAPI.addPortalInstance( authenticationMethod = "${authenticationMethod}", domain = "liferay.com", portalInstanceId = "${portalURL}", virtualHost = "${portalURL}");
                • 27
                  Variables.assertDefined(parameterList = "${domain},${virtualHost},${portalInstanceId}");
                  • 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}'");
                      }
                    }
                • 29
                  var portalURL = JSONCompany.getPortalURL();
                  • 57
                    var portalURL = PropsUtil.get("portal.url");
                  • 59
                    return "${portalURL}";
                • 31
                  var parameters = JSONUtil2._addJSONObject( JSON = "{}", key = "domain", value = ""${domain}"");
                  • 67
                    if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 36
                  var parameters = JSONUtil2._addJSONObject( JSON = "${parameters}", key = "virtualHost", value = ""${virtualHost}"");
                  • 67
                    if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 41
                  var parameters = JSONUtil2._addJSONObject( JSON = "${parameters}", key = "portalInstanceId", value = ""${portalInstanceId}"");
                  • 67
                    if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 46
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 47
                    var userName = "test";
                  }
                • 49
                  else {
                  • 50
                    var userName = "[email protected]";
                  }
                • 53
                  var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -d ${parameters} \ -H Content-Type: application/json ''';
                • 60
                  JSONCurlUtil.post("${curl}");
            }
          }
      • 12
        User.firstLoginPG();
        • 3
          var password = "test";
        • 4
          var userEmailAddress = "[email protected]";
        • 1874
          if (isSet(virtualHostsURL)) {
          • 1875
            Navigator.openSpecificURL(url = "${virtualHostsURL}");
            • 279
              Open(locator1 = "${url}");
          }
        • 1877
          else {
          • 1878
            Navigator.openURL();
            • 301
              WaitForSPARefresh();
            • 303
              var baseURL = "${baseURL}";
            • 305
              if (contains("${baseURL}", "{baseURL}")) {
              • 306
                var baseURL = PropsUtil.get("portal.url");
              }
            • 309
              Open(locator1 = "${baseURL}/web/guest/home");
          }
        • 1881
          UserBar.signOut();
          • 34
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 35
              UserBar.gotoDropdown();
              • 4
                if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                • 5
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                }
              • 7
                else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                • 8
                  Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                }
              • 10
                else {
                • 11
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                }
              • 14
                AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
            • 37
              ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            • 39
              Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            }
        • 1883
          JSONUser.agreeToTermsAndAnswerReminderQuery( portalURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
          • 170
            Variables.assertDefined(parameterList = "${userEmailAddress}");
            • 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}'");
                }
              }
          • 172
            var portalInstanceName = JSONUserSetter.setPortalInstanceName(portalURL = "${portalURL}");
            • 35
              if (isSet(portalURL)) {
              • 36
                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                • 63
                  Variables.assertDefined(parameterList = "${portalURL}");
                  • 5
                    if (contains("${parameterList}","{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                    • 17
                      if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 65
                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                • 66
                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                • 68
                  return "${portalInstanceName}";
              }
            • 39
              return "${portalInstanceName}";
          • 174
            var userId = JSONUserSetter.setUserId( portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
            • 90
              Variables.assertDefined(parameterList = "${userEmailAddress}");
              • 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}'");
                  }
                }
            • 92
              var userId = JSONUserAPI._getUserIdByEmailAddress( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
              • 171
                Variables.assertDefined(parameterList = "${userEmailAddress}");
                • 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}'");
                    }
                  }
              • 173
                var companyId = JSONCompany.getCompanyId( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 41
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 42
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 44
                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                      • 45
                        var portalURL = JSONCompany.getPortalURL();
                        • 57
                          var portalURL = PropsUtil.get("portal.url");
                        • 59
                          return "${portalURL}";
                      • 47
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 63
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (contains("${parameterList}","{parameterList}")) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                            • 17
                              if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 65
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 66
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 68
                          return "${portalInstanceName}";
                      • 49
                        return "${portalInstanceName}";
                      }
                    • 51
                      else {
                      • 52
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "[email protected]";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 35
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 37
                  return "${companyId}";
              • 178
                var portalURL = JSONCompany.getPortalURL();
                • 57
                  var portalURL = PropsUtil.get("portal.url");
                • 59
                  return "${portalURL}";
              • 180
                if (!(isSet(creatorEmailAddress))) {
                • 181
                  var creatorEmailAddress = "[email protected]";
                }
              • 184
                if (!(isSet(creatorPassword))) {
                • 185
                  var creatorPassword = "test";
                }
              • 188
                var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-email-address/company-id/${companyId}/email-address/${userEmailAddress} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 193
                var userId = JSONCurlUtil.get("${curl}", "$['userId']");
              • 195
                return "${userId}";
            • 98
              return "${userId}";
          • 178
            JSONUserAPI._agreeToTermsAndAnswerReminderQuery(userId = "${userId}");
            • 71
              Variables.assertDefined(parameterList = "${userId}");
              • 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}'");
                  }
                }
            • 73
              var portalURL = JSONCompany.getPortalURL();
              • 57
                var portalURL = PropsUtil.get("portal.url");
              • 59
                return "${portalURL}";
            • 75
              var curl = ''' ${portalURL}/api/jsonws/user/update-agreed-to-terms-of-use/user-id/${userId}/agreed-to-terms-of-use/true \ -u [email protected]:test ''';
            • 80
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
            • 82
              var curl = ''' ${portalURL}/api/jsonws/user/update-reminder-query/user-id/${userId}/question/what-is-your-father%27s-middle-name/answer/test \ -u [email protected]:test ''';
            • 87
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        • 1887
          if (isSet(virtualHostsURL)) {
          • 1888
            Navigator.openSpecificURL(url = "${virtualHostsURL}/web/guest?SM_USER=${userEmailAddress}");
            • 279
              Open(locator1 = "${url}");
          }
        • 1890
          else {
          • 1891
            var baseURL = PropsUtil.get("portal.url");
          • 1893
            Navigator.openSpecificURL(url = "${baseURL}/web/guest?SM_USER=${userEmailAddress}");
            • 279
              Open(locator1 = "${url}");
          }
        • 1898
          User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "[email protected]";
          • 2396
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
            • 2397
              if ("${syntaxCheckingEnabled}" == "true") {
              • 2398
                Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
              • 2402
                Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
              }
            • 2406
              else {
              • 2407
                if ("${setupWizardEnabled}" == "true") {
                • 2408
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                • 2412
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                }
              • 2416
                else {
                • 2417
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                • 2421
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                }
              }
            • 2427
              Button.clickSubmitButton();
              • 116
                Click(locator1 = "Button#SUBMIT");
            • 2429
              AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
            }
        • 1903
          User.answerPasswordReminder();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "[email protected]";
          • 712
            Pause(locator1 = "3000");
          • 714
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
            • 715
              Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
            • 719
              Click(locator1 = "Button#SUBMIT");
            }
        • 1905
          AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
        • 1907
          WaitForLiferayEvent.initializeLiferayEventLog();
      }
    • 48
      test MultipleMentionsCanBeAddedToThread {
      • 45
        @description = "This test covers LPS-117986. It ensures that multiple mentions can be added to thread."
      • 68
        Mentions.addMentionViaMessageBoardThread( mentionsUserScreenNameList = "usersn,usersn2", multipleMentions = "true", siteURLKey = "guest", threadSubject = "Thread Subject");
        • 120
          if (isSet(siteURLKey)) {
          • 121
            MessageboardsThread.openToAddThread(siteURLKey = "${siteURLKey}");
            • 3
              var assetType = "Message Boards Thread";
            • 4
              var userName = "Test Test";
            • 656
              var baseURL = "${baseURL}";
            • 658
              if (contains("${baseURL}", "{baseURL}")) {
              • 659
                var baseURL = PropsUtil.get("portal.url");
              }
            • 662
              Open(locator1 = "${baseURL}/group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fedit_message");
          }
        • 123
          else {
          • 124
            LexiconEntry.gotoAdd();
            • 51
              WaitForPageLoad();
            • 53
              Click(locator1 = "Button#PLUS");
          • 126
            MenuItem.click(menuItem = "Thread");
            • 4
              Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
          }
        • 129
          var key_mentionsUserScreenName = "${mentionsUserScreenName}";
        • 131
          Type.typeWaitForCKEditorScript( locator1 = "TextInput#SUBJECT", value1 = "${threadSubject}");
        • 135
          if (isSet(multipleMentions)) {
          • 136
            for (var mentionsUserScreenName : list "${mentionsUserScreenNameList}") {
            • 137
              SelectFrame.selectFrameNoLoading(locator1 = "CKEditor#BODY_FIELD_IFRAME");
            • 139
              Type.sendKeys( locator1 = "CKEditor#BODY", value1 = " @${mentionsUserScreenName}");
            • 143
              SelectFrame.selectFrameTop();
            • 145
              Click.clickNoMouseOver( key_mentionsUserScreenName = "${mentionsUserScreenName}", locator1 = "Mentions#MENTIONS_USER_DISPLAY_OPTION");
            }
          }
        • 150
          else {
          • 151
            SelectFrame.selectFrameNoLoading(locator1 = "CKEditor#BODY_FIELD_IFRAME");
          • 153
            Type.sendKeys( locator1 = "CKEditor#BODY", value1 = "@${mentionsUserScreenName}");
          • 157
            SelectFrame.selectFrameTop();
          • 159
            Click.clickNoMouseOver(locator1 = "Mentions#MENTIONS_USER_DISPLAY_OPTION");
          }
        • 162
          PortletEntry.publish();
          • 156
            Button.clickPublish();
            • 86
              ScrollWebElementIntoView( key_text = "Publish", locator1 = "Button#ANY");
            • 90
              Button.click(button = "Publish");
              • 4
                Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 158
            Alert.viewSuccessMessage();
            • 96
              VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
      • 74
        Mentions.viewMentionTagLink( mentionsUserFullName = "userfn userln", mentionsUserScreenName = "usersn");
        • 206
          var key_mentionsUserScreenName = "${mentionsUserScreenName}";
        • 207
          var key_siteName = "${mentionsUserFullName}";
        • 209
          AssertClick( locator1 = "Mentions#MENTIONS_TAG_LINK", value1 = "@${mentionsUserScreenName}");
        • 213
          ProductMenuHelper.openProductMenu();
          • 46
            if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
            • 47
              Click(locator1 = "ProductMenu#TOGGLE");
            }
          • 50
            AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
          • 52
            AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
          • 54
            if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
            • 55
              Click( key_text = "Back to Menu", locator1 = "Button#ANY");
            }
          • 60
            AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
        • 215
          AssertTextEquals.assertPartialText( locator1 = "ProductMenu#PRODUCT_MENU_PANEL_SITE_ADMINISTRATION_SITE_NAME", value1 = "${mentionsUserFullName}");
      • 78
        MessageboardsThread.openToThread( groupName = "Guest", siteURLKey = "guest", threadSubject = "Thread Subject");
        • 3
          var assetType = "Message Boards Thread";
        • 4
          var userName = "Test Test";
        • 670
          var messageId = JSONMBMessage.getMessageIdByName( categoryName = "${categoryName}", groupName = "${groupName}", threadSubject = "${threadSubject}");
          • 272
            if (isSet(categoryName)) {
            • 273
              var categoryId = JSONMBMessage.getCategoryIdByName( groupName = "${groupName}", categoryName = "${categoryName}");
              • 240
                Variables.assertDefined(parameterList = "${categoryName},${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}'");
                    }
                  }
              • 242
                var portalURL = JSONCompany.getPortalURL();
                • 57
                  var portalURL = PropsUtil.get("portal.url");
                • 59
                  return "${portalURL}";
              • 244
                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}", portalURL = "${portalURL}", site = "${site}");
                  • 213
                    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}'");
                        }
                      }
                  • 215
                    if (!(isSet(portalURL))) {
                    • 216
                      var portalURL = JSONCompany.getPortalURL();
                      • 57
                        var portalURL = PropsUtil.get("portal.url");
                      • 59
                        return "${portalURL}";
                    }
                  • 219
                    var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                    • 4
                      if (!(isSet(portalInstanceName))) {
                      • 5
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 41
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 42
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 44
                          if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                          • 45
                            var portalURL = JSONCompany.getPortalURL();
                            • 57
                              var portalURL = PropsUtil.get("portal.url");
                            • 59
                              return "${portalURL}";
                          • 47
                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                            • 63
                              Variables.assertDefined(parameterList = "${portalURL}");
                              • 5
                                if (contains("${parameterList}","{parameterList}")) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                • 17
                                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 65
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 66
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 68
                              return "${portalInstanceName}";
                          • 49
                            return "${portalInstanceName}";
                          }
                        • 51
                          else {
                          • 52
                            return "localhost";
                          }
                      }
                    • 8
                      if (!(isSet(portalURL))) {
                      • 9
                        var portalURL = JSONCompany.getPortalURL();
                        • 57
                          var portalURL = PropsUtil.get("portal.url");
                        • 59
                          return "${portalURL}";
                      }
                    • 12
                      if (!(isSet(creatorEmailAddress))) {
                      • 13
                        if ("${authenticationMethod}" == "By Screen Name") {
                        • 14
                          if (!(isSet(userScreenName))) {
                          • 15
                            var creatorEmailAddress = "test";
                          }
                        • 17
                          else {
                          • 18
                            var creatorEmailAddress = "${userScreenName}";
                          }
                        }
                      • 21
                        else {
                        • 22
                          var creatorEmailAddress = "[email protected]";
                        }
                      }
                    • 26
                      if (!(isSet(creatorPassword))) {
                      • 27
                        var creatorPassword = "test";
                      }
                    • 30
                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                    • 35
                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                    • 37
                      return "${companyId}";
                  • 221
                    var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 54
                      if (isSet(parentGroupName)) {
                      • 55
                        var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                        • 259
                          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}'");
                              }
                            }
                        • 261
                          var companyId = JSONCompany.getCompanyId();
                          • 4
                            if (!(isSet(portalInstanceName))) {
                            • 5
                              var portalInstanceName = JSONCompany.getPortalInstanceName();
                              • 41
                                var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                              • 42
                                var testPortalInstance = PropsUtil.get("test.portal.instance");
                              • 44
                                if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                • 45
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 57
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 59
                                    return "${portalURL}";
                                • 47
                                  var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                  • 63
                                    Variables.assertDefined(parameterList = "${portalURL}");
                                    • 5
                                      if (contains("${parameterList}","{parameterList}")) {
                                      • 6
                                        fail("Please define a parameter list in 'parameterList'");
                                      }
                                    • 9
                                      for (var parameter : list "${parameterList}") {
                                      • 13
                                        var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                      • 17
                                        if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                        • 18
                                          fail("Please set '${parameter}'");
                                        }
                                      }
                                  • 65
                                    var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                  • 66
                                    var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                  • 68
                                    return "${portalInstanceName}";
                                • 49
                                  return "${portalInstanceName}";
                                }
                              • 51
                                else {
                                • 52
                                  return "localhost";
                                }
                            }
                          • 8
                            if (!(isSet(portalURL))) {
                            • 9
                              var portalURL = JSONCompany.getPortalURL();
                              • 57
                                var portalURL = PropsUtil.get("portal.url");
                              • 59
                                return "${portalURL}";
                            }
                          • 12
                            if (!(isSet(creatorEmailAddress))) {
                            • 13
                              if ("${authenticationMethod}" == "By Screen Name") {
                              • 14
                                if (!(isSet(userScreenName))) {
                                • 15
                                  var creatorEmailAddress = "test";
                                }
                              • 17
                                else {
                                • 18
                                  var creatorEmailAddress = "${userScreenName}";
                                }
                              }
                            • 21
                              else {
                              • 22
                                var creatorEmailAddress = "[email protected]";
                              }
                            }
                          • 26
                            if (!(isSet(creatorPassword))) {
                            • 27
                              var creatorPassword = "test";
                            }
                          • 30
                            var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                          • 35
                            var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                          • 37
                            return "${companyId}";
                        • 263
                          var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                          • 4
                            if (isSet(grandParentGroupName)) {
                            • 5
                              if (!(isSet(site))) {
                              • 6
                                var site = "true";
                              }
                            • 9
                              var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName(groupName = "${grandParentGroupName}", site = "${site}");
                              • 160
                                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}'");
                                    }
                                  }
                              • 162
                                var companyId = JSONCompany.getCompanyId();
                                • 4
                                  if (!(isSet(portalInstanceName))) {
                                  • 5
                                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                                    • 41
                                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                    • 42
                                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                                    • 44
                                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                      • 45
                                        var portalURL = JSONCompany.getPortalURL();
                                        • 57
                                          var portalURL = PropsUtil.get("portal.url");
                                        • 59
                                          return "${portalURL}";
                                      • 47
                                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                        • 63
                                          Variables.assertDefined(parameterList = "${portalURL}");
                                          • 5
                                            if (contains("${parameterList}","{parameterList}")) {
                                            • 6
                                              fail("Please define a parameter list in 'parameterList'");
                                            }
                                          • 9
                                            for (var parameter : list "${parameterList}") {
                                            • 13
                                              var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                            • 17
                                              if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                              • 18
                                                fail("Please set '${parameter}'");
                                              }
                                            }
                                        • 65
                                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                        • 66
                                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                        • 68
                                          return "${portalInstanceName}";
                                      • 49
                                        return "${portalInstanceName}";
                                      }
                                    • 51
                                      else {
                                      • 52
                                        return "localhost";
                                      }
                                  }
                                • 8
                                  if (!(isSet(portalURL))) {
                                  • 9
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 57
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 59
                                      return "${portalURL}";
                                  }
                                • 12
                                  if (!(isSet(creatorEmailAddress))) {
                                  • 13
                                    if ("${authenticationMethod}" == "By Screen Name") {
                                    • 14
                                      if (!(isSet(userScreenName))) {
                                      • 15
                                        var creatorEmailAddress = "test";
                                      }
                                    • 17
                                      else {
                                      • 18
                                        var creatorEmailAddress = "${userScreenName}";
                                      }
                                    }
                                  • 21
                                    else {
                                    • 22
                                      var creatorEmailAddress = "[email protected]";
                                    }
                                  }
                                • 26
                                  if (!(isSet(creatorPassword))) {
                                  • 27
                                    var creatorPassword = "test";
                                  }
                                • 30
                                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                                • 35
                                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                                • 37
                                  return "${companyId}";
                              • 164
                                var portalURL = JSONCompany.getPortalURL();
                                • 57
                                  var portalURL = PropsUtil.get("portal.url");
                                • 59
                                  return "${portalURL}";
                              • 166
                                if (!(isSet(site))) {
                                • 167
                                  var site = "true";
                                }
                              • 170
                                var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u [email protected]:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                              • 178
                                var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                              • 180
                                if ("${groupId}" == "[]") {
                                • 181
                                  fail("FAIL. Cannot find group.");
                                }
                              • 184
                                return "${groupId}";
                            }
                          • 11
                            else {
                            • 12
                              var grandParentGroupId = "0";
                            }
                          • 15
                            return "${grandParentGroupId}";
                        • 265
                          var portalURL = JSONCompany.getPortalURL();
                          • 57
                            var portalURL = PropsUtil.get("portal.url");
                          • 59
                            return "${portalURL}";
                        • 267
                          var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                        • 272
                          var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                        • 274
                          if ("${groupId}" == "[]") {
                          • 275
                            fail("FAIL. Cannot find group.");
                          }
                        • 278
                          return "${groupId}";
                      }
                    • 57
                      else {
                      • 58
                        var parentGroupId = "0";
                      }
                    • 61
                      return "${parentGroupId}";
                  • 223
                    var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
                  • 228
                    var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                  • 230
                    if ("${groupId}" == "[]") {
                    • 231
                      fail("FAIL. Cannot find group.");
                    }
                  • 234
                    echo("## * GroupId: ${groupId}");
                  • 236
                    return "${groupId}";
                • 40
                  return "${groupId}";
              • 246
                var curl = ''' ${portalURL}/api/jsonws/mb.mbcategory/get-categories \ -u [email protected]:test \ -d groupId=${groupId} ''';
              • 252
                var categoryId = JSONCurlUtil.post("${curl}", "$.[?(@['name'] == '${categoryName}')]['categoryId']");
              • 254
                if ("${categoryId}" == "[]") {
                • 255
                  fail("FAIL. Cannot find category.");
                }
              • 258
                return "${categoryId}";
            }
          • 277
            else {
            • 278
              var categoryId = "0";
            }
          • 281
            var portalURL = JSONCompany.getPortalURL();
            • 57
              var portalURL = PropsUtil.get("portal.url");
            • 59
              return "${portalURL}";
          • 283
            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}", portalURL = "${portalURL}", site = "${site}");
              • 213
                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}'");
                    }
                  }
              • 215
                if (!(isSet(portalURL))) {
                • 216
                  var portalURL = JSONCompany.getPortalURL();
                  • 57
                    var portalURL = PropsUtil.get("portal.url");
                  • 59
                    return "${portalURL}";
                }
              • 219
                var companyId = JSONCompany.getCompanyId(portalURL = "${portalURL}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 41
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 42
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 44
                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                      • 45
                        var portalURL = JSONCompany.getPortalURL();
                        • 57
                          var portalURL = PropsUtil.get("portal.url");
                        • 59
                          return "${portalURL}";
                      • 47
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 63
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (contains("${parameterList}","{parameterList}")) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                            • 17
                              if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 65
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 66
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 68
                          return "${portalInstanceName}";
                      • 49
                        return "${portalInstanceName}";
                      }
                    • 51
                      else {
                      • 52
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "[email protected]";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 35
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 37
                  return "${companyId}";
              • 221
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 54
                  if (isSet(parentGroupName)) {
                  • 55
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 259
                      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}'");
                          }
                        }
                    • 261
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        if (!(isSet(portalInstanceName))) {
                        • 5
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 41
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 42
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 44
                            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                            • 45
                              var portalURL = JSONCompany.getPortalURL();
                              • 57
                                var portalURL = PropsUtil.get("portal.url");
                              • 59
                                return "${portalURL}";
                            • 47
                              var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                              • 63
                                Variables.assertDefined(parameterList = "${portalURL}");
                                • 5
                                  if (contains("${parameterList}","{parameterList}")) {
                                  • 6
                                    fail("Please define a parameter list in 'parameterList'");
                                  }
                                • 9
                                  for (var parameter : list "${parameterList}") {
                                  • 13
                                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                  • 17
                                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                    • 18
                                      fail("Please set '${parameter}'");
                                    }
                                  }
                              • 65
                                var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                              • 66
                                var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                              • 68
                                return "${portalInstanceName}";
                            • 49
                              return "${portalInstanceName}";
                            }
                          • 51
                            else {
                            • 52
                              return "localhost";
                            }
                        }
                      • 8
                        if (!(isSet(portalURL))) {
                        • 9
                          var portalURL = JSONCompany.getPortalURL();
                          • 57
                            var portalURL = PropsUtil.get("portal.url");
                          • 59
                            return "${portalURL}";
                        }
                      • 12
                        if (!(isSet(creatorEmailAddress))) {
                        • 13
                          if ("${authenticationMethod}" == "By Screen Name") {
                          • 14
                            if (!(isSet(userScreenName))) {
                            • 15
                              var creatorEmailAddress = "test";
                            }
                          • 17
                            else {
                            • 18
                              var creatorEmailAddress = "${userScreenName}";
                            }
                          }
                        • 21
                          else {
                          • 22
                            var creatorEmailAddress = "[email protected]";
                          }
                        }
                      • 26
                        if (!(isSet(creatorPassword))) {
                        • 27
                          var creatorPassword = "test";
                        }
                      • 30
                        var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                      • 35
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 37
                        return "${companyId}";
                    • 263
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 4
                        if (isSet(grandParentGroupName)) {
                        • 5
                          if (!(isSet(site))) {
                          • 6
                            var site = "true";
                          }
                        • 9
                          var grandParentGroupId = JSONGroupAPI._getGrandParentGroupIdByName(groupName = "${grandParentGroupName}", site = "${site}");
                          • 160
                            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}'");
                                }
                              }
                          • 162
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              if (!(isSet(portalInstanceName))) {
                              • 5
                                var portalInstanceName = JSONCompany.getPortalInstanceName();
                                • 41
                                  var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                                • 42
                                  var testPortalInstance = PropsUtil.get("test.portal.instance");
                                • 44
                                  if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                  • 45
                                    var portalURL = JSONCompany.getPortalURL();
                                    • 57
                                      var portalURL = PropsUtil.get("portal.url");
                                    • 59
                                      return "${portalURL}";
                                  • 47
                                    var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                                    • 63
                                      Variables.assertDefined(parameterList = "${portalURL}");
                                      • 5
                                        if (contains("${parameterList}","{parameterList}")) {
                                        • 6
                                          fail("Please define a parameter list in 'parameterList'");
                                        }
                                      • 9
                                        for (var parameter : list "${parameterList}") {
                                        • 13
                                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                        • 17
                                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                          • 18
                                            fail("Please set '${parameter}'");
                                          }
                                        }
                                    • 65
                                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                    • 66
                                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                    • 68
                                      return "${portalInstanceName}";
                                  • 49
                                    return "${portalInstanceName}";
                                  }
                                • 51
                                  else {
                                  • 52
                                    return "localhost";
                                  }
                              }
                            • 8
                              if (!(isSet(portalURL))) {
                              • 9
                                var portalURL = JSONCompany.getPortalURL();
                                • 57
                                  var portalURL = PropsUtil.get("portal.url");
                                • 59
                                  return "${portalURL}";
                              }
                            • 12
                              if (!(isSet(creatorEmailAddress))) {
                              • 13
                                if ("${authenticationMethod}" == "By Screen Name") {
                                • 14
                                  if (!(isSet(userScreenName))) {
                                  • 15
                                    var creatorEmailAddress = "test";
                                  }
                                • 17
                                  else {
                                  • 18
                                    var creatorEmailAddress = "${userScreenName}";
                                  }
                                }
                              • 21
                                else {
                                • 22
                                  var creatorEmailAddress = "[email protected]";
                                }
                              }
                            • 26
                              if (!(isSet(creatorPassword))) {
                              • 27
                                var creatorPassword = "test";
                              }
                            • 30
                              var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                            • 35
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 37
                              return "${companyId}";
                          • 164
                            var portalURL = JSONCompany.getPortalURL();
                            • 57
                              var portalURL = PropsUtil.get("portal.url");
                            • 59
                              return "${portalURL}";
                          • 166
                            if (!(isSet(site))) {
                            • 167
                              var site = "true";
                            }
                          • 170
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups \ -u [email protected]:test \ -d companyId=${companyId} \ -d parentGroupId=0 \ -d site=${site} ''';
                          • 178
                            var groupId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 180
                            if ("${groupId}" == "[]") {
                            • 181
                              fail("FAIL. Cannot find group.");
                            }
                          • 184
                            return "${groupId}";
                        }
                      • 11
                        else {
                        • 12
                          var grandParentGroupId = "0";
                        }
                      • 15
                        return "${grandParentGroupId}";
                    • 265
                      var portalURL = JSONCompany.getPortalURL();
                      • 57
                        var portalURL = PropsUtil.get("portal.url");
                      • 59
                        return "${portalURL}";
                    • 267
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                    • 272
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 274
                      if ("${groupId}" == "[]") {
                      • 275
                        fail("FAIL. Cannot find group.");
                      }
                    • 278
                      return "${groupId}";
                  }
                • 57
                  else {
                  • 58
                    var parentGroupId = "0";
                  }
                • 61
                  return "${parentGroupId}";
              • 223
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
              • 228
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 230
                if ("${groupId}" == "[]") {
                • 231
                  fail("FAIL. Cannot find group.");
                }
              • 234
                echo("## * GroupId: ${groupId}");
              • 236
                return "${groupId}";
            • 40
              return "${groupId}";
          • 285
            var curl = ''' ${portalURL}/api/jsonws/mb.mbthread/get-threads \ -u [email protected]:test \ -d groupId=${groupId} \ -d categoryId=${categoryId} \ -d status=0 \ -d "start=-1" \ -d "end=-1" ''';
          • 296
            var messageId = JSONCurlUtil.post("${curl}", "$.[?(@['title'] == '${threadSubject}')]['rootMessageId']");
          • 298
            if ("${messageId}" == "[]") {
            • 299
              fail("FAIL. Cannot find category.");
            }
          • 302
            return "${messageId}";
        • 675
          if (isSet(layoutName)) {
          • 676
            Navigator.openWithAppendToBaseURL(urlAppend = "web/${siteURLKey}/${layoutName}/-/message_boards/message/${messageId}");
            • 313
              var baseURL = "${baseURL}";
            • 315
              if (contains("${baseURL}", "{baseURL}")) {
              • 316
                var baseURL = PropsUtil.get("portal.url");
              }
            • 319
              Open(locator1 = "${baseURL}/${urlAppend}");
          }
        • 678
          else {
          • 679
            Navigator.openWithAppendToBaseURL(urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_message_boards_web_portlet_MBAdminPortlet&_com_liferay_message_boards_web_portlet_MBAdminPortlet_mvcRenderCommandName=%2Fmessage_boards%2Fview_message&_com_liferay_message_boards_web_portlet_MBAdminPortlet_messageId=${messageId}");
            • 313
              var baseURL = "${baseURL}";
            • 315
              if (contains("${baseURL}", "{baseURL}")) {
              • 316
                var baseURL = PropsUtil.get("portal.url");
              }
            • 319
              Open(locator1 = "${baseURL}/${urlAppend}");
          }
      • 83
        Mentions.viewMentionTagLink( mentionsUserFullName = "userfn2 userln2", mentionsUserScreenName = "usersn2");
        • 206
          var key_mentionsUserScreenName = "${mentionsUserScreenName}";
        • 207
          var key_siteName = "${mentionsUserFullName}";
        • 209
          AssertClick( locator1 = "Mentions#MENTIONS_TAG_LINK", value1 = "@${mentionsUserScreenName}");
        • 213
          ProductMenuHelper.openProductMenu();
          • 46
            if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
            • 47
              Click(locator1 = "ProductMenu#TOGGLE");
            }
          • 50
            AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
          • 52
            AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
          • 54
            if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
            • 55
              Click( key_text = "Back to Menu", locator1 = "Button#ANY");
            }
          • 60
            AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
        • 215
          AssertTextEquals.assertPartialText( locator1 = "ProductMenu#PRODUCT_MENU_PANEL_SITE_ADMINISTRATION_SITE_NAME", value1 = "${mentionsUserFullName}");
      }
    • 34
      tearDown {
      • 35
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 37
        if ("${testPortalInstance}" == "true") {
        • 38
          PortalInstances.tearDownCP();
          • 93
            JSONUser.tearDownNonAdminUsers(authenticationMethod = "${authenticationMethod}");
            • 263
              var userIds = JSONUserAPI._getUserIds(authenticationMethod = "${authenticationMethod}");
              • 228
                var companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 41
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 42
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 44
                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                      • 45
                        var portalURL = JSONCompany.getPortalURL();
                        • 57
                          var portalURL = PropsUtil.get("portal.url");
                        • 59
                          return "${portalURL}";
                      • 47
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 63
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (contains("${parameterList}","{parameterList}")) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                            • 17
                              if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 65
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 66
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 68
                          return "${portalInstanceName}";
                      • 49
                        return "${portalInstanceName}";
                      }
                    • 51
                      else {
                      • 52
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "[email protected]";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 35
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 37
                  return "${companyId}";
              • 230
                var portalURL = JSONCompany.getPortalURL();
                • 57
                  var portalURL = PropsUtil.get("portal.url");
                • 59
                  return "${portalURL}";
              • 232
                if ("${authenticationMethod}" == "By Screen Name") {
                • 233
                  var userName = "test";
                }
              • 235
                else {
                • 236
                  var userName = "[email protected]";
                }
              • 239
                var curl = ''' ${portalURL}/api/jsonws/user/get-company-users \ -u ${userName}:test \ -d companyId=${companyId} \ -d \ -d ''';
              • 247
                var userIds = JSONCurlUtil.post("${curl}", "$..['userId']");
              • 248
                var userIds = StringUtil.replace("${userIds}", "[", "");
              • 249
                var userIds = StringUtil.replace("${userIds}", "]", "");
              • 250
                var userIds = StringUtil.replace("${userIds}", """, "");
              • 252
                return "${userIds}";
            • 265
              for (var userId : list "${userIds}") {
              • 266
                var currentEmailAddress = JSONUserGetter.getEmailAddress( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                • 26
                  Variables.assertDefined(parameterList = "${userId}");
                  • 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}'");
                      }
                    }
                • 28
                  var curl = JSONUserGetter._getUserByIdCurl( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                  • 4
                    Variables.assertDefined(parameterList = "${userId}");
                    • 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 companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
                    • 4
                      if (!(isSet(portalInstanceName))) {
                      • 5
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 41
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 42
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 44
                          if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                          • 45
                            var portalURL = JSONCompany.getPortalURL();
                            • 57
                              var portalURL = PropsUtil.get("portal.url");
                            • 59
                              return "${portalURL}";
                          • 47
                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                            • 63
                              Variables.assertDefined(parameterList = "${portalURL}");
                              • 5
                                if (contains("${parameterList}","{parameterList}")) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                                • 17
                                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 65
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 66
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 68
                              return "${portalInstanceName}";
                          • 49
                            return "${portalInstanceName}";
                          }
                        • 51
                          else {
                          • 52
                            return "localhost";
                          }
                      }
                    • 8
                      if (!(isSet(portalURL))) {
                      • 9
                        var portalURL = JSONCompany.getPortalURL();
                        • 57
                          var portalURL = PropsUtil.get("portal.url");
                        • 59
                          return "${portalURL}";
                      }
                    • 12
                      if (!(isSet(creatorEmailAddress))) {
                      • 13
                        if ("${authenticationMethod}" == "By Screen Name") {
                        • 14
                          if (!(isSet(userScreenName))) {
                          • 15
                            var creatorEmailAddress = "test";
                          }
                        • 17
                          else {
                          • 18
                            var creatorEmailAddress = "${userScreenName}";
                          }
                        }
                      • 21
                        else {
                        • 22
                          var creatorEmailAddress = "[email protected]";
                        }
                      }
                    • 26
                      if (!(isSet(creatorPassword))) {
                      • 27
                        var creatorPassword = "test";
                      }
                    • 30
                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                    • 35
                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                    • 37
                      return "${companyId}";
                  • 8
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  • 10
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 11
                      var userName = "test";
                    }
                  • 13
                    else {
                    • 14
                      var userName = "[email protected]";
                    }
                  • 17
                    var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-id/user-id/${userId} \ -u ${userName}:test \ ''';
                  • 22
                    return "${curl}";
                • 32
                  var userEmailAddress = JSONCurlUtil.get("${curl}", "$['emailAddress']");
                • 34
                  return "${userEmailAddress}";
              • 270
                if ("${currentEmailAddress}" != "[email protected]") {
                • 271
                  JSONUser.deleteUserByUserId( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                  • 203
                    Variables.assertDefined(parameterList = "${userId}");
                    • 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}'");
                        }
                      }
                  • 205
                    JSONUserAPI._deleteUser( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                    • 111
                      Variables.assertDefined(parameterList = "${userId}");
                      • 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}'");
                          }
                        }
                    • 113
                      var portalURL = JSONCompany.getPortalURL();
                      • 57
                        var portalURL = PropsUtil.get("portal.url");
                      • 59
                        return "${portalURL}";
                    • 115
                      if ("${authenticationMethod}" == "By Screen Name") {
                      • 116
                        var userName = "test";
                      }
                    • 118
                      else {
                      • 119
                        var userName = "[email protected]";
                      }
                    • 122
                      var curl = ''' ${portalURL}/api/jsonws/user/delete-user \ -u ${userName}:test \ -d userId=${userId} ''';
                    • 128
                      com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
                }
              }
          • 95
            HeadlessPortalInstanceAPI.cleanAllPortalInstances(authenticationMethod = "${authenticationMethod}");
            • 65
              var portalInstanceJSON = HeadlessPortalInstanceAPI._getPortalInstances(authenticationMethod = "${authenticationMethod}");
              • 5
                var portalURL = JSONCompany.getPortalURL();
                • 57
                  var portalURL = PropsUtil.get("portal.url");
                • 59
                  return "${portalURL}";
              • 7
                if ("${authenticationMethod}" == "By Screen Name") {
                • 8
                  var userName = "test";
                }
              • 10
                else {
                • 11
                  var userName = "[email protected]";
                }
              • 14
                var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -H Content-Type: application/json ''';
              • 20
                var JSON = JSONCurlUtil.get("${curl}");
              • 22
                return "${JSON}";
            • 67
              var portalInstanceIds = JSONUtil.getWithJSONPath("${portalInstanceJSON}","$.items..portalInstanceId");
            • 71
              var portalInstanceIds = StringUtil.regexReplaceAll("${portalInstanceIds}","[\[\]"]","");
            • 73
              for (var portalInstanceId : list "${portalInstanceIds}") {
              • 74
                if ("${portalInstanceId}" != "liferay.com") {
                • 75
                  HeadlessPortalInstanceAPI.deletePortalInstance( authenticationMethod = "${authenticationMethod}", portalInstanceId = "${portalInstanceId}");
                  • 84
                    Variables.assertDefined(parameterList = "${portalInstanceId}");
                    • 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}'");
                        }
                      }
                  • 86
                    var portalURL = JSONCompany.getPortalURL();
                    • 57
                      var portalURL = PropsUtil.get("portal.url");
                    • 59
                      return "${portalURL}";
                  • 88
                    var portalInstanceId = StringUtil.replace("${portalInstanceId}", " ", "%20");
                  • 90
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 91
                      var userName = "test";
                    }
                  • 93
                    else {
                    • 94
                      var userName = "[email protected]";
                    }
                  • 97
                    var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances/${portalInstanceId} \ -u ${userName}:test \ -H Content-Type: application/json ''';
                  • 103
                    JSONCurlUtil.delete("${curl}");
                }
              }
        }
      • 40
        else {
        • 41
          MessageboardsThread.tearDownCP(assetType = "Thread Subject");
          • 3
            var assetType = "Message Boards Thread";
          • 4
            var userName = "Test Test";
          • 925
            Navigator.openURL();
            • 301
              WaitForSPARefresh();
            • 303
              var baseURL = "${baseURL}";
            • 305
              if (contains("${baseURL}", "{baseURL}")) {
              • 306
                var baseURL = PropsUtil.get("portal.url");
              }
            • 309
              Open(locator1 = "${baseURL}/web/guest/home");
          • 927
            ProductMenu.gotoPortlet( category = "Content & Data", portlet = "Message Boards");
            • 51
              if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 52
                ApplicationsMenu.gotoSite(site = "${site}");
                • 35
                  ApplicationsMenuHelper.openApplicationsMenu();
                  • 23
                    if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                    • 24
                      Click(locator1 = "ApplicationsMenu#TOGGLE");
                    }
                  • 27
                    WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
                • 37
                  Click( key_site = "${site}", locator1 = "ApplicationsMenu#SITE_LINK");
              }
            • 55
              ProductMenuHelper.openProductMenu();
              • 46
                if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                • 47
                  Click(locator1 = "ProductMenu#TOGGLE");
                }
              • 50
                AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
              • 52
                AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
              • 54
                if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
                • 55
                  Click( key_text = "Back to Menu", locator1 = "Button#ANY");
                }
              • 60
                AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
            • 57
              ProductMenuHelper.expandCategory(category = "${category}");
              • 12
                var key_category = "${category}";
              • 14
                if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                • 15
                  Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                }
              • 18
                AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
            • 59
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 931
            if (IsElementPresent.isVisible(locator1 = "MessageBoards#THREAD_TABLE_ALL_CHECKBOX")) {
            • 932
              Check(locator1 = "MessageBoards#THREAD_TABLE_ALL_CHECKBOX");
            • 934
              AssertClick( locator1 = "MessageBoardsAdmin#THREADS_RECYCLE_BIN_BUTTON", value1 = "Move to Recycle Bin");
            • 938
              VerifyElementPresent(locator1 = "Message#SUCCESS");
            }
          • 941
            Navigator.openURL();
            • 301
              WaitForSPARefresh();
            • 303
              var baseURL = "${baseURL}";
            • 305
              if (contains("${baseURL}", "{baseURL}")) {
              • 306
                var baseURL = PropsUtil.get("portal.url");
              }
            • 309
              Open(locator1 = "${baseURL}/web/guest/home");
          • 943
            ProductMenu.gotoPortlet( category = "Recycle Bin", portlet = "Recycle Bin");
            • 51
              if (IsElementNotPresent(locator1 = "ProductMenu#TOGGLE")) {
              • 52
                ApplicationsMenu.gotoSite(site = "${site}");
                • 35
                  ApplicationsMenuHelper.openApplicationsMenu();
                  • 23
                    if (IsElementNotPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU")) {
                    • 24
                      Click(locator1 = "ApplicationsMenu#TOGGLE");
                    }
                  • 27
                    WaitForElementPresent(locator1 = "ApplicationsMenu#APPLICATIONS_MENU");
                • 37
                  Click( key_site = "${site}", locator1 = "ApplicationsMenu#SITE_LINK");
              }
            • 55
              ProductMenuHelper.openProductMenu();
              • 46
                if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                • 47
                  Click(locator1 = "ProductMenu#TOGGLE");
                }
              • 50
                AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
              • 52
                AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
              • 54
                if (IsElementPresent(key_text = "Back to Menu", locator1 = "Button#ANY")) {
                • 55
                  Click( key_text = "Back to Menu", locator1 = "Button#ANY");
                }
              • 60
                AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
            • 57
              ProductMenuHelper.expandCategory(category = "${category}");
              • 12
                var key_category = "${category}";
              • 14
                if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                • 15
                  Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                }
              • 18
                AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
            • 59
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 947
            RecycleBin.emptyCP();
            • 65
              Click(locator1 = "Icon#HEADER_VERTICAL_ELLIPSIS");
            • 67
              if (IsElementPresent(locator1 = "RecycleBin#EMPTY_RECYCLE_BIN")) {
              • 68
                AssertClickNoError( locator1 = "RecycleBin#EMPTY_RECYCLE_BIN", value1 = "Empty the Recycle Bin");
              • 72
                AssertConfirm.waitForConfirmation(value1 = "Are you sure you want to empty the Recycle Bin?");
              • 74
                AssertTextEquals( locator1 = "Message#EMPTY_INFO", value1 = "The Recycle Bin is empty.");
              }
        }
      }