LocalFile.CreateObject#set-up
  • Running IsTestName with locator1 with value1
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running isTestName with parameters
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1641333933568,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1641333933629,"lastLoginIP":"","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1641333933629,"loginIP":"","middleName":"","modifiedDate":1641334776915,"mvccVersion":"2","openId":"","portraitId":"0","reminderQueryAnswer":"","reminderQueryQuestion":"","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"f0591d1c-b4fe-890c-b454-b5903a66c70f"}Finished executing commands.
  • Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20099","contactId":"20129","createDate":1641333933568,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":null,"lastLoginDate":1641333933629,"lastLoginIP":"","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1641333933629,"loginIP":"","middleName":"","modifiedDate":1641334777131,"mvccVersion":"3","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20127","uuid":"f0591d1c-b4fe-890c-b454-b5903a66c70f"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,"parola d'ordine")]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
  • Running Pause with locator13000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters3000
    • Running assertLiferayErrors
    • Running pause with parameters3000
  • Running IsElementPresent#pauseIsElementPresent with locator1//input[contains(@id,'reminderQueryAnswer')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'reminderQueryAnswer')]
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//input[contains(@id,'reminderQueryAnswer')]
  • Running IsElementNotPresent with locator1//span[@class='user-avatar-link']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[@class='user-avatar-link']
    • Running isNotVisible with parameters//span[@class='user-avatar-link']
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • LocalFile.CreateObject#PreventDeletionOneToManyWillAllowDelete
  • LPS-135401 - Verify if Prevent deletion type of Relationship One to Many will allow the user to delete an entry with relation from the child Object
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42520" }, "publish" : { "method" : "POST", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42520/publish" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42520" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42520" } }, "active" : false, "dateCreated" : "2022-01-04T22:19:45Z", "dateModified" : "2022-01-04T22:19:45Z", "id" : 42520, "label" : { "en-US" : "Custom Object A" }, "name" : "CustomObjectA", "objectActions" : [ ], "objectFields" : [ ], "objectLayouts" : [ ], "panelCategoryKey" : "control_panel.object", "pluralLabel" : { "en-US" : "Custom Objects A" }, "portlet" : false, "scope" : "company", "status" : { "code" : 2, "label" : "draft", "label_i18n" : "Draft" }, "system" : false, "titleObjectFieldId" : 0 }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42521" }, "publish" : { "method" : "POST", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42521/publish" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42521" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-definitions/42521" } }, "active" : false, "dateCreated" : "2022-01-04T22:19:46Z", "dateModified" : "2022-01-04T22:19:46Z", "id" : 42521, "label" : { "en-US" : "Custom Object B" }, "name" : "CustomObjectB", "objectActions" : [ ], "objectFields" : [ ], "objectLayouts" : [ ], "panelCategoryKey" : "control_panel.object", "pluralLabel" : { "en-US" : "Custom Objects B" }, "portlet" : false, "scope" : "company", "status" : { "code" : 2, "label" : "draft", "label_i18n" : "Draft" }, "system" : false, "titleObjectFieldId" : 0 }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42520" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42520" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42520" } }, "id" : 42522, "indexed" : true, "indexedAsKeyword" : true, "indexedLanguageId" : "", "label" : { "en-US" : "Custom Field A" }, "listTypeDefinitionId" : 0, "name" : "customObjectFieldA", "required" : false, "type" : "String" }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42521" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42521" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-fields/42521" } }, "id" : 42523, "indexed" : true, "indexedAsKeyword" : true, "indexedLanguageId" : "", "label" : { "en-US" : "Custom Field B" }, "listTypeDefinitionId" : 0, "name" : "customObjectFieldB", "required" : false, "type" : "String" }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-relationships/42520" } }, "deletionType" : "prevent", "id" : 42524, "label" : { "en-US" : "Relationship" }, "name" : "relationship", "objectDefinitionId1" : 42520, "objectDefinitionId2" : 42521, "objectDefinitionName2" : "CustomObjectB", "type" : "oneToMany" }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/object-admin/v1.0/object-layouts/42520" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/object-admin/v1.0/object-layouts/42520" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/object-admin/v1.0/object-layouts/42520" } }, "dateCreated" : "2022-01-04T22:19:48Z", "dateModified" : "2022-01-04T22:19:48Z", "defaultObjectLayout" : false, "id" : 42526, "name" : { "en-US" : "Layout Name" }, "objectDefinitionId" : 42520, "objectLayoutTabs" : [ ] }Finished executing commands.
  • Running Open with locator1/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • 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/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running Click with locator1//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running mouseOver with parameters//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running click with parameters//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running assertJavaScriptErrors with parameters//div[(@class='table-list-title') and contains (.,'Custom Object A')]
    • Running assertLiferayErrors
  • Running Select with locator1//select[contains(@id,'_titleObjectFieldId')] with value1Custom Field A
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Custom Field A
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Custom Field A
    • Running assertJavaScriptErrors with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//select[contains(@id,'_titleObjectFieldId')]Custom Field A
    • Running mouseOver with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running select with parameters//select[contains(@id,'_titleObjectFieldId')]Custom Field A
    • Running assertJavaScriptErrors with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running mouseOver with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running click with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertJavaScriptErrors with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertLiferayErrors
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Click with locator1//a[contains(text(), 'Layouts')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(text(), 'Layouts')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(text(), 'Layouts')]
    • Running mouseOver with parameters//a[contains(text(), 'Layouts')]
    • Running click with parameters//a[contains(text(), 'Layouts')]
    • Running assertJavaScriptErrors with parameters//a[contains(text(), 'Layouts')]
    • Running assertLiferayErrors
  • Running Click with locator1//*[contains(@class,'lexicon-icon-ellipsis')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'lexicon-icon-ellipsis')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'lexicon-icon-ellipsis')]
    • Running mouseOver with parameters//*[contains(@class,'lexicon-icon-ellipsis')]
    • Running click with parameters//*[contains(@class,'lexicon-icon-ellipsis')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'lexicon-icon-ellipsis')]
    • Running assertLiferayErrors
  • Running Click with locator1//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running mouseOver with parameters//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running click with parameters//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running assertJavaScriptErrors with parameters//*[@class = 'dropdown-item' and contains(text(), 'View')]
    • Running assertLiferayErrors
  • Running SelectFrame with locator1//iframe
    • Running waitForJavaScriptNoError with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running verifyJavaScript with parameters try { var eventValue = LFR_JS_EVENTS_LOG.getLastEvent("modalIframeLoaded").src; return eventValue.includes("dialog-iframe-popup"); } catch(err) { return false; } Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.
    • Running waitForVisible with parameters//iframe
    • Running mouseOver with parameters//iframe
    • Running selectFrame with parameters//iframe
    • Running assertJavaScriptErrors with parameters//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//iframe
    • Running assertLiferayErrors

    Cause:

    VERIFICATION_WARNING: Event "modalIframeLoaded" with attribute "src" and value "dialog-iframe-popup" not fired.

    Steps:

    • TestCase#setUpPortalInstance --> PASSED
    • Log into Liferay using URL navigation --> PASSED
    • ObjectAdmin#addObjectViaAPI --> PASSED
    • ObjectAdmin#addObjectViaAPI --> PASSED
    • ObjectAdmin#addObjectFieldViaAPI --> PASSED
    • ObjectAdmin#addObjectFieldViaAPI --> PASSED
    • ObjectAdmin#addObjectRelationshipViaAPI --> PASSED
    • ObjectAdmin#addObjectLayoutViaAPI --> PASSED
    • ObjectAdmin#openObjectAdmin --> PASSED
    • ObjectPortlet#selectCustomObject --> PASSED
    • CreateObject#selectTitleField --> PASSED
    • CreateObject#saveObject --> PASSED
    • ObjectAdmin#goToLayoutsTab --> PASSED
    • ObjectAdmin#selectKebabMenuOption --> PASSED
    • ObjectAdmin#markLayoutAsDefault --> WARNING
      • SelectFrame#selectFrame --> WARNING
    before0Before
    after0After
  • Running Click with locator1//button[contains(text(), 'Info')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(), 'Info')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(text(), 'Info')]
    • Running mouseOver with parameters//button[contains(text(), 'Info')]
    • Running click with parameters//button[contains(text(), 'Info')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(), 'Info')]
    • Running assertLiferayErrors
  • Running Click#clickAtNotVisible with locator1//input[contains(@class,'custom-control-input')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@class,'custom-control-input')]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//input[contains(@class,'custom-control-input')]
    • Running mouseOver with parameters//input[contains(@class,'custom-control-input')]
    • Running clickAt with parameters//input[contains(@class,'custom-control-input')]
    • Running assertJavaScriptErrors with parameters//input[contains(@class,'custom-control-input')]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(text(), 'Layout')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(), 'Layout')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(text(), 'Layout')]
  • Running Click with locator1//button[contains(text(), 'Layout')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(), 'Layout')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(text(), 'Layout')]
    • Running mouseOver with parameters//button[contains(text(), 'Layout')]
    • Running click with parameters//button[contains(text(), 'Layout')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(), 'Layout')]
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running Click with locator1//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running mouseOver with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running click with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running assertJavaScriptErrors with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Fields')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[@id = 'inputName'] with value1Field Tab
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Field Tab
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Field Tab
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[@id = 'inputName']Field Tab
    • Running waitForEditable with parameters//input[@id = 'inputName']
    • Running mouseOver with parameters//input[@id = 'inputName']
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running type with parameters//input[@id = 'inputName']Field Tab
    • Running pause with parameters1000
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@type,'submit') and contains(.,'Save')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running mouseOver with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running click with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running mouseOver with parameters//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running click with parameters//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn btn-sm btn-secondary')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[@id = 'inputName'] with value1Block 1
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Block 1
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Block 1
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[@id = 'inputName']Block 1
    • Running waitForEditable with parameters//input[@id = 'inputName']
    • Running mouseOver with parameters//input[@id = 'inputName']
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running type with parameters//input[@id = 'inputName']Block 1
    • Running pause with parameters1000
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@type,'submit') and contains(.,'Save')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running mouseOver with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running click with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running mouseOver with parameters//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running click with parameters//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'btn-secondary') and contains (text(),'Add Field')]
    • Running assertLiferayErrors
  • Running Click with locator1//span[contains(text(),'Choose an Option')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'Choose an Option')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(text(),'Choose an Option')]
    • Running mouseOver with parameters//span[contains(text(),'Choose an Option')]
    • Running click with parameters//span[contains(text(),'Choose an Option')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'Choose an Option')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running mouseOver with parameters//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running click with parameters//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running assertJavaScriptErrors with parameters//button[(@class='dropdown-item') and contains(.,'Custom Field A')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running mouseOver with parameters//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running click with parameters//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running assertJavaScriptErrors with parameters//button[contains(@class,'box-btn-columns__btn') and contains(@value,'1')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@type,'submit') and contains(.,'Save')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running mouseOver with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running click with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running mouseOver with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running click with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertJavaScriptErrors with parameters//a[contains(@class,'btn')][contains(@href,'new') or contains(@href,'redirect') or contains(@href,'mvc') or contains(@href,'javascript')][.//*[name()='svg'][contains(@class,'icon-plus')]][not(contains(@class,'borderless'))] | //button[*[contains(@class,'icon-plus')]]
    • Running assertLiferayErrors
  • Running Click with locator1//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running mouseOver with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running click with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running assertJavaScriptErrors with parameters//div[@class = 'form-group']//h4[@class = 'layout-tab__tab-types__title' and contains(text(),'Relationships')]
    • Running assertLiferayErrors
  • Running Type with locator1//input[@id = 'inputName'] with value1Relationship Tab
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Relationship Tab
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Relationship Tab
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[@id = 'inputName']Relationship Tab
    • Running waitForEditable with parameters//input[@id = 'inputName']
    • Running mouseOver with parameters//input[@id = 'inputName']
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running type with parameters//input[@id = 'inputName']Relationship Tab
    • Running pause with parameters1000
    • Running clickAt with parameters//input[@id = 'inputName']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//input[@id = 'inputName']
    • Running assertLiferayErrors
  • Running Click with locator1//span[contains(text(),'Choose an Option')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'Choose an Option')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(text(),'Choose an Option')]
    • Running mouseOver with parameters//span[contains(text(),'Choose an Option')]
    • Running click with parameters//span[contains(text(),'Choose an Option')]
    • Running assertJavaScriptErrors with parameters//span[contains(text(),'Choose an Option')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running mouseOver with parameters//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running click with parameters//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running assertJavaScriptErrors with parameters//button[(@class='dropdown-item') and contains(.,'Relationship')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(@type,'submit') and contains(.,'Save')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running mouseOver with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running click with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertJavaScriptErrors with parameters//button[contains(@type,'submit') and contains(.,'Save')]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running 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 Open with locator1/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • 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/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running Click with locator1//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running mouseOver with parameters//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running click with parameters//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running assertJavaScriptErrors with parameters//div[(@class='table-list-title') and contains (.,'Custom Object B')]
    • Running assertLiferayErrors
  • Running Select with locator1//select[contains(@id,'_titleObjectFieldId')] with value1Custom Field B
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Custom Field B
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Custom Field B
    • Running assertJavaScriptErrors with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//select[contains(@id,'_titleObjectFieldId')]Custom Field B
    • Running mouseOver with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running select with parameters//select[contains(@id,'_titleObjectFieldId')]Custom Field B
    • Running assertJavaScriptErrors with parameters//select[contains(@id,'_titleObjectFieldId')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running mouseOver with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running click with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertJavaScriptErrors with parameters//button[@id='_com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_save']
    • Running assertLiferayErrors
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running post with parametersArg: ${curl}Return: Finished executing commands.
  • Running post with parametersArg: ${curl}Return: Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/c/customobjectas/42536" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/c/customobjectas/42536" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/c/customobjectas/42536" } }, "creator" : { "additionalName" : "", "contentType" : "UserAccount", "familyName" : "Test", "givenName" : "Test", "id" : 20127, "name" : "Test Test" }, "dateCreated" : "2022-01-04T22:20:41Z", "dateModified" : "2022-01-04T22:20:41Z", "externalReferenceCode" : "", "id" : 42536, "status" : { "code" : 0, "label" : "approved", "label_i18n" : "Approved" }, "customObjectFieldA" : "Entry A" }Finished executing commands.
  • Running post with parametersArg: ${curl}Return: { "actions" : { "get" : { "method" : "GET", "href" : "http://localhost:8080/o/c/customobjectbs/42538" }, "update" : { "method" : "PUT", "href" : "http://localhost:8080/o/c/customobjectbs/42538" }, "delete" : { "method" : "DELETE", "href" : "http://localhost:8080/o/c/customobjectbs/42538" } }, "creator" : { "additionalName" : "", "contentType" : "UserAccount", "familyName" : "Test", "givenName" : "Test", "id" : 20127, "name" : "Test Test" }, "dateCreated" : "2022-01-04T22:20:41Z", "dateModified" : "2022-01-04T22:20:41Z", "externalReferenceCode" : "", "id" : 42538, "status" : { "code" : 0, "label" : "approved", "label_i18n" : "Approved" }, "customObjectFieldB" : "Entry B", "customObjectAId" : 0 }Finished executing commands.
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running Open with locator1/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • 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/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running IsElementPresent with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
  • Running Click with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running mouseOver with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running click with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'show')]//a[contains(.,'View')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running mouseOver with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running click with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//input[contains(@placeholder,'Search')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//input[contains(@placeholder,'Search')]
    • Running mouseOver with parameters//input[contains(@placeholder,'Search')]
    • Running click with parameters//input[contains(@placeholder,'Search')]
    • Running assertJavaScriptErrors with parameters//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
  • Running KeyPress with locator1//input[contains(@placeholder,'Search')] with value1\BACK_SPACE
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]\BACK_SPACE
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]\BACK_SPACE
    • Running assertJavaScriptErrors with parameters//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
    • Running mouseOver with parameters//input[contains(@placeholder,'Search')]
    • Running keyPress with parameters//input[contains(@placeholder,'Search')]\BACK_SPACE
    • Running assertJavaScriptErrors with parameters//input[contains(@placeholder,'Search')]
    • Running assertLiferayErrors
  • Running Click with locator1//button[contains(text(),'Entry A')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(),'Entry A')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//button[contains(text(),'Entry A')]
    • Running mouseOver with parameters//button[contains(text(),'Entry A')]
    • Running click with parameters//button[contains(text(),'Entry A')]
    • Running assertJavaScriptErrors with parameters//button[contains(text(),'Entry A')]
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running waitForVisible with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseDown with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running mouseUp with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertJavaScriptErrors with parameters//*[not(self::div)][contains(@class,'btn')][normalize-space()='Save'][not(contains(@class,'navbar'))]
    • Running assertLiferayErrors
  • Running WaitForLiferayEvent#initializeLiferayEventLog
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
  • Running 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 Open with locator1/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • 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/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42521
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running Click with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running mouseOver with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running click with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]/following-sibling::div//button
    • Running assertLiferayErrors
  • Running ClickNoError with locator1//div[contains(@class,'show')]//button[contains(.,'Delete')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'show')]//button[contains(.,'Delete')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'show')]//button[contains(.,'Delete')]
    • Running mouseOver with parameters//div[contains(@class,'show')]//button[contains(.,'Delete')]
    • Running click with parameters//div[contains(@class,'show')]//button[contains(.,'Delete')]
  • Running AssertConfirm with value1Are you sure you want to delete this entry?
    • Running assertAlertText with parametersAre you sure you want to delete this entry?
    • Running acceptAlert
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Are you sure you want to delete this entry?
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Are you sure you want to delete this entry?
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertElementNotPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertLiferayErrors
  • Running Open with locator1/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42520
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42520
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42520
    • Running runScript with parameters if (typeof Liferay != "undefined") { const TRACKED_EVENTS = [ 'addPortlet', 'allPortletsReady', 'allUploadsComplete', 'beforeNavigate', 'beforeScreenFlip', 'closePortlet', 'dataLayoutConfigReady', 'destroyPortlet', 'editorAPIReady', 'endNavigate', 'form:registered', 'formNavigator:reveal', 'dropdownShow', 'entitySelectionRemoved', 'exitNavigation', 'hideNavigationMenu', 'initLayout', 'inputLocalized:localeChanged', 'modalIframeLoaded', 'noticeShow', 'noticeHide', 'popupReady', 'portletDragStart', 'portletMoved', 'portletReady', 'ratings:vote', 'screenActivate', 'screenDeactivate', 'screenFlip', 'screenLoad', 'search-container:registered', 'sessionExpired', 'showNavigationMenu', 'spaRequestTimeout', 'startNavigate', 'submitForm', 'tempFileRemoved', 'toggleControls', 'updatedLayout', ]; let __LFR_TRACKED_EVENTS__ = {}; Liferay.on(TRACKED_EVENTS, function(event){ { const eventLog = __LFR_TRACKED_EVENTS__[event.type] ? __LFR_TRACKED_EVENTS__[event.type].concat(event) : [event]; __LFR_TRACKED_EVENTS__[event.type] = eventLog }; }); function getLastEvent(eventName) { return __LFR_TRACKED_EVENTS__[eventName] ? __LFR_TRACKED_EVENTS__[eventName][ __LFR_TRACKED_EVENTS__[eventName].length - 1 ] : {}; }; function getLastEventDetails(eventName){ return getLastEvent(eventName).details[0]; }; window.LFR_JS_EVENTS_LOG = { getLastEvent:getLastEvent, getLastEventDetails:getLastEventDetails, }; }
    • Running assertJavaScriptErrors with parameters/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42520
    • 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/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_42520
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//h1[contains(.,'Your connection is not private')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//h1[contains(.,'Your connection is not private')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//h1[contains(.,'Your connection is not private')]
  • Running IsElementPresent with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
  • Running Click with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running mouseOver with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running click with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry A')]/following-sibling::div//button
    • Running assertLiferayErrors
  • Running Click with locator1//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'show')]//a[contains(.,'View')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running mouseOver with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running click with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'show')]//a[contains(.,'View')]
    • Running assertLiferayErrors
  • Running WaitForPageLoad
    • Running waitForJavaScriptNoError with parameters return document.readyState === "complete"; Page is still loading.
    • Running verifyJavaScript with parameters return document.readyState === "complete"; Page is still loading.
  • Running Click with locator1//a[contains(text(),'Relationship Tab')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//a[contains(text(),'Relationship Tab')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//a[contains(text(),'Relationship Tab')]
    • Running mouseOver with parameters//a[contains(text(),'Relationship Tab')]
    • Running click with parameters//a[contains(text(),'Relationship Tab')]
    • Running assertJavaScriptErrors with parameters//a[contains(text(),'Relationship Tab')]
    • Running assertLiferayErrors
  • Running AssertElementNotPresent with locator1//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') 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,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertElementNotPresent with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'dnd-tbody')]//div[contains(text(),'Entry B')]
    • Running assertLiferayErrors
  • LocalFile.CreateObject#tear-down
  • Running delete with parametersArg: ${curl}Return: { "status" : "INTERNAL_SERVER_ERROR" }Finished executing commands.
  • Running delete with parametersArg: ${curl}Return: { "status" : "INTERNAL_SERVER_ERROR" }Finished executing commands.
  • LocalFile.CreateObject#PreventDeletionOneToManyWillAllowDelete

    • 8
      setUp {
      • 9
        TestCase.setUpPortalInstance();
        • 113
          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
        • 114
          var testPortalInstance = PropsUtil.get("test.portal.instance");
        • 116
          if (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
          • 117
            HeadlessPortalInstanceAPI.cleanAllPortalInstances(authenticationMethod = "${authenticationMethod}");
            • 107
              var portalInstanceJSON = HeadlessPortalInstanceAPI._getPortalInstances(authenticationMethod = "${authenticationMethod}");
              • 5
                var portalURL = JSONCompany.getDefaultPortalURL();
                • 40
                  var portalURL = PropsUtil.get("default.portal.url");
                • 42
                  if (!(contains("${portalURL}", "http"))) {
                  • 43
                    var portalURL = "http://${portalURL}";
                  }
                • 46
                  return "${portalURL}";
              • 7
                if ("${authenticationMethod}" == "By Screen Name") {
                • 8
                  var userName = "test";
                }
              • 10
                else {
                • 11
                  var userName = "test@liferay.com";
                }
              • 14
                var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -H Content-Type: application/json ''';
              • 19
                var JSON = JSONCurlUtil.get("${curl}");
              • 21
                return "${JSON}";
            • 109
              var portalInstanceIds = JSONUtil.getWithJSONPath("${portalInstanceJSON}", "$.items..portalInstanceId");
            • 111
              for (var portalInstanceId : list "${portalInstanceIds}") {
              • 112
                if ("${portalInstanceId}" != "liferay.com") {
                • 113
                  HeadlessPortalInstanceAPI.deletePortalInstance( authenticationMethod = "${authenticationMethod}", portalInstanceId = "${portalInstanceId}");
                  • 122
                    Variables.assertDefined(parameterList = "${portalInstanceId}");
                    • 5
                      if (contains("${parameterList}", "{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 124
                    var portalURL = JSONCompany.getDefaultPortalURL();
                    • 40
                      var portalURL = PropsUtil.get("default.portal.url");
                    • 42
                      if (!(contains("${portalURL}", "http"))) {
                      • 43
                        var portalURL = "http://${portalURL}";
                      }
                    • 46
                      return "${portalURL}";
                  • 126
                    var portalInstanceId = StringUtil.replace("${portalInstanceId}", " ", "%20");
                  • 128
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 129
                      var userName = "test";
                    }
                  • 131
                    else {
                    • 132
                      var userName = "test@liferay.com";
                    }
                  • 135
                    var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances/${portalInstanceId} \ -u ${userName}:test \ -H Content-Type: application/json ''';
                  • 141
                    JSONCurlUtil.delete("${curl}");
                }
              }
          • 119
            if ("${testPortalInstance}" == "true") {
            • 120
              SignIn.signInPortalInstanceSetUp();
              • 3
                var userEmailAddress = "test@liferay.com";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 48
                var portalURL = PropsUtil.get("portal.url");
              • 49
                var portalURL = StringUtil.replace("${portalURL}", "http://", "");
              • 50
                var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
              • 52
                HeadlessPortalInstanceAPI.addPortalInstance( authenticationMethod = "${authenticationMethod}", domain = "liferay.com", portalInstanceId = "${portalURL}", virtualHost = "${portalURL}");
                • 26
                  Variables.assertDefined(parameterList = "${domain},${virtualHost},${portalInstanceId}");
                  • 5
                    if (contains("${parameterList}", "{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 28
                  var portalURL = JSONCompany.getDefaultPortalURL();
                  • 40
                    var portalURL = PropsUtil.get("default.portal.url");
                  • 42
                    if (!(contains("${portalURL}", "http"))) {
                    • 43
                      var portalURL = "http://${portalURL}";
                    }
                  • 46
                    return "${portalURL}";
                • 30
                  var parameters = JSONUtil2._addJSONObject( JSON = "{}", key = "domain", value = ""${domain}"");
                  • 67
                    if (!(isSet(JSON)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 35
                  var parameters = JSONUtil2._addJSONObject( JSON = "${parameters}", key = "virtualHost", value = ""${virtualHost}"");
                  • 67
                    if (!(isSet(JSON)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 40
                  var parameters = JSONUtil2._addJSONObject( JSON = "${parameters}", key = "portalInstanceId", value = ""${portalInstanceId}"");
                  • 67
                    if (!(isSet(JSON)) || !(isSet(key)) || !(isSet(value))) {
                    • 68
                      fail("Error, 'JSON', 'key', and 'value' must all be set");
                    }
                  • 71
                    var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                    • 132
                      var temp = RegexUtil.replace("${JSON}", "\"(${key})\"\s*:\s*", "1");
                    • 134
                      if ("${temp}" == "${key}") {
                      • 135
                        return "TRUE";
                      }
                    • 137
                      else {
                      • 138
                        return "FALSE";
                      }
                  • 75
                    if ("${bool}" == "TRUE") {
                    • 76
                      fail("Error, '${key}' already exists in the JSON");
                    }
                  • 79
                    if ("${JSON}" == "{}") {
                    • 80
                      var JSON = '''{"${key}" : ${value}}''';
                    }
                  • 82
                    else {
                    • 83
                      var JSON = StringUtil.regexReplaceFirst("${JSON}", "(.*)\}", "$1, \"${key}\": ${value}}");
                    }
                  • 86
                    return "${JSON}";
                • 45
                  if ("${authenticationMethod}" == "By Screen Name") {
                  • 46
                    var userName = "test";
                  }
                • 48
                  else {
                  • 49
                    var userName = "test@liferay.com";
                  }
                • 52
                  var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -d ${parameters} \ -H Content-Type: application/json ''';
                • 59
                  JSONCurlUtil.post("${curl}");
            }
          }
      • 11
        User.firstLoginPG();
        • 3
          var password = "test";
        • 4
          var userEmailAddress = "test@liferay.com";
        • 1932
          if (isSet(virtualHostsURL)) {
          • 1933
            Navigator.openSpecificURL(url = "${virtualHostsURL}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1935
          else {
          • 1936
            Navigator.openURL();
            • 346
              WaitForSPARefresh();
            • 348
              var baseURL = "${baseURL}";
            • 350
              if (contains("${baseURL}", "{baseURL}")) {
              • 351
                var baseURL = PropsUtil.get("portal.url");
              }
            • 354
              Open(locator1 = "${baseURL}/web/guest/home");
          }
        • 1939
          UserBar.signOut();
          • 34
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 35
              UserBar.gotoDropdown();
              • 4
                if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_PORTRAIT")) {
                • 5
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_PORTRAIT");
                }
              • 7
                else if (IsElementPresent(locator1 = "UserBar#USER_AVATAR_TOGGLE")) {
                • 8
                  Click.waitForMenuToggleJSClick(locator1 = "UserBar#USER_AVATAR_TOGGLE");
                }
              • 10
                else {
                • 11
                  Click.waitForPersonalMenuJSClick(locator1 = "UserBar#USER_AVATAR_ICON");
                }
              • 14
                AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
            • 37
              ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            • 39
              Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
            }
        • 1941
          JSONUser.agreeToTermsAndAnswerReminderQuery( portalURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
          • 172
            Variables.assertDefined(parameterList = "${userEmailAddress}");
            • 5
              if (contains("${parameterList}", "{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
              • 17
                if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 174
            var portalInstanceName = JSONUserSetter.setPortalInstanceName(portalURL = "${portalURL}");
            • 37
              if (isSet(portalURL)) {
              • 38
                var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                • 72
                  Variables.assertDefined(parameterList = "${portalURL}");
                  • 5
                    if (contains("${parameterList}", "{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 74
                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                • 75
                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                • 77
                  return "${portalInstanceName}";
              }
            • 41
              return "${portalInstanceName}";
          • 176
            var userId = JSONUserSetter.setUserId( portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
            • 92
              Variables.assertDefined(parameterList = "${userEmailAddress}");
              • 5
                if (contains("${parameterList}", "{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 94
              var userId = JSONUserAPI._getUserIdByEmailAddress( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}", userEmailAddress = "${userEmailAddress}");
              • 209
                Variables.assertDefined(parameterList = "${userEmailAddress}");
                • 5
                  if (contains("${parameterList}", "{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                  • 17
                    if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 211
                var companyId = JSONCompany.getCompanyId( creatorEmailAddress = "${creatorEmailAddress}", creatorPassword = "${creatorPassword}", portalInstanceName = "${portalInstanceName}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (contains("${parameterList}", "{parameterList}")) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 216
                if (isSet(specificURL)) {
                • 217
                  var portalURL = "${specificURL}";
                }
              • 219
                else {
                • 220
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 223
                if (!(isSet(creatorEmailAddress))) {
                • 224
                  var creatorEmailAddress = "test@liferay.com";
                }
              • 227
                if (!(isSet(creatorPassword))) {
                • 228
                  var creatorPassword = "test";
                }
              • 231
                var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-email-address/company-id/${companyId}/email-address/${userEmailAddress} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
              • 235
                var userId = JSONCurlUtil.get("${curl}", "$['userId']");
              • 237
                return "${userId}";
            • 100
              return "${userId}";
          • 180
            JSONUserAPI._agreeToTermsAndAnswerReminderQuery(userId = "${userId}");
            • 89
              Variables.assertDefined(parameterList = "${userId}");
              • 5
                if (contains("${parameterList}", "{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                • 17
                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 91
              if (isSet(specificURL)) {
              • 92
                var portalURL = "${specificURL}";
              }
            • 94
              else {
              • 95
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              }
            • 98
              var curl = ''' ${portalURL}/api/jsonws/user/update-agreed-to-terms-of-use/user-id/${userId}/agreed-to-terms-of-use/true \ -u test@liferay.com:test ''';
            • 103
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
            • 105
              var curl = ''' ${portalURL}/api/jsonws/user/update-reminder-query/user-id/${userId}/question/what-is-your-father%27s-middle-name/answer/test \ -u test@liferay.com:test ''';
            • 110
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        • 1945
          if (isSet(virtualHostsURL)) {
          • 1946
            Navigator.openSpecificURL(url = "${virtualHostsURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1948
          else {
          • 1949
            var baseURL = PropsUtil.get("portal.url");
          • 1951
            Navigator.openSpecificURL(url = "${baseURL}/web/guest?SM_USER=${userEmailAddress}");
            • 295
              Open(locator1 = "${url}");
            • 297
              Alert.confirmSecurity();
              • 16
                if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                • 17
                  Click(locator1 = "Button#ADVANCED");
                • 19
                  AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                • 23
                  Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                }
          }
        • 1956
          User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 2468
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
            • 2469
              if ("${syntaxCheckingEnabled}" == "true") {
              • 2470
                Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
              • 2474
                Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
              }
            • 2478
              else {
              • 2479
                if ("${setupWizardEnabled}" == "true") {
                • 2480
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                • 2484
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                }
              • 2488
                else {
                • 2489
                  Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                • 2493
                  Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                }
              }
            • 2499
              Button.clickSubmitButton();
              • 118
                Click(locator1 = "Button#SUBMIT");
            • 2501
              AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
            }
        • 1961
          User.answerPasswordReminder();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "test@liferay.com";
          • 746
            Pause(locator1 = "3000");
          • 748
            if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
            • 749
              Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
            • 753
              Click(locator1 = "Button#SUBMIT");
            }
        • 1963
          if (IsElementNotPresent(locator1 = "UserBar#USER_AVATAR_IMAGE")) {
          • 1964
            takeScreenshot();
          • 1966
            echo("URL login failed, falling back to UI login.");
          • 1968
            User.firstLoginUI( idpName = "${idpName}", password = "${password}", rememberMeChecked = "${rememberMeChecked}", specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}", userScreenName = "${userScreenName}");
            • 3
              var password = "test";
            • 4
              var userEmailAddress = "test@liferay.com";
            • 1983
              if (isSet(specificURL)) {
              • 1984
                Navigator.openSpecificURL(url = "${specificURL}");
                • 295
                  Open(locator1 = "${url}");
                • 297
                  Alert.confirmSecurity();
                  • 16
                    if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
                    • 17
                      Click(locator1 = "Button#ADVANCED");
                    • 19
                      AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
                    • 23
                      Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
                    }
              }
            • 1986
              else {
              • 1987
                Navigator.openURL();
                • 346
                  WaitForSPARefresh();
                • 348
                  var baseURL = "${baseURL}";
                • 350
                  if (contains("${baseURL}", "{baseURL}")) {
                  • 351
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 354
                  Open(locator1 = "${baseURL}/web/guest/home");
              }
            • 1990
              User._clickSignInLink( idpName = "${idpName}", localization = "${localization}", samlMultiIdPs = "${samlMultiIdPs}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 13
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 15
                if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                • 16
                  if (isSet(localization)) {
                  • 17
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                  }
                • 21
                  else if (IsElementPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 22
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                  • 26
                    if ("${samlMultiIdPs}" == "true") {
                    • 27
                      Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                    • 32
                      Button.click(button = "Sign In");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    }
                  }
                • 35
                  else if (IsElementPresent(key_text = "Sign In", locator1 = "Button#ANY")) {
                  • 36
                    Button.click(button = "Sign In");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  }
                }
            • 1995
              if ("${authenticationMethod}" == "By Screen Name") {
              • 1996
                Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
              }
            • 2000
              else if ("${authenticationMethod}" == "By User ID") {
              • 2001
                Type.typePause( key_text = "ID", locator1 = "TextInput#ANY", value1 = "${userID}");
              }
            • 2006
              else {
              • 2007
                Type.typePause( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              }
            • 2012
              Type.typePause( locator1 = "TextInput#PASSWORD", value1 = "${password}");
            • 2016
              if (isSet(rememberMeChecked) && ("${rememberMeChecked}" == "true")) {
              • 2017
                Check(locator1 = "Checkbox#REMEMBER_ME");
              }
            • 2020
              User._clickSignInButton(localization = "${localization}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "test@liferay.com";
              • 7
                var localizedSignIn = User._getSignInText(localization = "${localization}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 42
                  if ("${localization}" == "JA") {
                  • 43
                    var localizedSignIn = "ログイン";
                  }
                • 45
                  else if ("${localization}" == "ZH") {
                  • 46
                    var localizedSignIn = "登录";
                  }
                • 48
                  else if ("${localization}" == "IT") {
                  • 49
                    var localizedSignIn = "Accedi";
                  }
                • 51
                  else if ("${localization}" == "ES") {
                  • 52
                    var localizedSignIn = "Acceder";
                  }
                • 54
                  else {
                  • 55
                    var localizedSignIn = "Sign In";
                  }
                • 58
                  return "${localizedSignIn}";
              • 9
                Button.click(button = "${localizedSignIn}");
                • 4
                  Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
            • 2022
              if (isSet(localizedAgree)) {
              • 2023
                User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 78
                  var key_localizedAgree = "${localizedAgree}";
                • 80
                  if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                  • 81
                    AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                  • 85
                    AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                  }
              }
            • 2025
              else if (IsElementPresent(locator1 = "Button#I_AGREE")) {
              • 2026
                SignIn.agreeToTermsOfUse();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 24
                  AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                • 28
                  AssertElementNotPresent(locator1 = "Button#I_AGREE");
              }
            • 2029
              if (isSet(localizedAnswer)) {
              • 2030
                User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "test@liferay.com";
                • 758
                  Pause(locator1 = "3000");
                • 760
                  var key_localizedAnswer = "${localizedAnswer}";
                • 762
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                  • 763
                    Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                  • 767
                    Button.click(button = "${localizedSaveButton}");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 769
                    Button.viewNotPresent(button = "${localizedSaveButton}");
                    • 138
                      AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                  }
              }
            • 2034
              else if (IsElementPresent(locator1 = "Select#QUESTION")) {
              • 2035
                SignIn.setPasswordReminder();
                • 3
                  var userEmailAddress = "test@liferay.com";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 33
                  Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                • 37
                  Button.clickSave();
                  • 98
                    Button.click(button = "Save");
                    • 4
                      Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                  • 100
                    WaitForLiferayEvent.initializeLiferayEventLog();
              }
            • 2038
              WaitForLiferayEvent.initializeLiferayEventLog();
          }
        • 1976
          else {
          • 1977
            WaitForLiferayEvent.initializeLiferayEventLog();
          }
      }
    • 5217
      test PreventDeletionOneToManyWillAllowDelete {
      • 5215
        @description = "LPS-135401 - Verify if Prevent deletion type of Relationship One to Many will allow the user to delete an entry with relation from the child Object"
      • 5218
        for (var letter : list "A,B") {
        • 5219
          ObjectAdmin.addObjectViaAPI( labelName = "Custom Object ${letter}", objectName = "CustomObject${letter}", pluralLabelName = "Custom Objects ${letter}");
          • 211
            JSONObject.addObject( labelName = "${labelName}", objectName = "${objectName}", panelCategoryKey = "${panelCategoryKey}", pluralLabelName = "${pluralLabelName}", scope = "${scope}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 5
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 7
              if (!(isSet(userEmailAddress))) {
              • 8
                var userEmailAddress = "test@liferay.com";
              }
            • 11
              if (!(isSet(userPassword))) {
              • 12
                var userPassword = "test";
              }
            • 15
              if (!(isSet(panelCategoryKey))) {
              • 16
                var panelCategoryKey = "control_panel.object";
              }
            • 19
              if (!(isSet(scope))) {
              • 20
                var scope = "company";
              }
            • 23
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} \ -d '{ "label": { "en_US": "${labelName}" }, "name": "${objectName}", "objectFields": [], "panelCategoryKey": "${panelCategoryKey}", "pluralLabel": { "en_US": "${pluralLabelName}" }, "scope": "${scope}" }' ''';
            • 41
              JSONCurlUtil.post("${curl}");
        }
      • 5225
        for (var letter : list "A,B") {
        • 5226
          ObjectAdmin.addObjectFieldViaAPI( fieldLabelName = "Custom Field ${letter}", fieldName = "customObjectField${letter}", fieldType = "String", isRequired = "false", objectName = "CustomObject${letter}");
          • 62
            JSONObject.addObjectField( fieldLabelName = "${fieldLabelName}", fieldName = "${fieldName}", fieldType = "${fieldType}", indexed = "${indexed}", indexedAsKeyword = "${indexedAsKeyword}", isRequired = "${isRequired}", objectName = "${objectName}", picklistName = "${picklistName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 46
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 48
              var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
              • 447
                var portalURL = JSONCompany.getPortalURL();
                • 66
                  var portalURL = PropsUtil.get("portal.url");
                • 68
                  return "${portalURL}";
              • 449
                if (!(isSet(userEmailAddress))) {
                • 450
                  var userEmailAddress = "test@liferay.com";
                }
              • 453
                if (!(isSet(userPassword))) {
                • 454
                  var userPassword = "test";
                }
              • 457
                var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
              • 461
                var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
              • 463
                return "${objectId}";
            • 53
              if (!(isSet(userEmailAddress))) {
              • 54
                var userEmailAddress = "test@liferay.com";
              }
            • 57
              if (!(isSet(userPassword))) {
              • 58
                var userPassword = "test";
              }
            • 61
              if (!(isSet(picklistName))) {
              • 62
                var picklistId = "0";
              }
            • 64
              else {
              • 65
                var picklistId = JSONObject.getPicklistId( picklistName = "${picklistName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
                • 467
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                • 469
                  if (!(isSet(userEmailAddress))) {
                  • 470
                    var userEmailAddress = "test@liferay.com";
                  }
                • 473
                  if (!(isSet(userPassword))) {
                  • 474
                    var userPassword = "test";
                  }
                • 477
                  var curl = ''' ${portalURL}/o/headless-admin-list-type/v1.0/list-type-definitions \ -u ${userEmailAddress}:${userPassword} ''';
                • 481
                  var picklistId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${picklistName}')]['id']");
                • 483
                  return "${picklistId}";
              }
            • 71
              if (!(isSet(indexed))) {
              • 72
                var indexed = "true";
              }
            • 75
              if (!(isSet(indexedAsKeyword))) {
              • 76
                var indexedAsKeyword = "true";
              }
            • 79
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectID}/object-fields \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} \ -d '{ "indexed": ${indexed}, "indexedAsKeyword": ${indexedAsKeyword}, "label": { "en_US": "${fieldLabelName}" }, "listTypeDefinitionId": ${picklistId}, "name": "${fieldName}", "required": ${isRequired}, "type": "${fieldType}" }' ''';
            • 96
              JSONCurlUtil.post("${curl}");
        }
      • 5234
        ObjectAdmin.addObjectRelationshipViaAPI( objectName_1 = "CustomObjectA", objectName_2 = "CustomObjectB", relationshipLabel = "Relationship", relationshipName = "relationship", relationshipType = "oneToMany");
        • 140
          JSONObject.addObjectRelationship( deletionType = "${deletionType}", objectName_1 = "${objectName_1}", objectName_2 = "${objectName_2}", relationshipLabel = "${relationshipLabel}", relationshipName = "${relationshipName}", relationshipType = "${relationshipType}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 134
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 136
            var objectID_1 = JSONObject.getObjectId( objectName = "${objectName_1}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 447
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 449
              if (!(isSet(userEmailAddress))) {
              • 450
                var userEmailAddress = "test@liferay.com";
              }
            • 453
              if (!(isSet(userPassword))) {
              • 454
                var userPassword = "test";
              }
            • 457
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 461
              var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
            • 463
              return "${objectId}";
          • 141
            var objectID_2 = JSONObject.getObjectId( objectName = "${objectName_2}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 447
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 449
              if (!(isSet(userEmailAddress))) {
              • 450
                var userEmailAddress = "test@liferay.com";
              }
            • 453
              if (!(isSet(userPassword))) {
              • 454
                var userPassword = "test";
              }
            • 457
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 461
              var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
            • 463
              return "${objectId}";
          • 146
            if (!(isSet(userEmailAddress))) {
            • 147
              var userEmailAddress = "test@liferay.com";
            }
          • 150
            if (!(isSet(userPassword))) {
            • 151
              var userPassword = "test";
            }
          • 154
            if (!(isSet(deletionType))) {
            • 155
              var deletionType = "prevent";
            }
          • 158
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectID_1}/object-relationships \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} \ -d '{ "deletionType": "${deletionType}", "label": { "en_US": "${relationshipLabel}" }, "name": "${relationshipName}", "objectDefinitionId1": ${objectID_1}, "objectDefinitionId2": ${objectID_2}, "objectDefinitionName2": "${objectName_2}", "type": "${relationshipType}" }' ''';
          • 175
            JSONCurlUtil.post("${curl}");
      • 5241
        ObjectAdmin.addObjectLayoutViaAPI( layoutName = "Layout Name", objectName = "CustomObjectA");
        • 106
          JSONObject.addObjectLayout( layoutName = "${layoutName}", objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 101
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 103
            var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 447
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 449
              if (!(isSet(userEmailAddress))) {
              • 450
                var userEmailAddress = "test@liferay.com";
              }
            • 453
              if (!(isSet(userPassword))) {
              • 454
                var userPassword = "test";
              }
            • 457
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 461
              var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
            • 463
              return "${objectId}";
          • 108
            if (!(isSet(userEmailAddress))) {
            • 109
              var userEmailAddress = "test@liferay.com";
            }
          • 112
            if (!(isSet(userPassword))) {
            • 113
              var userPassword = "test";
            }
          • 116
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectID}/object-layouts \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} \ -d '{ "defaultObjectLayout": false, "name": { "en_US": "${layoutName}" }, "objectDefinitionId": ${objectID} }' ''';
          • 129
            JSONCurlUtil.post("${curl}");
      • 5245
        ObjectAdmin.openObjectAdmin();
        • 648
          Navigator.openSpecificURL(url = "/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet");
          • 295
            Open(locator1 = "${url}");
          • 297
            Alert.confirmSecurity();
            • 16
              if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
              • 17
                Click(locator1 = "Button#ADVANCED");
              • 19
                AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
              • 23
                Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
              }
      • 5247
        ObjectPortlet.selectCustomObject(label = "Custom Object A");
        • 250
          Click( key_label = "${label}", locator1 = "ObjectPortlet#SELECT_CUSTOM_OBJECT");
      • 5249
        CreateObject.selectTitleField(fieldLabel = "Custom Field A");
        • 264
          Select( locator1 = "CreateObject#TITLE_FIELD", value1 = "${fieldLabel}");
      • 5251
        CreateObject.saveObject();
        • 236
          Click(locator1 = "CreateObject#SAVE_BUTTON");
        • 238
          WaitForSPARefresh();
      • 5253
        ObjectAdmin.goToLayoutsTab();
        • 606
          Click(locator1 = "ObjectAdmin#OBJECT_LAYOUTS_TAB");
      • 5255
        ObjectAdmin.selectKebabMenuOption(kebabOption = "View");
        • 675
          Click(locator1 = "ObjectAdmin#KEBAB_MENU");
        • 677
          Click( key_kebabOption = "${kebabOption}", locator1 = "ObjectAdmin#KEBAB_MENU_OPTION");
      • 5257
        ObjectAdmin.markLayoutAsDefault();
        • 628
          SelectFrame(locator1 = "IFrame#IFRAME");
        • 630
          Click(locator1 = "ObjectAdmin#LAYOUT_INFO_TAB");
        • 632
          Click.clickAtNotVisible(locator1 = "ObjectAdmin#ENTRY_BOOLEAN_CHECKBOX");
      • 5259
        ObjectAdmin.goToLayoutTabOnLayouts();
        • 610
          if (!(IsElementPresent(locator1 = "ObjectAdmin#LAYOUT_LAYOUT_TAB"))) {
          • 611
            SelectFrame(locator1 = "IFrame#IFRAME");
          }
        • 614
          Click(locator1 = "ObjectAdmin#LAYOUT_LAYOUT_TAB");
      • 5261
        ObjectAdmin.addTabFieldsOnLayout( blockName = "Block 1", columnsNumber = "1", fieldLabelName = "Custom Field A", tabName = "Field Tab");
        • 222
          LexiconEntry.gotoAdd();
          • 51
            WaitForPageLoad();
          • 53
            Click(locator1 = "Button#PLUS");
        • 224
          Click( key_type = "Fields", locator1 = "ObjectAdmin#TAB_TYPE");
        • 228
          Type( locator1 = "ObjectAdmin#TAB_LABEL_NAME", value1 = "${tabName}");
        • 232
          Click( key_tab = "Save", locator1 = "Button#TAB_SUBMIT_BTN");
        • 236
          if (isSet(blockName)) {
          • 237
            Click(locator1 = "ObjectAdmin#ADD_BLOCK_BUTTON");
          • 239
            Type( locator1 = "ObjectAdmin#TAB_LABEL_NAME", value1 = "${blockName}");
          • 243
            Click( key_tab = "Save", locator1 = "Button#TAB_SUBMIT_BTN");
          • 247
            if ("${isCollapsible}" == "Yes") {
            • 248
              Check.checkToggleSwitch(locator1 = "CreateObject#TOGGLE_COLLAPSIBLE");
            }
          • 251
            if (isSet(fieldList)) {
            • 252
              for (var fieldLabelName : list "${fieldList}") {
              • 253
                Click(locator1 = "ObjectAdmin#ADD_FIELD_ON_BLOCK");
              • 255
                Click(locator1 = "ObjectAdmin#LAYOUT_ENTRY_CHOOSE_OPTION");
              • 257
                Click( key_optionName = "${fieldLabelName}", locator1 = "ObjectAdmin#LAYOUT_ADD_FIELD_OPTION");
              • 261
                Click( key_columnsNumber = "${columnsNumber}", locator1 = "ObjectAdmin#LAYOUT_ADD_FIELD_COLUMN_NUMBER");
              • 265
                Click( key_tab = "Save", locator1 = "Button#TAB_SUBMIT_BTN");
              }
            }
          • 270
            else {
            • 271
              Click(locator1 = "ObjectAdmin#ADD_FIELD_ON_BLOCK");
            • 273
              Click(locator1 = "ObjectAdmin#LAYOUT_ENTRY_CHOOSE_OPTION");
            • 275
              Click( key_optionName = "${fieldLabelName}", locator1 = "ObjectAdmin#LAYOUT_ADD_FIELD_OPTION");
            • 279
              Click( key_columnsNumber = "${columnsNumber}", locator1 = "ObjectAdmin#LAYOUT_ADD_FIELD_COLUMN_NUMBER");
            • 283
              Click( key_tab = "Save", locator1 = "Button#TAB_SUBMIT_BTN");
            }
          }
      • 5267
        ObjectAdmin.addTabRelationshipsOnLayout( relationshipsLabelName = "Relationship", tabName = "Relationship Tab");
        • 291
          LexiconEntry.gotoAdd();
          • 51
            WaitForPageLoad();
          • 53
            Click(locator1 = "Button#PLUS");
        • 293
          Click( key_type = "Relationships", locator1 = "ObjectAdmin#TAB_TYPE");
        • 297
          Type( locator1 = "ObjectAdmin#TAB_LABEL_NAME", value1 = "${tabName}");
        • 301
          Click(locator1 = "ObjectAdmin#LAYOUT_ENTRY_CHOOSE_OPTION");
        • 303
          if (isSet(relationshipsLabelName)) {
          • 304
            Click( key_optionName = "${relationshipsLabelName}", locator1 = "ObjectAdmin#LAYOUT_ADD_FIELD_OPTION");
          }
        • 309
          Click( key_tab = "Save", locator1 = "Button#TAB_SUBMIT_BTN");
      • 5271
        Button.clickSave();
        • 98
          Button.click(button = "Save");
          • 4
            Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
        • 100
          WaitForLiferayEvent.initializeLiferayEventLog();
      • 5273
        Navigator.openURL();
        • 346
          WaitForSPARefresh();
        • 348
          var baseURL = "${baseURL}";
        • 350
          if (contains("${baseURL}", "{baseURL}")) {
          • 351
            var baseURL = PropsUtil.get("portal.url");
          }
        • 354
          Open(locator1 = "${baseURL}/web/guest/home");
      • 5275
        ObjectAdmin.openObjectAdmin();
        • 648
          Navigator.openSpecificURL(url = "/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet");
          • 295
            Open(locator1 = "${url}");
          • 297
            Alert.confirmSecurity();
            • 16
              if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
              • 17
                Click(locator1 = "Button#ADVANCED");
              • 19
                AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
              • 23
                Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
              }
      • 5277
        ObjectPortlet.selectCustomObject(label = "Custom Object B");
        • 250
          Click( key_label = "${label}", locator1 = "ObjectPortlet#SELECT_CUSTOM_OBJECT");
      • 5279
        CreateObject.selectTitleField(fieldLabel = "Custom Field B");
        • 264
          Select( locator1 = "CreateObject#TITLE_FIELD", value1 = "${fieldLabel}");
      • 5281
        CreateObject.saveObject();
        • 236
          Click(locator1 = "CreateObject#SAVE_BUTTON");
        • 238
          WaitForSPARefresh();
      • 5283
        ObjectAdmin.publishObjectViaAPI(objectName = "CustomObjectA");
        • 660
          JSONObject.publishObject( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 488
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 490
            var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 447
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 449
              if (!(isSet(userEmailAddress))) {
              • 450
                var userEmailAddress = "test@liferay.com";
              }
            • 453
              if (!(isSet(userPassword))) {
              • 454
                var userPassword = "test";
              }
            • 457
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 461
              var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
            • 463
              return "${objectId}";
          • 495
            if (!(isSet(userEmailAddress))) {
            • 496
              var userEmailAddress = "test@liferay.com";
            }
          • 499
            if (!(isSet(userPassword))) {
            • 500
              var userPassword = "test";
            }
          • 503
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectID}/publish \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} ''';
          • 509
            JSONCurlUtil.post("${curl}");
      • 5285
        ObjectAdmin.publishObjectViaAPI(objectName = "CustomObjectB");
        • 660
          JSONObject.publishObject( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 488
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 490
            var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 447
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 449
              if (!(isSet(userEmailAddress))) {
              • 450
                var userEmailAddress = "test@liferay.com";
              }
            • 453
              if (!(isSet(userPassword))) {
              • 454
                var userPassword = "test";
              }
            • 457
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 461
              var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
            • 463
              return "${objectId}";
          • 495
            if (!(isSet(userEmailAddress))) {
            • 496
              var userEmailAddress = "test@liferay.com";
            }
          • 499
            if (!(isSet(userPassword))) {
            • 500
              var userPassword = "test";
            }
          • 503
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectID}/publish \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} ''';
          • 509
            JSONCurlUtil.post("${curl}");
      • 5287
        for (var fieldEntry : list "A,B") {
        • 5288
          ObjectAdmin.addObjectSingleFieldEntryViaAPI( fieldName = "customObjectField${fieldEntry}", objectName = "CustomObject${fieldEntry}", value = "Entry ${fieldEntry}");
          • 182
            JSONObject.addObjectSingleFieldEntry( fieldName = "${fieldName}", objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}", value = "${value}");
            • 180
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 182
              if (!(isSet(userEmailAddress))) {
              • 183
                var userEmailAddress = "test@liferay.com";
              }
            • 186
              if (!(isSet(userPassword))) {
              • 187
                var userPassword = "test";
              }
            • 190
              var objectName = StringUtil.toLowerCase("${objectName}");
            • 192
              var curl = ''' ${portalURL}/o/c/${objectName}s \ -H 'Content-Type: application/json' \ -u ${userEmailAddress}:${userPassword} \ -d '{ "${fieldName}": "${value}" }' ''';
            • 201
              JSONCurlUtil.post("${curl}");
        }
      • 5294
        Navigator.openURL();
        • 346
          WaitForSPARefresh();
        • 348
          var baseURL = "${baseURL}";
        • 350
          if (contains("${baseURL}", "{baseURL}")) {
          • 351
            var baseURL = PropsUtil.get("portal.url");
          }
        • 354
          Open(locator1 = "${baseURL}/web/guest/home");
      • 5296
        ObjectAdmin.goToCustomObject(objectName = "CustomObjectB");
        • 581
          var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 447
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 449
            if (!(isSet(userEmailAddress))) {
            • 450
              var userEmailAddress = "test@liferay.com";
            }
          • 453
            if (!(isSet(userPassword))) {
            • 454
              var userPassword = "test";
            }
          • 457
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
          • 461
            var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
          • 463
            return "${objectId}";
        • 586
          Navigator.openSpecificURL(url = "/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_${objectID}");
          • 295
            Open(locator1 = "${url}");
          • 297
            Alert.confirmSecurity();
            • 16
              if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
              • 17
                Click(locator1 = "Button#ADVANCED");
              • 19
                AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
              • 23
                Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
              }
      • 5298
        ObjectPortlet.viewEntryDetails(entry = "Entry B");
        • 303
          var key_entry = "${entry}";
        • 305
          if (IsElementPresent(locator1 = "ObjectPortlet#ENTRY_KEBAB_MENU")) {
          • 306
            Click(locator1 = "ObjectPortlet#ENTRY_KEBAB_MENU");
          • 308
            Click(locator1 = "ObjectPortlet#VIEW_ENTRY_BUTTON");
          }
        • 310
          else {
          • 311
            Click(locator1 = "ObjectPortlet#VIEW_ENTRY_EYE_BUTTON");
          }
        • 314
          WaitForPageLoad();
      • 5300
        CreateObject.chooseEntryOnRelationshipField(entryOption = "Entry A");
        • 186
          Click(locator1 = "ObjectPortlet#SEARCH_RELATIONSHIP_ENTRY");
        • 188
          KeyPress( locator1 = "ObjectPortlet#SEARCH_RELATIONSHIP_ENTRY", value1 = "\BACK_SPACE");
        • 192
          Click( key_picklistOption = "${entryOption}", locator1 = "ObjectAdmin#ENTRY_PICKLIST_OPTION");
      • 5302
        Button.clickSave();
        • 98
          Button.click(button = "Save");
          • 4
            Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
        • 100
          WaitForLiferayEvent.initializeLiferayEventLog();
      • 5304
        Navigator.openURL();
        • 346
          WaitForSPARefresh();
        • 348
          var baseURL = "${baseURL}";
        • 350
          if (contains("${baseURL}", "{baseURL}")) {
          • 351
            var baseURL = PropsUtil.get("portal.url");
          }
        • 354
          Open(locator1 = "${baseURL}/web/guest/home");
      • 5306
        ObjectAdmin.goToCustomObject(objectName = "CustomObjectB");
        • 581
          var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 447
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 449
            if (!(isSet(userEmailAddress))) {
            • 450
              var userEmailAddress = "test@liferay.com";
            }
          • 453
            if (!(isSet(userPassword))) {
            • 454
              var userPassword = "test";
            }
          • 457
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
          • 461
            var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
          • 463
            return "${objectId}";
        • 586
          Navigator.openSpecificURL(url = "/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_${objectID}");
          • 295
            Open(locator1 = "${url}");
          • 297
            Alert.confirmSecurity();
            • 16
              if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
              • 17
                Click(locator1 = "Button#ADVANCED");
              • 19
                AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
              • 23
                Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
              }
      • 5308
        ObjectPortlet.deleteEntry(entry = "Entry B");
        • 200
          Click( key_entry = "${entry}", locator1 = "ObjectPortlet#ENTRY_KEBAB_MENU");
        • 204
          ClickNoError(locator1 = "ObjectPortlet#DELETE_ENTRY_BUTTON");
        • 206
          AssertConfirm(value1 = "Are you sure you want to delete this entry?");
      • 5310
        ObjectPortlet.assertEntryNotPresent(entry = "Entry B");
        • 62
          AssertElementNotPresent( key_entry = "${entry}", locator1 = "ObjectPortlet#ENTRY_VALUE");
      • 5312
        ObjectAdmin.goToCustomObject(objectName = "CustomObjectA");
        • 581
          var objectID = JSONObject.getObjectId( objectName = "${objectName}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
          • 447
            var portalURL = JSONCompany.getPortalURL();
            • 66
              var portalURL = PropsUtil.get("portal.url");
            • 68
              return "${portalURL}";
          • 449
            if (!(isSet(userEmailAddress))) {
            • 450
              var userEmailAddress = "test@liferay.com";
            }
          • 453
            if (!(isSet(userPassword))) {
            • 454
              var userPassword = "test";
            }
          • 457
            var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
          • 461
            var objectId = JSONCurlUtil.get("${curl}", "$.items[?(@['name'] == '${objectName}')]['id']");
          • 463
            return "${objectId}";
        • 586
          Navigator.openSpecificURL(url = "/group/guest/~/control_panel/manage?p_p_id=com_liferay_object_web_internal_object_definitions_portlet_ObjectDefinitionsPortlet_${objectID}");
          • 295
            Open(locator1 = "${url}");
          • 297
            Alert.confirmSecurity();
            • 16
              if (IsElementPresent(key_title = "Your connection is not private", locator1 = "Header#H1_TITLE")) {
              • 17
                Click(locator1 = "Button#ADVANCED");
              • 19
                AssertElementPresent( key_text = "Proceed to localhost", locator1 = "Link#ANY");
              • 23
                Click( key_text = "Proceed to localhost (unsafe)", locator1 = "Link#ANY");
              }
      • 5314
        ObjectPortlet.viewEntryDetails(entry = "Entry A");
        • 303
          var key_entry = "${entry}";
        • 305
          if (IsElementPresent(locator1 = "ObjectPortlet#ENTRY_KEBAB_MENU")) {
          • 306
            Click(locator1 = "ObjectPortlet#ENTRY_KEBAB_MENU");
          • 308
            Click(locator1 = "ObjectPortlet#VIEW_ENTRY_BUTTON");
          }
        • 310
          else {
          • 311
            Click(locator1 = "ObjectPortlet#VIEW_ENTRY_EYE_BUTTON");
          }
        • 314
          WaitForPageLoad();
      • 5316
        ObjectPortlet.gotoRelationshipTab();
        • 214
          Click( key_tabName = "Relationship Tab", locator1 = "ObjectAdmin#ENTRY_RELATIONSHIP_TAB");
      • 5318
        ObjectPortlet.assertEntryNotPresent(entry = "Entry B");
        • 62
          AssertElementNotPresent( key_entry = "${entry}", locator1 = "ObjectPortlet#ENTRY_VALUE");
      }
    • 14
      tearDown {
      • 15
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 17
        if ("${testPortalInstance}" == "true") {
        • 18
          PortalInstances.tearDownCP();
          • 102
            JSONUser.tearDownNonAdminUsers(authenticationMethod = "${authenticationMethod}");
            • 265
              var userIds = JSONUserAPI._getUserIds(authenticationMethod = "${authenticationMethod}");
              • 274
                var companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
                • 4
                  if (!(isSet(portalInstanceName))) {
                  • 5
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 50
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 51
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 53
                      if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                      • 54
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      • 56
                        var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                        • 72
                          Variables.assertDefined(parameterList = "${portalURL}");
                          • 5
                            if (contains("${parameterList}", "{parameterList}")) {
                            • 6
                              fail("Please define a parameter list in 'parameterList'");
                            }
                          • 9
                            for (var parameter : list "${parameterList}") {
                            • 13
                              var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                            • 17
                              if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                              • 18
                                fail("Please set '${parameter}'");
                              }
                            }
                        • 74
                          var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                        • 75
                          var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                        • 77
                          return "${portalInstanceName}";
                      • 58
                        return "${portalInstanceName}";
                      }
                    • 60
                      else {
                      • 61
                        return "localhost";
                      }
                  }
                • 8
                  if (!(isSet(portalURL))) {
                  • 9
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  }
                • 12
                  if (!(isSet(creatorEmailAddress))) {
                  • 13
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 14
                      if (!(isSet(userScreenName))) {
                      • 15
                        var creatorEmailAddress = "test";
                      }
                    • 17
                      else {
                      • 18
                        var creatorEmailAddress = "${userScreenName}";
                      }
                    }
                  • 21
                    else {
                    • 22
                      var creatorEmailAddress = "test@liferay.com";
                    }
                  }
                • 26
                  if (!(isSet(creatorPassword))) {
                  • 27
                    var creatorPassword = "test";
                  }
                • 30
                  var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                • 34
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 36
                  return "${companyId}";
              • 276
                if (isSet(specificURL)) {
                • 277
                  var portalURL = "${specificURL}";
                }
              • 279
                else {
                • 280
                  var portalURL = JSONCompany.getPortalURL();
                  • 66
                    var portalURL = PropsUtil.get("portal.url");
                  • 68
                    return "${portalURL}";
                }
              • 283
                if ("${authenticationMethod}" == "By Screen Name") {
                • 284
                  var userName = "test";
                }
              • 286
                else {
                • 287
                  var userName = "test@liferay.com";
                }
              • 290
                var curl = ''' ${portalURL}/api/jsonws/user/get-company-users \ -u ${userName}:test \ -d companyId=${companyId} \ -d \ -d ''';
              • 297
                var userIds = JSONCurlUtil.post("${curl}", "$..['userId']");
              • 299
                return "${userIds}";
            • 267
              for (var userId : list "${userIds}") {
              • 268
                var currentEmailAddress = JSONUserGetter.getEmailAddress( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                • 26
                  Variables.assertDefined(parameterList = "${userId}");
                  • 5
                    if (contains("${parameterList}", "{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                    • 17
                      if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 28
                  var curl = JSONUserGetter._getUserByIdCurl( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                  • 4
                    Variables.assertDefined(parameterList = "${userId}");
                    • 5
                      if (contains("${parameterList}", "{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 6
                    var companyId = JSONCompany.getCompanyId(authenticationMethod = "${authenticationMethod}");
                    • 4
                      if (!(isSet(portalInstanceName))) {
                      • 5
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 50
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 51
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 53
                          if (("${testPortalInstance}" == "true") && !(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}"))) {
                          • 54
                            var portalURL = JSONCompany.getPortalURL();
                            • 66
                              var portalURL = PropsUtil.get("portal.url");
                            • 68
                              return "${portalURL}";
                          • 56
                            var portalInstanceName = JSONCompany.parsePortalInstanceURL(portalURL = "${portalURL}");
                            • 72
                              Variables.assertDefined(parameterList = "${portalURL}");
                              • 5
                                if (contains("${parameterList}", "{parameterList}")) {
                                • 6
                                  fail("Please define a parameter list in 'parameterList'");
                                }
                              • 9
                                for (var parameter : list "${parameterList}") {
                                • 13
                                  var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                                • 17
                                  if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                                  • 18
                                    fail("Please set '${parameter}'");
                                  }
                                }
                            • 74
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 75
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 77
                              return "${portalInstanceName}";
                          • 58
                            return "${portalInstanceName}";
                          }
                        • 60
                          else {
                          • 61
                            return "localhost";
                          }
                      }
                    • 8
                      if (!(isSet(portalURL))) {
                      • 9
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      }
                    • 12
                      if (!(isSet(creatorEmailAddress))) {
                      • 13
                        if ("${authenticationMethod}" == "By Screen Name") {
                        • 14
                          if (!(isSet(userScreenName))) {
                          • 15
                            var creatorEmailAddress = "test";
                          }
                        • 17
                          else {
                          • 18
                            var creatorEmailAddress = "${userScreenName}";
                          }
                        }
                      • 21
                        else {
                        • 22
                          var creatorEmailAddress = "test@liferay.com";
                        }
                      }
                    • 26
                      if (!(isSet(creatorPassword))) {
                      • 27
                        var creatorPassword = "test";
                      }
                    • 30
                      var curl = ''' ${portalURL}/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u ${creatorEmailAddress}:${creatorPassword} ''';
                    • 34
                      var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                    • 36
                      return "${companyId}";
                  • 8
                    var portalURL = JSONCompany.getPortalURL();
                    • 66
                      var portalURL = PropsUtil.get("portal.url");
                    • 68
                      return "${portalURL}";
                  • 10
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 11
                      var userName = "test";
                    }
                  • 13
                    else {
                    • 14
                      var userName = "test@liferay.com";
                    }
                  • 17
                    var curl = ''' ${portalURL}/api/jsonws/user/get-user-by-id/user-id/${userId} \ -u ${userName}:test \ ''';
                  • 22
                    return "${curl}";
                • 32
                  var userEmailAddress = JSONCurlUtil.get("${curl}", "$['emailAddress']");
                • 34
                  return "${userEmailAddress}";
              • 272
                if ("${currentEmailAddress}" != "test@liferay.com") {
                • 273
                  JSONUser.deleteUserByUserId( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                  • 205
                    Variables.assertDefined(parameterList = "${userId}");
                    • 5
                      if (contains("${parameterList}", "{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 207
                    JSONUserAPI._deleteUser( authenticationMethod = "${authenticationMethod}", userId = "${userId}");
                    • 139
                      Variables.assertDefined(parameterList = "${userId}");
                      • 5
                        if (contains("${parameterList}", "{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                        • 17
                          if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 141
                      if (isSet(specificURL)) {
                      • 142
                        var portalURL = "${specificURL}";
                      }
                    • 144
                      else {
                      • 145
                        var portalURL = JSONCompany.getPortalURL();
                        • 66
                          var portalURL = PropsUtil.get("portal.url");
                        • 68
                          return "${portalURL}";
                      }
                    • 148
                      if ("${authenticationMethod}" == "By Screen Name") {
                      • 149
                        var userName = "test";
                      }
                    • 151
                      else {
                      • 152
                        var userName = "test@liferay.com";
                      }
                    • 155
                      var curl = ''' ${portalURL}/api/jsonws/user/delete-user \ -u ${userName}:test \ -d userId=${userId} ''';
                    • 161
                      com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
                }
              }
          • 104
            HeadlessPortalInstanceAPI.cleanAllPortalInstances(authenticationMethod = "${authenticationMethod}");
            • 107
              var portalInstanceJSON = HeadlessPortalInstanceAPI._getPortalInstances(authenticationMethod = "${authenticationMethod}");
              • 5
                var portalURL = JSONCompany.getDefaultPortalURL();
                • 40
                  var portalURL = PropsUtil.get("default.portal.url");
                • 42
                  if (!(contains("${portalURL}", "http"))) {
                  • 43
                    var portalURL = "http://${portalURL}";
                  }
                • 46
                  return "${portalURL}";
              • 7
                if ("${authenticationMethod}" == "By Screen Name") {
                • 8
                  var userName = "test";
                }
              • 10
                else {
                • 11
                  var userName = "test@liferay.com";
                }
              • 14
                var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances \ -u ${userName}:test \ -H Content-Type: application/json ''';
              • 19
                var JSON = JSONCurlUtil.get("${curl}");
              • 21
                return "${JSON}";
            • 109
              var portalInstanceIds = JSONUtil.getWithJSONPath("${portalInstanceJSON}", "$.items..portalInstanceId");
            • 111
              for (var portalInstanceId : list "${portalInstanceIds}") {
              • 112
                if ("${portalInstanceId}" != "liferay.com") {
                • 113
                  HeadlessPortalInstanceAPI.deletePortalInstance( authenticationMethod = "${authenticationMethod}", portalInstanceId = "${portalInstanceId}");
                  • 122
                    Variables.assertDefined(parameterList = "${portalInstanceId}");
                    • 5
                      if (contains("${parameterList}", "{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var undefined = StringUtil.matches("${parameter}", "\$\{[^\$\{\s]*\}");
                      • 17
                        if (("${undefined}" == "true") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 124
                    var portalURL = JSONCompany.getDefaultPortalURL();
                    • 40
                      var portalURL = PropsUtil.get("default.portal.url");
                    • 42
                      if (!(contains("${portalURL}", "http"))) {
                      • 43
                        var portalURL = "http://${portalURL}";
                      }
                    • 46
                      return "${portalURL}";
                  • 126
                    var portalInstanceId = StringUtil.replace("${portalInstanceId}", " ", "%20");
                  • 128
                    if ("${authenticationMethod}" == "By Screen Name") {
                    • 129
                      var userName = "test";
                    }
                  • 131
                    else {
                    • 132
                      var userName = "test@liferay.com";
                    }
                  • 135
                    var curl = ''' ${portalURL}/o/headless-portal-instances/v1.0/portal-instances/${portalInstanceId} \ -u ${userName}:test \ -H Content-Type: application/json ''';
                  • 141
                    JSONCurlUtil.delete("${curl}");
                }
              }
        }
      • 20
        else {
        • 21
          ObjectAdmin.deleteAllCustomObjectsViaAPI();
          • 537
            JSONObject.deleteAllCustomObjects( userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
            • 266
              var portalURL = JSONCompany.getPortalURL();
              • 66
                var portalURL = PropsUtil.get("portal.url");
              • 68
                return "${portalURL}";
            • 268
              if (!(isSet(userEmailAddress))) {
              • 269
                var userEmailAddress = "test@liferay.com";
              }
            • 272
              if (!(isSet(userPassword))) {
              • 273
                var userPassword = "test";
              }
            • 276
              var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions \ -u ${userEmailAddress}:${userPassword} ''';
            • 280
              var objectIdList = JSONCurlUtil.get("${curl}", "$.items[?(@['system'] == false)]['id']");
            • 282
              if ("${objectIdList}" != "") {
              • 283
                for (var objectId : list "${objectIdList}") {
                • 284
                  var curl = ''' ${portalURL}/o/object-admin/v1.0/object-definitions/${objectId} \ -u ${userEmailAddress}:${userPassword} ''';
                • 289
                  JSONCurlUtil.delete("${curl}");
                }
              }
        }
      }