LocalFile.OpenGraphPreview#set-up
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors

    Cause:

    LIFERAY_ERROR: Table 'lportal.release_' doesn't exist

    Steps:

    • Set up instance and sign in --> WARNING
      • WaitForSPARefresh#waitForSPARefresh --> WARNING
    before0Before
    after0After
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
    • Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
  • Running WaitForSPARefresh
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters
    • Running assertLiferayErrors
  • Running Open with locator1http://localhost:8080/web/guest/home
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/web/guest/home
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'portal-message') and contains(@class,'alert-info')]
  • Running AssertClick with locator1//span[contains(@class,'sign-in')]/a/span with value1Sign In
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Sign In
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Sign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running waitForTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertTextCaseInsensitive with parameters//span[contains(@class,'sign-in')]/a/spanSign In
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
    • Running mouseOver with parameters//span[contains(@class,'sign-in')]/a/span
    • Running clickAt with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
    • Running assertLiferayErrors
  • Running Type with locator1//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text'] with value1[email protected]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')][email protected]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')][email protected]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text'][email protected]
    • Running waitForEditable with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running mouseOver with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running clickAt with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running pause with parameters1000
    • Running type with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text'][email protected]
    • Running pause with parameters1000
    • Running clickAt with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Email Address')]]/input[@type='text'] | //div[label[contains(.,'Dirección de correo')]]/input[@type='text'] | //div[label[contains(.,'メールアドレス')]]/input[@type='text'] | //div[label[contains(.,'邮箱地址')]]/input[@type='text'] | //div[contains(.,'E-Mail-Adresse')]/input[@type='text']
    • Running assertLiferayErrors
  • Running Type with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password'] with value1test
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]test
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]test
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']test
    • Running waitForEditable with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running mouseOver with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running clickAt with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running pause with parameters1000
    • Running type with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']test
    • Running pause with parameters1000
    • Running clickAt with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-item')] | //div[contains(@class,'has-error')]//div[contains(@class,'form-feedback-indicator')]
  • Running AssertElementNotPresent with locator1//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertElementNotPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Sign In']
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//button[contains(.,'I Agree')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//button[contains(.,'I Agree')]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//button[contains(.,'I Agree')]
  • Running IsElementPresent#pauseIsElementPresent with locator1//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//div[label[contains(.,'Password')]]/input | //div[label[contains(.,'Contraseña')]]/input | //div[label[contains(.,'パスワード')]]/input | //div[label[contains(.,'密码')]]/input | //div[contains(.,'Kennwort')]//input[@type='password']
  • Running Pause with locator13000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters3000
    • Running assertLiferayErrors
    • Running pause with parameters3000
  • Running IsElementPresent#pauseIsElementPresent with locator1//input[contains(@id,'reminderQueryAnswer')]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//input[contains(@id,'reminderQueryAnswer')]
    • Running assertLiferayErrors
    • Running pause with parameters1000
    • Running isElementPresent with parameters//input[contains(@id,'reminderQueryAnswer')]
  • Running AssertElementPresent with locator1//span[@class='user-avatar-link']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//span[@class='user-avatar-link']
    • Running assertElementPresent with parameters//span[@class='user-avatar-link']
    • Running assertJavaScriptErrors with parameters//span[@class='user-avatar-link']
    • Running assertLiferayErrors
  • Running post with parametersArg: ${curl}Return: {"active":true,"classNameId":"20008","classPK":"39487","companyId":"20095","creatorUserId":"20124","description":"","descriptionCurrentValue":"","descriptiveName":"Test Site Name","friendlyURL":"\/test-site-name","groupId":"39487","groupKey":"Test Site Name","inheritContent":false,"liveGroupId":"0","manualMembership":true,"membershipRestriction":0,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Test Site Name<\/Name><\/root>","nameCurrentValue":"Test Site Name","parentGroupId":"0","remoteStagingGroupCount":0,"site":true,"treePath":"\/39487\/","type":1,"uuid":"29ef1b8c-e519-2d8d-c005-52aae44da59e"}Finished executing commands.
  • LocalFile.OpenGraphPreview#ValidateLongInputs
  • This test ensures that ellipses are shown in the preview when the text limit is reached.
  • Running post with parametersArg: ${curl}Return: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20095","createDate":1574845909842,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/long-test-page-name-to-check-the-url","groupId":"39487","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"1","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1574845909842,"mvccVersion":"0","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Long Test Page Name To Check The URL<\/Name><\/root>","nameCurrentValue":"Long Test Page Name To Check The URL","parentLayoutId":"0","parentPlid":"0","plid":"28","priority":0,"privateLayout":false,"publishDate":1574845909842,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","system":false,"themeId":"","title":"","titleCurrentValue":"","type":"portlet","typeSettings":"layout-template-id=2_columns_ii\n","userId":"20124","userName":"Test Test","uuid":"8d7a8e34-94ee-437b-17f2-d39f1a456364"}Finished executing commands.
  • Running Open with locator1http://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertLiferayErrors
    • Running selectWindow with parameters
    • Running selectFrame with parametersrelative=top
    • Running open with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet
    • Running assertLiferayErrors
  • Running AssertVisible with locator1//div[@class='portlet-body']/form/div
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[@class='portlet-body']/form/div
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[@class='portlet-body']/form/div
    • Running assertVisible with parameters//div[@class='portlet-body']/form/div
    • Running assertJavaScriptErrors with parameters//div[@class='portlet-body']/form/div
    • Running assertLiferayErrors
  • Running Pause with locator11000
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters1000
    • Running assertLiferayErrors
    • Running pause with parameters1000
  • Running Click with locator1//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running mouseOver with parameters//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running click with parameters//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertJavaScriptErrors with parameters//li[contains(.,'Test Page Name')]//*[*[name()='svg'][contains(@class,'ellipsis-v')]]
    • Running assertLiferayErrors
  • Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running assertLiferayErrors
    • Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Configure']
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Open Graph'] with value1Open Graph
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Open Graph
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Open Graph
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
  • Running IsNotChecked with locator1//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running waitForVisible with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running isNotChecked with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
  • Running Click with locator1//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running mouseOver with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running click with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Title')]/input[@type='checkbox']
    • Running assertLiferayErrors
  • Running Type with locator1//div[input[contains(@id,'openGraphTitle')]]//input[@type='text'] with value1Liferay Portal provides an excellent platform for building web applications
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications
    • Running assertJavaScriptErrors with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']Liferay Portal provides an excellent platform for building web applications
    • Running waitForEditable with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running mouseOver with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running clickAt with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running pause with parameters1000
    • Running type with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']Liferay Portal provides an excellent platform for building web applications
    • Running pause with parameters1000
    • Running clickAt with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//div[input[contains(@id,'openGraphTitle')]]//input[@type='text']
    • Running assertLiferayErrors
  • Running IsNotChecked with locator1//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running waitForVisible with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running isNotChecked with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
  • Running Click with locator1//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running mouseOver with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running click with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running assertJavaScriptErrors with parameters//label[contains(.,'Use Custom Description')]/input[@type='checkbox']
    • Running assertLiferayErrors
  • Running Type with locator1//textarea[contains(@name,'openGraphDescription')] with value1Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications
    • Running assertJavaScriptErrors with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//textarea[contains(@name,'openGraphDescription')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications
    • Running waitForEditable with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running mouseOver with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running clickAt with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running pause with parameters1000
    • Running type with parameters//textarea[contains(@name,'openGraphDescription')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications
    • Running pause with parameters1000
    • Running clickAt with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running pause with parameters1000
    • Running assertJavaScriptErrors with parameters//textarea[contains(@name,'openGraphDescription')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-title text-truncate')] with value1Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-url text-truncate')] with value1HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-description')] with value1Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running Click with locator1//*[@data-qa-id='productMenu']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='productMenu']
    • Running mouseOver with parameters//*[@data-qa-id='productMenu']
    • Running click with parameters//*[@data-qa-id='productMenu']
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='productMenu']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
  • Running SikuliAssertElementPresent with locator1portal/screenshots/page/preview_title_ellipses_og.png
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertLiferayErrors
    • Running sikuliAssertElementPresent with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertLiferayErrors
  • Running SikuliAssertElementPresent with locator1portal/screenshots/page/preview_url_ellipses_og.png
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertLiferayErrors
    • Running sikuliAssertElementPresent with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertLiferayErrors
  • Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='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//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Save']
    • Running assertLiferayErrors
  • Running Click with locator1//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running mouseOver with parameters//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running click with parameters//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running assertJavaScriptErrors with parameters//*[@data-qa-id='controlMenu']//a[span/*[name()='svg'][contains(@class,'icon-cog')]]
    • Running assertLiferayErrors
  • Running AssertClick#assertPartialTextClickAt with locator1//*[contains(@class,'nav-link') and normalize-space()='Open Graph'] with value1Open Graph
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Open Graph
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Open Graph
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running waitForPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running assertPartialTextCaseInsensitive with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']Open Graph
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running mouseOver with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running clickAt with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
  • Running AssertElementPresent with locator1//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertElementPresent with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertJavaScriptErrors with parameters//*[contains(@class,'nav-link') and contains(@class,'active') and normalize-space()='Open Graph']
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-title text-truncate')] with value1Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-title text-truncate')]Liferay Portal provides an excellent platform for building web applications - Test Site Name - Liferay DXP
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-title text-truncate')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-url text-truncate')] with value1HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-url text-truncate')]HTTP://LOCALHOST:8080/WEB/TEST-SITE-NAME/LONG-TEST-PAGE-NAME-TO-CHECK-THE-URL
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-url text-truncate')]
    • Running assertLiferayErrors
  • Running AssertTextEquals with locator1//div[contains(@class,'preview-seo-description')] with value1Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
    • Running waitForVisible with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running waitForTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertTextCaseInsensitive with parameters//div[contains(@class,'preview-seo-description')]Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…
    • Running assertJavaScriptErrors with parameters//div[contains(@class,'preview-seo-description')]
    • Running assertLiferayErrors
  • Running IsElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
    • Running assertLiferayErrors
    • Running isElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'open') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'closed'))]
  • Running AssertElementPresent with locator1//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
    • Running waitForElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertElementPresent with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertJavaScriptErrors with parameters//div[contains(@id,'sidenavSliderId') and contains(@class,'closed') and not(contains(@class,'sidenav-transition')) and not(contains(@class,'open'))]
    • Running assertLiferayErrors
  • Running SikuliAssertElementPresent with locator1portal/screenshots/page/preview_title_ellipses_og.png
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertLiferayErrors
    • Running sikuliAssertElementPresent with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_title_ellipses_og.png
    • Running assertLiferayErrors
  • Running SikuliAssertElementPresent with locator1portal/screenshots/page/preview_url_ellipses_og.png
    • Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
    • Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertLiferayErrors
    • Running sikuliAssertElementPresent with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertJavaScriptErrors with parametersportal/screenshots/page/preview_url_ellipses_og.png
    • Running assertLiferayErrors
  • LocalFile.OpenGraphPreview#ValidateLongInputs

    • 8
      setUp {
      • 9
        task ("Set up instance and sign in") {
        • 10
          TestCase.setUpPortalInstance();
          • 78
            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
          • 79
            var testPortalInstance = PropsUtil.get("test.portal.instance");
          • 81
            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
            • 82
              SignIn.signInPortalInstanceSetUp();
              • 3
                var userEmailAddress = "[email protected]";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 62
                SignIn.signInSpecificURL(url = "http://localhost:8080/");
                • 3
                  var userEmailAddress = "[email protected]";
                • 4
                  var userPassword = "test";
                • 5
                  var userPasswordReminderAnswer = "test";
                • 117
                  Navigator.openSpecificURL(url = "${url}");
                  • 262
                    Open(locator1 = "${url}");
                • 119
                  SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
                  • 3
                    var userEmailAddress = "[email protected]";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 8
                    if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                    • 9
                      AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                    }
                  • 14
                    Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  • 18
                    Type( locator1 = "TextInput#PASSWORD", value1 = "${userPassword}");
                  • 22
                    if ("${rememberMe}" == "true") {
                    • 23
                      Check(locator1 = "Checkbox#REMEMBER_ME");
                    }
                  • 26
                    AssertClick( locator1 = "Button#SIGN_IN", value1 = "Sign In");
                  • 30
                    AssertElementNotPresent(locator1 = "Button#SIGN_IN");
              • 64
                if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                • 65
                  SignIn.agreeToTermsOfUse();
                  • 3
                    var userEmailAddress = "[email protected]";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 35
                    AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                  • 39
                    AssertElementNotPresent(locator1 = "Button#I_AGREE");
                }
              • 68
                if (IsElementPresent(locator1 = "Select#QUESTION")) {
                • 69
                  SignIn.setPasswordReminder();
                  • 3
                    var userEmailAddress = "[email protected]";
                  • 4
                    var userPassword = "test";
                  • 5
                    var userPasswordReminderAnswer = "test";
                  • 44
                    Type( locator1 = "TextInput#ANSWER", value1 = "${userPasswordReminderAnswer}");
                  • 48
                    Button.clickSave();
                    • 80
                      Button.click(button = "Save");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 72
                ProductMenu.gotoPortlet( category = "Configuration", panel = "Control Panel", portlet = "Virtual Instances");
                • 46
                  ProductMenuHelper.expandPanel(panel = "${panel}");
                  • 22
                    ProductMenuHelper.openProductMenu();
                    • 46
                      if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                      • 47
                        Click(locator1 = "ProductMenu#TOGGLE");
                      }
                    • 50
                      AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
                    • 52
                      AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
                    • 54
                      AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
                  • 24
                    var key_panel = StringUtil.toLowerCase("${panel}");
                  • 25
                    var key_panel = StringUtil.replace("${key_panel}", " ", "_");
                  • 27
                    if (IsElementPresent(locator1 = "ProductMenu#PANEL_COLLAPSED", key_panel = "${key_panel}")) {
                    • 28
                      Click( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_COLLAPSED");
                    }
                  • 33
                    AssertElementPresent( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_EXPANDED");
                • 48
                  ProductMenuHelper.expandCategory(category = "${category}");
                  • 12
                    var key_category = "${category}";
                  • 14
                    if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                    • 15
                      Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                    }
                  • 18
                    AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
                • 50
                  ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
                  • 39
                    AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
              • 77
                while (IsElementPresent(locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS", key_rowNumber = "2")) {
                • 78
                  Click.waitForMenuToggleJSClick( key_rowNumber = "2", locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS");
                • 82
                  MenuItem.clickNoError(menuItem = "Delete");
                  • 10
                    ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
                • 84
                  AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
                • 86
                  Alert.viewSuccessMessage();
                  • 77
                    VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                  • 79
                    if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                    • 80
                      Click(locator1 = "Button#CLOSE_MESSAGE");
                    }
                }
              • 89
                var portalURL = PropsUtil.get("portal.url");
              • 90
                var portalURL = StringUtil.replace("${portalURL}", "http://", "");
              • 91
                var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
              • 93
                LexiconEntry.gotoAdd();
                • 55
                  var browserType = PropsUtil.get("browser.type");
                • 57
                  if ("${browserType}" == "chrome") {
                  • 58
                    MetalComponent.waitForManagementBar();
                    • 16
                      AssertVisible(locator1 = "//nav[contains(@class,'management-bar')]");
                    • 18
                      MetalComponent.waitForMetalComponent(id = '''document.querySelector("nav.management-bar").parentNode.id''');
                      • 22
                        var javaScript = ''' var metalComponent = Liferay.component(${id}); if (metalComponent !== undefined) { if (metalComponent.wasRendered) { return 'ready'; } else { return 'pending'; } } else { return 'pending'; } ''';
                      • 37
                        var metalComponentReady = "";
                      • 39
                        while ("${metalComponentReady}" != "ready" && (maxIterations = "30")) {
                        • 40
                          var metalComponentReady = selenium.getEval("${javaScript}");
                        • 42
                          Pause(locator1 = "1000");
                        }
                  }
                • 61
                  if ("${browserType}" == "internetexplorer") {
                  • 62
                    Click(locator1 = "Button#PLUS_IE");
                  }
                • 64
                  else {
                  • 65
                    Click(locator1 = "Button#PLUS");
                  }
              • 95
                Pause(locator1 = "3000");
              • 97
                Type( locator1 = "TextInput#WEB_ID", value1 = "${portalURL}");
              • 101
                Type( locator1 = "TextInput#VIRTUAL_HOST", value1 = "${portalURL}");
              • 105
                Type( locator1 = "TextInput#MAIL_DOMAIN", value1 = "liferay.com");
              • 109
                Button.clickSave();
                • 80
                  Button.click(button = "Save");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
              • 111
                Alert.viewSuccessMessage();
                • 77
                  VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
                • 79
                  if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                  • 80
                    Click(locator1 = "Button#CLOSE_MESSAGE");
                  }
              • 113
                Navigator.openURL();
                • 284
                  WaitForSPARefresh();
                • 286
                  var baseURL = "${baseURL}";
                • 288
                  if (contains("${baseURL}", "{baseURL}")) {
                  • 289
                    var baseURL = PropsUtil.get("portal.url");
                  }
                • 292
                  Open(locator1 = "${baseURL}/web/guest/home");
            }
        • 12
          User.firstLoginPG();
          • 3
            var password = "test";
          • 4
            var userEmailAddress = "[email protected]";
          • 1582
            if (isSet(virtualHostsURL)) {
            • 1583
              Navigator.openSpecificURL(url = "${virtualHostsURL}");
              • 262
                Open(locator1 = "${url}");
            }
          • 1585
            else {
            • 1586
              Navigator.openURL();
              • 284
                WaitForSPARefresh();
              • 286
                var baseURL = "${baseURL}";
              • 288
                if (contains("${baseURL}", "{baseURL}")) {
                • 289
                  var baseURL = PropsUtil.get("portal.url");
                }
              • 292
                Open(locator1 = "${baseURL}/web/guest/home");
            }
          • 1589
            if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
            • 1590
              User.logoutPG();
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 2020
                @description = "Log out of Liferay Portal."
              • 2022
                if (isSet(nodePort)) {
                • 2023
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 262
                    Open(locator1 = "${url}");
                }
              • 2025
                else {
                • 2026
                  if (isSet(specificURL)) {
                  • 2027
                    Navigator.openSpecificURL(url = "${specificURL}");
                    • 262
                      Open(locator1 = "${url}");
                  }
                • 2029
                  else {
                  • 2030
                    Navigator.openURL();
                    • 284
                      WaitForSPARefresh();
                    • 286
                      var baseURL = "${baseURL}";
                    • 288
                      if (contains("${baseURL}", "{baseURL}")) {
                      • 289
                        var baseURL = PropsUtil.get("portal.url");
                      }
                    • 292
                      Open(locator1 = "${baseURL}/web/guest/home");
                  }
                }
              • 2034
                UserBar.signOut();
                • 36
                  if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                  • 37
                    Click(locator1 = "UserBar#USER_AVATAR_IMAGE");
                  • 39
                    Pause(locator1 = "3000");
                  • 41
                    if (IsElementNotPresent(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN")) {
                    • 42
                      Click(locator1 = "UserBar#USER_AVATAR_IMAGE");
                    }
                  • 45
                    AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                  • 47
                    ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  • 49
                    Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                  }
            • 1592
              User.loginPG(userEmailAddress = "${userEmailAddress}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 1669
                if (isSet(nodePort)) {
                • 1670
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 262
                    Open(locator1 = "${url}");
                }
              • 1672
                else if (isSet(specificURL)) {
                • 1673
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 262
                    Open(locator1 = "${url}");
                }
              • 1675
                else {
                • 1676
                  Navigator.openURL();
                  • 284
                    WaitForSPARefresh();
                  • 286
                    var baseURL = "${baseURL}";
                  • 288
                    if (contains("${baseURL}", "{baseURL}")) {
                    • 289
                      var baseURL = PropsUtil.get("portal.url");
                    }
                  • 292
                    Open(locator1 = "${baseURL}/web/guest/home");
                }
              • 1679
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1680
                  Alert.closePortalLocalizationWarning();
                  • 10
                    Alert.closeMessage(messageType = "PORTAL_LOCALIZATION");
                    • 4
                      if ((IsElementPresent(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Icon#CLOSE"))) {
                      • 5
                        Click(locator1 = "Icon#CLOSE");
                      }
                  • 12
                    Pause(locator1 = "2000");
                }
              • 1683
                if ("${samlEnabled}" != "true") {
                • 1684
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 1660
                    var localizedSignIn = User._signInLocalization(localization = "${localization}");
                    • 3
                      var password = "test";
                    • 4
                      var userEmailAddress = "[email protected]";
                    • 23
                      if ("${localization}" == "JA") {
                      • 24
                        var localizedSignIn = "ログイン";
                      }
                    • 26
                      else if ("${localization}" == "ZH") {
                      • 27
                        var localizedSignIn = "登录";
                      }
                    • 29
                      else if ("${localization}" == "ES") {
                      • 30
                        var localizedSignIn = "Acceder";
                      }
                    • 32
                      else {
                      • 33
                        var localizedSignIn = "Sign In";
                      }
                    • 36
                      return "${localizedSignIn}";
                  • 1662
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                }
              • 1687
                if ("${samlMultiIdPs}" == "true") {
                • 1688
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1693
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1696
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1697
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1701
                else {
                • 1702
                  Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1707
                Type( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1711
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1712
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1715
                if (isSet(localization)) {
                • 1716
                  var localizedSignIn = User._signInLocalization(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 23
                    if ("${localization}" == "JA") {
                    • 24
                      var localizedSignIn = "ログイン";
                    }
                  • 26
                    else if ("${localization}" == "ZH") {
                    • 27
                      var localizedSignIn = "登录";
                    }
                  • 29
                    else if ("${localization}" == "ES") {
                    • 30
                      var localizedSignIn = "Acceder";
                    }
                  • 32
                    else {
                    • 33
                      var localizedSignIn = "Sign In";
                    }
                  • 36
                    return "${localizedSignIn}";
                • 1718
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1720
                else {
                • 1721
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1724
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1725
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1727
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1728
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1732
                  else {
                  • 1733
                    Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1738
                  Type( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1742
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1745
                Button.viewNotPresent(button = "Sign In");
                • 108
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1747
                if (isSet(localizedAgree)) {
                • 1748
                  User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 50
                    var key_localizedAgree = "${localizedAgree}";
                  • 52
                    if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                    • 53
                      AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                    • 57
                      AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                    }
                }
              • 1750
                else {
                • 1751
                  User.acceptEndUserLicenseAgreement();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 40
                    if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                    • 41
                      AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                    • 45
                      AssertElementNotPresent(locator1 = "Button#I_AGREE");
                    }
                }
              • 1754
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 2065
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2066
                    if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                    • 2067
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2071
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2075
                    else {
                    • 2076
                      if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                      • 2077
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2081
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2085
                      else {
                      • 2086
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2090
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2096
                    Button.clickSubmitButton();
                    • 96
                      Click(locator1 = "Button#SUBMIT");
                  • 2098
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1759
                if (isSet(localizedAnswer)) {
                • 1760
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 702
                    Pause(locator1 = "3000");
                  • 704
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 706
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 707
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 711
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 713
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 108
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1764
                else {
                • 1765
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 690
                    Pause(locator1 = "3000");
                  • 692
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 693
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 697
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1768
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
            }
          • 1594
            else {
            • 1595
              User.loginPG( localization = "${localization}", localizedAgree = "${localizedAgree}", localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}", samlEnabled = "${samlEnabled}", setupWizardEnabled = "${setupWizardEnabled}", specificURL = "${virtualHostsURL}", userEmailAddress = "${userEmailAddress}");
              • 3
                var password = "test";
              • 4
                var userEmailAddress = "[email protected]";
              • 1669
                if (isSet(nodePort)) {
                • 1670
                  Navigator.openSpecificURL(url = "http://localhost:${nodePort}");
                  • 262
                    Open(locator1 = "${url}");
                }
              • 1672
                else if (isSet(specificURL)) {
                • 1673
                  Navigator.openSpecificURL(url = "${specificURL}");
                  • 262
                    Open(locator1 = "${url}");
                }
              • 1675
                else {
                • 1676
                  Navigator.openURL();
                  • 284
                    WaitForSPARefresh();
                  • 286
                    var baseURL = "${baseURL}";
                  • 288
                    if (contains("${baseURL}", "{baseURL}")) {
                    • 289
                      var baseURL = PropsUtil.get("portal.url");
                    }
                  • 292
                    Open(locator1 = "${baseURL}/web/guest/home");
                }
              • 1679
                if (IsElementPresent(locator1 = "Message#PORTAL_LOCALIZATION")) {
                • 1680
                  Alert.closePortalLocalizationWarning();
                  • 10
                    Alert.closeMessage(messageType = "PORTAL_LOCALIZATION");
                    • 4
                      if ((IsElementPresent(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Message#${messageType}")) && (IsVisible(locator1 = "Icon#CLOSE"))) {
                      • 5
                        Click(locator1 = "Icon#CLOSE");
                      }
                  • 12
                    Pause(locator1 = "2000");
                }
              • 1683
                if ("${samlEnabled}" != "true") {
                • 1684
                  User.loginLocalizationPG(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 1660
                    var localizedSignIn = User._signInLocalization(localization = "${localization}");
                    • 3
                      var password = "test";
                    • 4
                      var userEmailAddress = "[email protected]";
                    • 23
                      if ("${localization}" == "JA") {
                      • 24
                        var localizedSignIn = "ログイン";
                      }
                    • 26
                      else if ("${localization}" == "ZH") {
                      • 27
                        var localizedSignIn = "登录";
                      }
                    • 29
                      else if ("${localization}" == "ES") {
                      • 30
                        var localizedSignIn = "Acceder";
                      }
                    • 32
                      else {
                      • 33
                        var localizedSignIn = "Sign In";
                      }
                    • 36
                      return "${localizedSignIn}";
                  • 1662
                    AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "${localizedSignIn}");
                }
              • 1687
                if ("${samlMultiIdPs}" == "true") {
                • 1688
                  Select( key_fieldLabel = "Identity Provider", locator1 = "Select#GENERIC_SELECT_FIELD", value1 = "${idpName}");
                • 1693
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1696
                if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                • 1697
                  Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                }
              • 1701
                else {
                • 1702
                  Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                }
              • 1707
                Type( locator1 = "TextInput#PASSWORD", value1 = "${password}");
              • 1711
                if ((isSet(rememberMeChecked)) && ("${rememberMeChecked}" == "true")) {
                • 1712
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 1715
                if (isSet(localization)) {
                • 1716
                  var localizedSignIn = User._signInLocalization(localization = "${localization}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 23
                    if ("${localization}" == "JA") {
                    • 24
                      var localizedSignIn = "ログイン";
                    }
                  • 26
                    else if ("${localization}" == "ZH") {
                    • 27
                      var localizedSignIn = "登录";
                    }
                  • 29
                    else if ("${localization}" == "ES") {
                    • 30
                      var localizedSignIn = "Acceder";
                    }
                  • 32
                    else {
                    • 33
                      var localizedSignIn = "Sign In";
                    }
                  • 36
                    return "${localizedSignIn}";
                • 1718
                  Button.click(button = "${localizedSignIn}");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1720
                else {
                • 1721
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1724
                if (IsElementPresent(locator1 = "Message#ERROR_FORM_FIELD_REQUIRED") && (IsElementNotPresent(locator1 = "TextInput#ENTER_AGAIN"))) {
                • 1725
                  echo("Sign in failed due to empty required field. Retrying...");
                • 1727
                  if ((isSet(authenticationMethod)) && ("${authenticationMethod}" == "By Screen Name")) {
                  • 1728
                    Type( locator1 = "TextInput#SCREEN_NAME", value1 = "${userScreenName}");
                  }
                • 1732
                  else {
                  • 1733
                    Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
                  }
                • 1738
                  Type( locator1 = "TextInput#PASSWORD", value1 = "${password}");
                • 1742
                  Button.click(button = "Sign In");
                  • 4
                    Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                }
              • 1745
                Button.viewNotPresent(button = "Sign In");
                • 108
                  AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
              • 1747
                if (isSet(localizedAgree)) {
                • 1748
                  User.acceptEndUserLicenseAgreementLocalized(localizedAgree = "${localizedAgree}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 50
                    var key_localizedAgree = "${localizedAgree}";
                  • 52
                    if (IsElementPresent(locator1 = "Button#I_AGREE_LOCALIZED")) {
                    • 53
                      AssertClick( locator1 = "Button#I_AGREE_LOCALIZED", value1 = "${localizedAgree}");
                    • 57
                      AssertElementNotPresent(locator1 = "Button#I_AGREE_LOCALIZED");
                    }
                }
              • 1750
                else {
                • 1751
                  User.acceptEndUserLicenseAgreement();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 40
                    if (IsElementPresent(locator1 = "Button#I_AGREE")) {
                    • 41
                      AssertClick( locator1 = "Button#I_AGREE", value1 = "I Agree");
                    • 45
                      AssertElementNotPresent(locator1 = "Button#I_AGREE");
                    }
                }
              • 1754
                User.resetPassword( resetPassword = "${resetPassword}", setupWizardEnabled = "${setupWizardEnabled}", syntaxCheckingEnabled = "${syntaxCheckingEnabled}");
                • 3
                  var password = "test";
                • 4
                  var userEmailAddress = "[email protected]";
                • 2065
                  if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#PASSWORD")) {
                  • 2066
                    if ((isSet(syntaxCheckingEnabled)) && ("${syntaxCheckingEnabled}" == "true")) {
                    • 2067
                      Type( locator1 = "TextInput#PASSWORD_1", value1 = "${resetPassword}");
                    • 2071
                      Type( locator1 = "TextInput#PASSWORD_2", value1 = "${resetPassword}");
                    }
                  • 2075
                    else {
                    • 2076
                      if ((isSet(setupWizardEnabled)) && ("${setupWizardEnabled}" == "true")) {
                      • 2077
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test2");
                      • 2081
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test2");
                      }
                    • 2085
                      else {
                      • 2086
                        Type( locator1 = "TextInput#PASSWORD_1", value1 = "test");
                      • 2090
                        Type( locator1 = "TextInput#PASSWORD_2", value1 = "test");
                      }
                    }
                  • 2096
                    Button.clickSubmitButton();
                    • 96
                      Click(locator1 = "Button#SUBMIT");
                  • 2098
                    AssertElementNotPresent(locator1 = "TextInput#ENTER_AGAIN");
                  }
              • 1759
                if (isSet(localizedAnswer)) {
                • 1760
                  User.answerPasswordReminderLocalized( localizedAnswer = "${localizedAnswer}", localizedSaveButton = "${localizedSaveButton}");
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 702
                    Pause(locator1 = "3000");
                  • 704
                    var key_localizedAnswer = "${localizedAnswer}";
                  • 706
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#ANSWER_LOCALIZED")) {
                    • 707
                      Type( locator1 = "TextInput#ANSWER_LOCALIZED", value1 = "test");
                    • 711
                      Button.click(button = "${localizedSaveButton}");
                      • 4
                        Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
                    • 713
                      Button.viewNotPresent(button = "${localizedSaveButton}");
                      • 108
                        AssertElementNotPresent( key_text = "${button}", locator1 = "Button#ANY");
                    }
                }
              • 1764
                else {
                • 1765
                  User.answerPasswordReminder();
                  • 3
                    var password = "test";
                  • 4
                    var userEmailAddress = "[email protected]";
                  • 690
                    Pause(locator1 = "3000");
                  • 692
                    if (IsElementPresent.pauseIsElementPresent(locator1 = "TextInput#REMINDER_QUERY")) {
                    • 693
                      Type( locator1 = "TextInput#REMINDER_QUERY", value1 = "test");
                    • 697
                      Click(locator1 = "Button#SUBMIT");
                    }
                }
              • 1768
                AssertElementPresent(locator1 = "UserBar#USER_AVATAR_IMAGE");
            }
        }
      • 15
        task ("Add a site via JSON") {
        • 16
          JSONGroup.addGroup(groupName = "Test Site Name");
          • 23
            Variables.assertDefined(parameterList = "${groupName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 25
            var groupDescriptionMap = JSONGroupSetter.setGroupDescriptionMap( groupDescription = "${groupDescription}");
            • 15
              if (isSet(groupDescription)) {
              • 16
                var groupDescription = URLUtil.encodeUTF8("${groupDescription}");
              • 18
                var groupDescriptionMap = '''{"en_US":"${groupDescriptionEncoded}"}''';
              }
            • 20
              else {
              • 21
                var groupDescriptionMap = "{}";
              }
            • 24
              return "${groupDescriptionMap}";
          • 28
            var groupNameMap = JSONGroupSetter.setGroupNameMap( groupName = "${groupName}");
            • 36
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 38
              var groupNameMap = URLUtil.encodeUTF8("${groupName}");
            • 40
              var groupNameMap = '''{"en_US":"${groupName}"}''';
            • 42
              return "${groupNameMap}";
          • 31
            var parentGroupId = JSONGroupSetter.setParentGroupId(groupName = "${parentGroupName}");
            • 46
              if (isSet(parentGroupName)) {
              • 47
                var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 146
                  Variables.assertDefined(parameterList = "${groupName}");
                  • 5
                    if (contains("${parameterList}","{parameterList}")) {
                    • 6
                      fail("Please define a parameter list in 'parameterList'");
                    }
                  • 9
                    for (var parameter : list "${parameterList}") {
                    • 13
                      var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                    • 17
                      if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                      • 18
                        fail("Please set '${parameter}'");
                      }
                    }
                • 148
                  var companyId = JSONCompany.getCompanyId();
                  • 4
                    var portalInstanceName = JSONCompany.getPortalInstanceName();
                    • 17
                      var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                    • 18
                      var testPortalInstance = PropsUtil.get("test.portal.instance");
                    • 20
                      if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                      • 21
                        var portalURL = JSONCompany.getPortalURL();
                        • 34
                          var portalURL = PropsUtil.get("portal.url");
                        • 36
                          return "${portalURL}";
                      • 23
                        var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                      • 24
                        var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                      • 26
                        return "${portalInstanceName}";
                      }
                    • 28
                      else {
                      • 29
                        return "localhost";
                      }
                  • 6
                    var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                  • 11
                    var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                  • 13
                    return "${companyId}";
                • 150
                  var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                  • 4
                    if (isSet(grandParentGroupName)) {
                    • 5
                      var grandParentGroupId = JSONGroupAPI._getGroupIdByName(groupName = "${grandParentGroupName}");
                      • 104
                        Variables.assertDefined(parameterList = "${groupName}");
                        • 5
                          if (contains("${parameterList}","{parameterList}")) {
                          • 6
                            fail("Please define a parameter list in 'parameterList'");
                          }
                        • 9
                          for (var parameter : list "${parameterList}") {
                          • 13
                            var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                          • 17
                            if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                            • 18
                              fail("Please set '${parameter}'");
                            }
                          }
                      • 106
                        var companyId = JSONCompany.getCompanyId();
                        • 4
                          var portalInstanceName = JSONCompany.getPortalInstanceName();
                          • 17
                            var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                          • 18
                            var testPortalInstance = PropsUtil.get("test.portal.instance");
                          • 20
                            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                            • 21
                              var portalURL = JSONCompany.getPortalURL();
                              • 34
                                var portalURL = PropsUtil.get("portal.url");
                              • 36
                                return "${portalURL}";
                            • 23
                              var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                            • 24
                              var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                            • 26
                              return "${portalInstanceName}";
                            }
                          • 28
                            else {
                            • 29
                              return "localhost";
                            }
                        • 6
                          var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                        • 11
                          var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                        • 13
                          return "${companyId}";
                      • 108
                        var portalURL = JSONCompany.getPortalURL();
                        • 34
                          var portalURL = PropsUtil.get("portal.url");
                        • 36
                          return "${portalURL}";
                      • 110
                        var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/true \ -u [email protected]:test ''';
                      • 115
                        var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                      • 116
                        var groupId = StringUtil.replace("${groupId}", "["", "");
                      • 117
                        var groupId = StringUtil.replace("${groupId}", ""]", "");
                      • 119
                        if ("${groupId}" == "[]") {
                        • 120
                          fail("FAIL. Cannot find group.");
                        }
                      • 123
                        return "${groupId}";
                    }
                  • 7
                    else {
                    • 8
                      var grandParentGroupId = "0";
                    }
                  • 11
                    return "${grandParentGroupId}";
                • 152
                  var portalURL = JSONCompany.getPortalURL();
                  • 34
                    var portalURL = PropsUtil.get("portal.url");
                  • 36
                    return "${portalURL}";
                • 154
                  var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                • 159
                  var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                • 160
                  var groupId = StringUtil.replace("${groupId}", "["", "");
                • 161
                  var groupId = StringUtil.replace("${groupId}", ""]", "");
                • 163
                  if ("${groupId}" == "[]") {
                  • 164
                    fail("FAIL. Cannot find group.");
                  }
                • 167
                  return "${groupId}";
              }
            • 49
              else {
              • 50
                var parentGroupId = "0";
              }
            • 53
              return "${parentGroupId}";
          • 33
            JSONGroupAPI._addGroup( groupDescriptionMap = "${groupDescriptionMap}", groupNameMap = "${groupNameMap}", parentGroupId = "${parentGroupId}");
            • 5
              Variables.assertDefined(parameterList = "${groupNameMap}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 7
              var portalURL = JSONCompany.getPortalURL();
              • 34
                var portalURL = PropsUtil.get("portal.url");
              • 36
                return "${portalURL}";
            • 9
              var curl = ''' ${portalURL}/api/jsonws/group/add-group \ -u [email protected]:test \ -d parentGroupId=${parentGroupId} \ -d liveGroupId=0 \ -d nameMap=${groupNameMap} \ -d descriptionMap=${groupDescriptionMap} \ -d type=1 \ -d manualMembership=true \ -d membershipRestriction=0 \ -d friendlyURL= \ -d site=true \ -d inheritContent=false \ -d active=true ''';
            • 25
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      }
    • 132
      test ValidateLongInputs {
      • 130
        @description = "This test ensures that ellipses are shown in the preview when the text limit is reached."
      • 134
        var portalURL = PropsUtil.get("portal.url");
      • 135
        var siteName = TestCase.getSiteName(siteName = "${siteName}");
        • 43
          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
        • 44
          var testPortalInstance = PropsUtil.get("test.portal.instance");
        • 46
          if (("${siteName}" == "Liferay") || (!(isSet(siteName)))) {
          • 47
            if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
            • 48
              var portalURL = PropsUtil.get("portal.url");
            • 49
              var portalURL = StringUtil.replace("${portalURL}", "http://", "");
            • 50
              var portalURL = StringUtil.replace("${portalURL}", ":8080", "");
            • 52
              return "${portalURL}";
            }
          • 54
            else {
            • 55
              var testRunEnvironment = PropsUtil.get("test.run.environment");
            • 57
              if ("${testRunEnvironment}" == "EE") {
              • 58
                return "Liferay DXP";
              }
            • 60
              else {
              • 61
                return "Liferay";
              }
            }
          }
        • 65
          else {
          • 66
            return "${siteName}";
          }
      • 137
        JSONLayout.addPublicLayout( groupName = "Test Site Name", layoutName = "Long Test Page Name To Check The URL");
        • 67
          Variables.assertDefined(parameterList = "${groupName},${layoutName}");
          • 5
            if (contains("${parameterList}","{parameterList}")) {
            • 6
              fail("Please define a parameter list in 'parameterList'");
            }
          • 9
            for (var parameter : list "${parameterList}") {
            • 13
              var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
            • 17
              if (("${isSet}" == "false") && ("${parameter}" != "false")) {
              • 18
                fail("Please set '${parameter}'");
              }
            }
        • 69
          var friendlyURL = JSONLayoutSetter.setFriendlyURL(friendlyURL = "${friendlyURL}");
          • 12
            if (!(isSet(friendlyURL))) {
            • 13
              var friendlyURL = "";
            }
          • 16
            return "${friendlyURL}";
        • 71
          var groupId = JSONLayoutSetter.setGroupId(groupKey = "${groupName}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
          • 20
            JSONUtil2._exclusiveOrCheck( A = "${groupName}", B = "${groupKey}", failMessage = "Please only set 'groupName' or 'groupKey' but not both or none.");
            • 113
              if (((isSet(A)) && (isSet(B))) || ((!(isSet(B))) && (!(isSet(A))))) {
              • 114
                fail("${failMessage}");
              }
          • 25
            if (isSet(groupName)) {
            • 26
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}");
              • 104
                Variables.assertDefined(parameterList = "${groupName}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 106
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 17
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 18
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 20
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 21
                      var portalURL = JSONCompany.getPortalURL();
                      • 34
                        var portalURL = PropsUtil.get("portal.url");
                      • 36
                        return "${portalURL}";
                    • 23
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 24
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 26
                      return "${portalInstanceName}";
                    }
                  • 28
                    else {
                    • 29
                      return "localhost";
                    }
                • 6
                  var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                • 11
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 13
                  return "${companyId}";
              • 108
                var portalURL = JSONCompany.getPortalURL();
                • 34
                  var portalURL = PropsUtil.get("portal.url");
                • 36
                  return "${portalURL}";
              • 110
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/true \ -u [email protected]:test ''';
              • 115
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 116
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 117
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 119
                if ("${groupId}" == "[]") {
                • 120
                  fail("FAIL. Cannot find group.");
                }
              • 123
                return "${groupId}";
            }
          • 28
            else if (isSet(groupKey)) {
            • 29
              var site = JSONLayoutSetter.setSite(site = "${site}");
              • 87
                if (!(isSet(site))) {
                • 88
                  var site = "true";
                }
              • 91
                return "${site}";
            • 31
              var groupId = JSONGroupAPI._getGroupIdByGroupKey(groupKey = "${groupKey}", site = "${site}", parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
              • 78
                Variables.assertDefined(parameterList = "${groupKey},${site}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 80
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 17
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 18
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 20
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 21
                      var portalURL = JSONCompany.getPortalURL();
                      • 34
                        var portalURL = PropsUtil.get("portal.url");
                      • 36
                        return "${portalURL}";
                    • 23
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 24
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 26
                      return "${portalInstanceName}";
                    }
                  • 28
                    else {
                    • 29
                      return "localhost";
                    }
                • 6
                  var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                • 11
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 13
                  return "${companyId}";
              • 82
                var parentGroupId = JSONGroupSetter.setParentGroupId(parentGroupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                • 46
                  if (isSet(parentGroupName)) {
                  • 47
                    var parentGroupId = JSONGroupAPI._getParentGroupIdByName(groupName = "${parentGroupName}", grandParentGroupName = "${grandParentGroupName}");
                    • 146
                      Variables.assertDefined(parameterList = "${groupName}");
                      • 5
                        if (contains("${parameterList}","{parameterList}")) {
                        • 6
                          fail("Please define a parameter list in 'parameterList'");
                        }
                      • 9
                        for (var parameter : list "${parameterList}") {
                        • 13
                          var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                        • 17
                          if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                          • 18
                            fail("Please set '${parameter}'");
                          }
                        }
                    • 148
                      var companyId = JSONCompany.getCompanyId();
                      • 4
                        var portalInstanceName = JSONCompany.getPortalInstanceName();
                        • 17
                          var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                        • 18
                          var testPortalInstance = PropsUtil.get("test.portal.instance");
                        • 20
                          if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                          • 21
                            var portalURL = JSONCompany.getPortalURL();
                            • 34
                              var portalURL = PropsUtil.get("portal.url");
                            • 36
                              return "${portalURL}";
                          • 23
                            var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                          • 24
                            var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                          • 26
                            return "${portalInstanceName}";
                          }
                        • 28
                          else {
                          • 29
                            return "localhost";
                          }
                      • 6
                        var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                      • 11
                        var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                      • 13
                        return "${companyId}";
                    • 150
                      var grandParentGroupId = JSONGroupSetter.setGrandParentGroupId(grandParentGroupName = "${grandParentGroupName}");
                      • 4
                        if (isSet(grandParentGroupName)) {
                        • 5
                          var grandParentGroupId = JSONGroupAPI._getGroupIdByName(groupName = "${grandParentGroupName}");
                          • 104
                            Variables.assertDefined(parameterList = "${groupName}");
                            • 5
                              if (contains("${parameterList}","{parameterList}")) {
                              • 6
                                fail("Please define a parameter list in 'parameterList'");
                              }
                            • 9
                              for (var parameter : list "${parameterList}") {
                              • 13
                                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                              • 17
                                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                                • 18
                                  fail("Please set '${parameter}'");
                                }
                              }
                          • 106
                            var companyId = JSONCompany.getCompanyId();
                            • 4
                              var portalInstanceName = JSONCompany.getPortalInstanceName();
                              • 17
                                var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                              • 18
                                var testPortalInstance = PropsUtil.get("test.portal.instance");
                              • 20
                                if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                                • 21
                                  var portalURL = JSONCompany.getPortalURL();
                                  • 34
                                    var portalURL = PropsUtil.get("portal.url");
                                  • 36
                                    return "${portalURL}";
                                • 23
                                  var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                                • 24
                                  var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                                • 26
                                  return "${portalInstanceName}";
                                }
                              • 28
                                else {
                                • 29
                                  return "localhost";
                                }
                            • 6
                              var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                            • 11
                              var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                            • 13
                              return "${companyId}";
                          • 108
                            var portalURL = JSONCompany.getPortalURL();
                            • 34
                              var portalURL = PropsUtil.get("portal.url");
                            • 36
                              return "${portalURL}";
                          • 110
                            var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/true \ -u [email protected]:test ''';
                          • 115
                            var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                          • 116
                            var groupId = StringUtil.replace("${groupId}", "["", "");
                          • 117
                            var groupId = StringUtil.replace("${groupId}", ""]", "");
                          • 119
                            if ("${groupId}" == "[]") {
                            • 120
                              fail("FAIL. Cannot find group.");
                            }
                          • 123
                            return "${groupId}";
                        }
                      • 7
                        else {
                        • 8
                          var grandParentGroupId = "0";
                        }
                      • 11
                        return "${grandParentGroupId}";
                    • 152
                      var portalURL = JSONCompany.getPortalURL();
                      • 34
                        var portalURL = PropsUtil.get("portal.url");
                      • 36
                        return "${portalURL}";
                    • 154
                      var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${grandParentGroupId}/site/true \ -u [email protected]:test ''';
                    • 159
                      var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
                    • 160
                      var groupId = StringUtil.replace("${groupId}", "["", "");
                    • 161
                      var groupId = StringUtil.replace("${groupId}", ""]", "");
                    • 163
                      if ("${groupId}" == "[]") {
                      • 164
                        fail("FAIL. Cannot find group.");
                      }
                    • 167
                      return "${groupId}";
                  }
                • 49
                  else {
                  • 50
                    var parentGroupId = "0";
                  }
                • 53
                  return "${parentGroupId}";
              • 84
                var portalURL = JSONCompany.getPortalURL();
                • 34
                  var portalURL = PropsUtil.get("portal.url");
                • 36
                  return "${portalURL}";
              • 86
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/${parentGroupId}/site/${site} \ -u [email protected]:test ''';
              • 91
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['groupKey'] == '${groupKey}')]['groupId']");
              • 92
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 93
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 95
                if ("${groupId}" == "[]") {
                • 96
                  fail("FAIL. Cannot find group.");
                }
              • 99
                return "${groupId}";
            }
          • 34
            return "${groupId}";
        • 73
          var parentLayoutId = JSONLayoutSetter.setParentLayoutId( groupId = "${groupId}", parentLayoutName = "${parentLayoutName}", privateLayout = "false");
          • 49
            var privateLayout = JSONLayoutSetter.setPrivateLayout(privateLayout = "${privateLayout}");
            • 67
              if (!(isSet(privateLayout))) {
              • 68
                var privateLayout = "false";
              }
            • 71
              return "${privateLayout}";
          • 51
            if (isSet(parentLayoutName)) {
            • 52
              Variables.assertDefined(parameterList = "${groupId},${parentLayoutName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 54
              var parentLayoutId = JSONLayoutAPI._getLayoutIdByName( groupId = "${groupId}", layoutName = "${parentLayoutName}", privateLayout = "${privateLayout}");
              • 29
                Variables.assertDefined(parameterList = "${groupId},${layoutName},${privateLayout}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 31
                var portalURL = JSONCompany.getPortalURL();
                • 34
                  var portalURL = PropsUtil.get("portal.url");
                • 36
                  return "${portalURL}";
              • 33
                var curl = ''' ${portalURL}/api/jsonws/layout/get-layouts \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} ''';
              • 40
                var layoutId = JSONCurlUtil.post("${curl}", "$.[?(@['nameCurrentValue'] == '${layoutName}')]['layoutId']");
              • 41
                var layoutId = StringUtil.replace("${layoutId}", "["", "");
              • 42
                var layoutId = StringUtil.replace("${layoutId}", ""]", "");
              • 44
                if ("${layoutId}" == "[]") {
                • 45
                  fail("FAIL. Cannot find layout.");
                }
              • 48
                return "${layoutId}";
            }
          • 59
            else {
            • 60
              var parentLayoutId = "0";
            }
          • 63
            return "${parentLayoutId}";
        • 78
          var serviceContext = JSONLayoutSetter.setServiceContext( assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", serviceContext = "${serviceContext}", workflowAction = "${workflowAction}");
          • 75
            if (!(isSet(serviceContext))) {
            • 76
              var serviceContext = JSONServiceContextUtil.setServiceContext( addGuestPermissions = "true", assetCategoryIds = "${assetCategoryIds}", assetTagNames = "${assetTagNames}", workflowAction = "${workflowAction}");
              • 71
                var serviceContext = "{}";
              • 73
                if (isSet(assetCategoryIds)) {
                • 74
                  var serviceContext = JSONServiceContextUtil._addAssetCategoryIds( assetCategoryIds = "${assetCategoryIds}", JSON = "${serviceContext}");
                  • 4
                    Variables.assertDefined(parameterList = "${JSON},${assetCategoryIds}");
                    • 5
                      if (contains("${parameterList}","{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                      • 17
                        if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 6
                    var JSON = JSONUtil2._addJSONArray( JSON = "${JSON}", key = "assetCategoryIds");
                    • 5
                      if ((!(isSet(JSON))) || (!(isSet(key)))) {
                      • 6
                        fail("Error, 'JSON' and 'key' must all be set");
                      }
                    • 11
                      var bool = JSONUtil2._isJSONArrayPresent( JSON = "${JSON}", key = "${key}");
                      • 120
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*\[.*?\]","1");
                      • 122
                        if ("${temp}" == "${key}") {
                        • 123
                          return "TRUE";
                        }
                      • 125
                        else {
                        • 126
                          return "FALSE";
                        }
                    • 15
                      if ("${bool}" == "TRUE") {
                      • 16
                        echo("JSON array ${key}' already added, returning original JSON");
                      }
                    • 18
                      else {
                      • 19
                        if ("${JSON}" == "{}") {
                        • 20
                          var JSON = '''{"${key}" : []}''';
                        }
                      • 22
                        else {
                        • 23
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": []}");
                        }
                      }
                    • 27
                      return "${JSON}";
                  • 10
                    var JSON = JSONUtil2._addJSONArrayValues( JSON = "${JSON}", key = "assetCategoryIds", values = "${assetCategoryIds}");
                    • 32
                      if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(values)))) {
                      • 33
                        fail("Error, 'JSON', 'key', and 'values' must all be set");
                      }
                    • 36
                      var bool = JSONUtil2._isJSONArrayPresent( JSON = "${JSON}", key = "${key}");
                      • 120
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*\[.*?\]","1");
                      • 122
                        if ("${temp}" == "${key}") {
                        • 123
                          return "TRUE";
                        }
                      • 125
                        else {
                        • 126
                          return "FALSE";
                        }
                    • 40
                      if ("${bool}" == "FALSE") {
                      • 41
                        fail("Error, '${key}' does not exist in the JSON");
                      }
                    • 44
                      for (var value : list "${values}") {
                      • 45
                        var temp = RegexUtil.replace("${JSON}","\"${key}\"\s*:\s*(\[.*?\])","1");
                      • 47
                        if (contains(""${temp}"",""${value}"")) {
                        • 48
                          fail("'${value}' already exists inside 'JSON'");
                        }
                      • 51
                        if ("${temp}" == "[]") {
                        • 55
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(\"${key}\"\s*:\s*)\[\]", "$1["${value}"]");
                        }
                      • 57
                        else {
                        • 58
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, "${value}"]");
                        }
                      }
                    • 62
                      return "${JSON}";
                  • 15
                    return "${JSON}";
                }
              • 79
                if (isSet(assetTagNames)) {
                • 80
                  var serviceContext = JSONServiceContextUtil._addAssetTagNames( assetTagNames = "${assetTagNames}", JSON = "${serviceContext}");
                  • 19
                    Variables.assertDefined(parameterList = "${JSON},${assetTagNames}");
                    • 5
                      if (contains("${parameterList}","{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                      • 17
                        if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 21
                    var JSON = JSONUtil2._addJSONArray( JSON = "${JSON}", key = "assetTagNames");
                    • 5
                      if ((!(isSet(JSON))) || (!(isSet(key)))) {
                      • 6
                        fail("Error, 'JSON' and 'key' must all be set");
                      }
                    • 11
                      var bool = JSONUtil2._isJSONArrayPresent( JSON = "${JSON}", key = "${key}");
                      • 120
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*\[.*?\]","1");
                      • 122
                        if ("${temp}" == "${key}") {
                        • 123
                          return "TRUE";
                        }
                      • 125
                        else {
                        • 126
                          return "FALSE";
                        }
                    • 15
                      if ("${bool}" == "TRUE") {
                      • 16
                        echo("JSON array ${key}' already added, returning original JSON");
                      }
                    • 18
                      else {
                      • 19
                        if ("${JSON}" == "{}") {
                        • 20
                          var JSON = '''{"${key}" : []}''';
                        }
                      • 22
                        else {
                        • 23
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": []}");
                        }
                      }
                    • 27
                      return "${JSON}";
                  • 25
                    var JSON = JSONUtil2._addJSONArrayValues( JSON = "${JSON}", key = "assetTagNames", values = "${assetTagNames}");
                    • 32
                      if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(values)))) {
                      • 33
                        fail("Error, 'JSON', 'key', and 'values' must all be set");
                      }
                    • 36
                      var bool = JSONUtil2._isJSONArrayPresent( JSON = "${JSON}", key = "${key}");
                      • 120
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*\[.*?\]","1");
                      • 122
                        if ("${temp}" == "${key}") {
                        • 123
                          return "TRUE";
                        }
                      • 125
                        else {
                        • 126
                          return "FALSE";
                        }
                    • 40
                      if ("${bool}" == "FALSE") {
                      • 41
                        fail("Error, '${key}' does not exist in the JSON");
                      }
                    • 44
                      for (var value : list "${values}") {
                      • 45
                        var temp = RegexUtil.replace("${JSON}","\"${key}\"\s*:\s*(\[.*?\])","1");
                      • 47
                        if (contains(""${temp}"",""${value}"")) {
                        • 48
                          fail("'${value}' already exists inside 'JSON'");
                        }
                      • 51
                        if ("${temp}" == "[]") {
                        • 55
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(\"${key}\"\s*:\s*)\[\]", "$1["${value}"]");
                        }
                      • 57
                        else {
                        • 58
                          var JSON = StringUtil.regexReplaceFirst("${JSON}","(\"${key}\"\s*:\s*)(\[.*?)\]", "$1$2, "${value}"]");
                        }
                      }
                    • 62
                      return "${JSON}";
                  • 30
                    return "${JSON}";
                }
              • 85
                if (isSet(addGuestPermissions)) {
                • 86
                  var serviceContext = JSONServiceContextUtil._addGuestPermissions( addGuestPermissions = "${addGuestPermissions}", JSON = "${serviceContext}");
                  • 34
                    Variables.assertDefined(parameterList = "${JSON},${addGuestPermissions}");
                    • 5
                      if (contains("${parameterList}","{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                      • 17
                        if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 36
                    if (!(("${addGuestPermissions}" == "true") || ("${addGuestPermissions}" == "false"))) {
                    • 37
                      fail("Invalid addGuestPermissions: '${addGuestPermissions}' specified. Allowed values are 'true' or 'false'.");
                    }
                  • 40
                    var JSON = JSONUtil2._addJSONObject( JSON = "${JSON}", key = "addGuestPermissions", value = "${addGuestPermissions}");
                    • 67
                      if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                      • 68
                        fail("Error, 'JSON', 'key', and 'value' must all be set");
                      }
                    • 71
                      var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                      • 132
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                      • 134
                        if ("${temp}" == "${key}") {
                        • 135
                          return "TRUE";
                        }
                      • 137
                        else {
                        • 138
                          return "FALSE";
                        }
                    • 75
                      if ("${bool}" == "TRUE") {
                      • 76
                        fail("Error, '${key}' already exists in the JSON");
                      }
                    • 79
                      if ("${JSON}" == "{}") {
                      • 80
                        var JSON = '''{"${key}" : ${value}}''';
                      }
                    • 82
                      else {
                      • 83
                        var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                      }
                    • 86
                      return "${JSON}";
                  • 45
                    return "${JSON}";
                }
              • 91
                if (isSet(workflowAction)) {
                • 92
                  var serviceContext = JSONServiceContextUtil._addWorkflowAction( JSON = "${serviceContext}", workflowAction = "${workflowAction}");
                  • 50
                    Variables.assertDefined(parameterList = "${JSON},${workflowAction}");
                    • 5
                      if (contains("${parameterList}","{parameterList}")) {
                      • 6
                        fail("Please define a parameter list in 'parameterList'");
                      }
                    • 9
                      for (var parameter : list "${parameterList}") {
                      • 13
                        var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                      • 17
                        if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                        • 18
                          fail("Please set '${parameter}'");
                        }
                      }
                  • 52
                    if ("${workflowAction}" == "DRAFT") {
                    • 53
                      var workflowActionNumber = "2";
                    }
                  • 55
                    else if ("${workflowAction}" == "PUBLISH") {
                    • 56
                      var workflowActionNumber = "1";
                    }
                  • 58
                    else {
                    • 59
                      fail("Invalid workflowAction: '${workflowAction}' specified. Allowed values are 'DRAFT' or 'PUBLISH'.");
                    }
                  • 62
                    var JSON = JSONUtil2._addJSONObject( JSON = "${JSON}", key = "workflowAction", value = "${workflowActionNumber}");
                    • 67
                      if ((!(isSet(JSON))) || (!(isSet(key))) || (!(isSet(value)))) {
                      • 68
                        fail("Error, 'JSON', 'key', and 'value' must all be set");
                      }
                    • 71
                      var bool = JSONUtil2._isJSONObjectPresent( JSON = "${JSON}", key = "${key}");
                      • 132
                        var temp = RegexUtil.replace("${JSON}","\"(${key})\"\s*:\s*","1");
                      • 134
                        if ("${temp}" == "${key}") {
                        • 135
                          return "TRUE";
                        }
                      • 137
                        else {
                        • 138
                          return "FALSE";
                        }
                    • 75
                      if ("${bool}" == "TRUE") {
                      • 76
                        fail("Error, '${key}' already exists in the JSON");
                      }
                    • 79
                      if ("${JSON}" == "{}") {
                      • 80
                        var JSON = '''{"${key}" : ${value}}''';
                      }
                    • 82
                      else {
                      • 83
                        var JSON = StringUtil.regexReplaceFirst("${JSON}","(.*)\}","$1, "${key}": ${value}}");
                      }
                    • 86
                      return "${JSON}";
                  • 67
                    return "${JSON}";
                }
              • 97
                return "${serviceContext}";
            }
          • 83
            return "${serviceContext}";
        • 84
          var type = JSONLayoutSetter.setType(type = "${type}");
          • 96
            if (!(isSet(type))) {
            • 97
              var type = "portlet";
            }
          • 100
            return "${type}";
        • 86
          JSONLayoutAPI._addLayout( friendlyURL = "${friendlyURL}", groupId = "${groupId}", layoutName = "${layoutName}", parentLayoutId = "${parentLayoutId}", privateLayout = "false", serviceContext = "${serviceContext}", type = "${type}");
          • 5
            Variables.assertDefined(parameterList = "${friendlyURL},${groupId},${privateLayout},${parentLayoutId},${layoutName},${serviceContext}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 7
            var portalURL = JSONCompany.getPortalURL();
            • 34
              var portalURL = PropsUtil.get("portal.url");
            • 36
              return "${portalURL}";
          • 9
            var curl = ''' ${portalURL}/api/jsonws/layout/add-layout \ -u [email protected]:test \ -d groupId=${groupId} \ -d privateLayout=${privateLayout} \ -d parentLayoutId=${parentLayoutId} \ -d name=${layoutName} \ -d title= \ -d description= \ -d type=${type} \ -d hidden=false \ -d friendlyURL=${friendlyURL} \ -d serviceContext=${serviceContext} ''';
          • 24
            com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
      • 141
        SitePages.openPagesAdmin(siteURLKey = "test-site-name");
        • 389
          var siteURLKey = StringUtil.replace("${siteURLKey}", " ", "-");
        • 390
          var siteURLKey = StringUtil.lowerCase("${siteURLKey}");
        • 392
          Navigator.openWithAppendToBaseURL( baseURL = "${baseURL}", urlAppend = "group/${siteURLKey}/~/control_panel/manage?p_p_id=com_liferay_layout_admin_web_portlet_GroupPagesPortlet");
          • 296
            var baseURL = "${baseURL}";
          • 298
            if (contains("${baseURL}", "{baseURL}")) {
            • 299
              var baseURL = PropsUtil.get("portal.url");
            }
          • 302
            Open(locator1 = "${baseURL}/${urlAppend}");
      • 143
        SitePages.gotoPageMenuItem( menuItem = "Configure", pageName = "Test Page Name");
        • 367
          var browserType = PropsUtil.get("browser.type");
        • 369
          if ("${browserType}" == "chrome") {
          • 370
            MetalComponent.waitForLayout();
            • 10
              AssertVisible(locator1 = "//div[@class='portlet-body']/form/div");
            • 12
              MetalComponent.waitForMetalComponent(id = '''document.querySelector("div.portlet-body > form > div").id''');
              • 22
                var javaScript = ''' var metalComponent = Liferay.component(${id}); if (metalComponent !== undefined) { if (metalComponent.wasRendered) { return 'ready'; } else { return 'pending'; } } else { return 'pending'; } ''';
              • 37
                var metalComponentReady = "";
              • 39
                while ("${metalComponentReady}" != "ready" && (maxIterations = "30")) {
                • 40
                  var metalComponentReady = selenium.getEval("${javaScript}");
                • 42
                  Pause(locator1 = "1000");
                }
          }
        • 373
          if (isSet(parentPagesHierarchy)) {
          • 374
            for (var parentPage : list "${parentPagesHierarchy}") {
            • 375
              Click( key_itemName = "${parentPage}", locator1 = "SitePages#LIST_GROUP_ITEM");
            }
          }
        • 381
          Click( key_pageName = "${pageName}", locator1 = "SitePages#LIST_GROUP_ITEM_ELLIPSIS_ICON");
        • 385
          MenuItem.click(menuItem = "${menuItem}");
          • 4
            Click( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
      • 147
        Navigator.gotoNavTab(navTab = "Open Graph");
        • 110
          var key_tab = "${navTab}";
        • 112
          AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
        • 116
          AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
      • 149
        OpenGraph.configureOpenGraph( customDescription = "Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web applications called social applications", customTitle = "Liferay Portal provides an excellent platform for building web applications", notSave = "true", pageName = "Long Test Page Name To Check The URL");
        • 4
          if (isSet(customTitle)) {
          • 5
            var checkboxName = "Use Custom Title";
          • 7
            if (IsNotChecked(locator1 = "Checkbox#ANY_CHECKBOX")) {
            • 8
              Click(locator1 = "Checkbox#ANY_CHECKBOX");
            }
          • 11
            Type( locator1 = "TextInput#OPEN_GRAPH_CUSTOM_TITLE", value1 = "${customTitle}");
          }
        • 16
          if (isSet(customDescription)) {
          • 17
            var checkboxName = "Use Custom Description";
          • 19
            if (IsNotChecked(locator1 = "Checkbox#ANY_CHECKBOX")) {
            • 20
              Click(locator1 = "Checkbox#ANY_CHECKBOX");
            }
          • 23
            Type( key_text = "openGraphDescription", locator1 = "TextArea#ANY", value1 = "${customDescription}");
          }
        • 29
          if (isSet(customImage)) {
          • 30
            var key_uploadFileName = "${uploadFileName}";
          • 32
            Click(locator1 = "Button#SELECT_OPEN_GRAPH_IMAGE");
          • 34
            SelectFrame(locator1 = "ItemSelector#ITEM_SELECTOR_IFRAME");
          • 36
            AssertElementPresent(locator1 = "ItemSelector#SELECT_FILE_UPLOAD_IMAGE");
          • 38
            UploadCommonFile.uploadCommonFileHiddenNoMouseOver( locator1 = "TextInput#FILE", value1 = "${uploadFileName}");
          • 42
            Click(locator1 = "Button#ADD");
          • 44
            SelectFrameTop(value1 = "relative=top");
          }
        • 47
          if (!(isSet(notSave))) {
          • 48
            Button.click(button = "Save");
            • 4
              Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
          • 50
            if (isSet(customImage)) {
            • 51
              Click(locator1 = "ControlMenu#EDIT_COG");
            • 53
              Navigator.gotoNavTab(navTab = "Open Graph");
              • 110
                var key_tab = "${navTab}";
              • 112
                AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
              • 116
                AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
            • 55
              AssertElementPresent( key_dmDocumentURL = "${uploadFileName}", locator1 = "TextInput#OPEN_GRAPH_CUSTOM_IMAGE_INPUT");
            }
          }
      • 155
        Page.viewPreview( description = "Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…", htmlTitle = "Liferay Portal provides an excellent platform for building web applications - Test Site Name - ${siteName}", openGraph = "true", pageName = "Long Test Page Name To Check The URL", portalURL = "${portalURL}", siteNameURL = "test-site-name", truncatedHTMLTitle = "true", truncatedURL = "true");
        • 921
          if (isSet(key_imageName)) {
          • 922
            AssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_IMAGE");
          }
        • 925
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_TITLE", value1 = "${htmlTitle}");
        • 929
          var pageNameURL = StringUtil.lowerCase("${pageName}");
        • 931
          var pageNameURL = StringUtil.replace("${pageNameURL}", " ", "-");
        • 933
          var url = "${portalURL}/web/guest/${pageNameURL}";
        • 935
          if (isSet(siteNameURL)) {
          • 936
            var url = "${portalURL}/web/${siteNameURL}/${pageNameURL}";
          }
        • 939
          if (isSet(openGraph)) {
          • 940
            var url = StringUtil.upperCase("${url}");
          }
        • 943
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_URL", value1 = "${url}");
        • 947
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_DESCRIPTION", value1 = "${description}");
        • 951
          if (isSet(truncatedHTMLTitle)) {
          • 952
            ProductMenuHelper.closeProductMenu();
            • 4
              if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
              • 5
                Click(locator1 = "ProductMenu#TOGGLE");
              }
            • 8
              AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
          • 954
            if (isSet(openGraph)) {
            • 955
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_TITLE_ELLIPSES_OG");
            }
          • 957
            else {
            • 958
              ScrollWebElementIntoView(locator1 = "//label[contains(.,'Change Frequency')]");
            • 960
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_TITLE_ELLIPSES");
            }
          }
        • 964
          if (isSet(truncatedURL)) {
          • 965
            if (isSet(openGraph)) {
            • 966
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_URL_ELLIPSES_OG");
            }
          • 968
            else {
            • 969
              ScrollWebElementIntoView(locator1 = "//label[contains(.,'Change Frequency')]");
            • 971
              ProductMenuHelper.closeProductMenu();
              • 4
                if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
                • 5
                  Click(locator1 = "ProductMenu#TOGGLE");
                }
              • 8
                AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
            • 973
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_URL_ELLIPSES");
            }
          }
      • 165
        Button.click(button = "Save");
        • 4
          Click.mouseDownMouseUp( key_text = "${button}", locator1 = "Button#ANY");
      • 167
        Click(locator1 = "ControlMenu#EDIT_COG");
      • 169
        Navigator.gotoNavTab(navTab = "Open Graph");
        • 110
          var key_tab = "${navTab}";
        • 112
          AssertClick.assertPartialTextClickAt( locator1 = "NavTab#TAB_LINK", value1 = "${navTab}");
        • 116
          AssertElementPresent(locator1 = "NavTab#ACTIVE_TAB_LINK");
      • 171
        Page.viewPreview( description = "Liferay Portal provides an excellent platform for building web applications, websites, and portals, but it can additionally be used for a new category of web ap…", htmlTitle = "Liferay Portal provides an excellent platform for building web applications - Test Site Name - ${siteName}", openGraph = "true", pageName = "Long Test Page Name To Check The URL", portalURL = "${portalURL}", siteNameURL = "test-site-name", truncatedHTMLTitle = "true", truncatedURL = "true");
        • 921
          if (isSet(key_imageName)) {
          • 922
            AssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_IMAGE");
          }
        • 925
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_TITLE", value1 = "${htmlTitle}");
        • 929
          var pageNameURL = StringUtil.lowerCase("${pageName}");
        • 931
          var pageNameURL = StringUtil.replace("${pageNameURL}", " ", "-");
        • 933
          var url = "${portalURL}/web/guest/${pageNameURL}";
        • 935
          if (isSet(siteNameURL)) {
          • 936
            var url = "${portalURL}/web/${siteNameURL}/${pageNameURL}";
          }
        • 939
          if (isSet(openGraph)) {
          • 940
            var url = StringUtil.upperCase("${url}");
          }
        • 943
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_URL", value1 = "${url}");
        • 947
          AssertTextEquals( locator1 = "SitePagesEditPage#PREVIEW_DESCRIPTION", value1 = "${description}");
        • 951
          if (isSet(truncatedHTMLTitle)) {
          • 952
            ProductMenuHelper.closeProductMenu();
            • 4
              if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
              • 5
                Click(locator1 = "ProductMenu#TOGGLE");
              }
            • 8
              AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
          • 954
            if (isSet(openGraph)) {
            • 955
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_TITLE_ELLIPSES_OG");
            }
          • 957
            else {
            • 958
              ScrollWebElementIntoView(locator1 = "//label[contains(.,'Change Frequency')]");
            • 960
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_TITLE_ELLIPSES");
            }
          }
        • 964
          if (isSet(truncatedURL)) {
          • 965
            if (isSet(openGraph)) {
            • 966
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_URL_ELLIPSES_OG");
            }
          • 968
            else {
            • 969
              ScrollWebElementIntoView(locator1 = "//label[contains(.,'Change Frequency')]");
            • 971
              ProductMenuHelper.closeProductMenu();
              • 4
                if (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) {
                • 5
                  Click(locator1 = "ProductMenu#TOGGLE");
                }
              • 8
                AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
            • 973
              SikuliAssertElementPresent(locator1 = "SitePagesEditPage#PREVIEW_URL_ELLIPSES");
            }
          }
      }
    • 20
      tearDown {
      • 21
        var testPortalInstance = PropsUtil.get("test.portal.instance");
      • 23
        if ("${testPortalInstance}" == "true") {
        • 24
          PortalInstances.tearDownCP();
          • 88
            SignOut.signOutOfSpecificURL(url = "http://localhost:8080/");
            • 11
              Navigator.openSpecificURL(url = "${url}");
              • 262
                Open(locator1 = "${url}");
            • 13
              UserBar.signOut();
              • 36
                if (IsElementNotPresent(locator1 = "UserBar#USER_SIGN_IN")) {
                • 37
                  Click(locator1 = "UserBar#USER_AVATAR_IMAGE");
                • 39
                  Pause(locator1 = "3000");
                • 41
                  if (IsElementNotPresent(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN")) {
                  • 42
                    Click(locator1 = "UserBar#USER_AVATAR_IMAGE");
                  }
                • 45
                  AssertVisible(locator1 = "UserBar#USER_AVATAR_DROPDOWN_PORTAL_OPEN");
                • 47
                  ScrollWebElementIntoView(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                • 49
                  Click(locator1 = "UserBar#USER_AVATAR_DROPDOWN_SIGNOUT");
                }
          • 90
            SignIn.signInSpecificURL(url = "http://localhost:8080/");
            • 3
              var userEmailAddress = "[email protected]";
            • 4
              var userPassword = "test";
            • 5
              var userPasswordReminderAnswer = "test";
            • 117
              Navigator.openSpecificURL(url = "${url}");
              • 262
                Open(locator1 = "${url}");
            • 119
              SignIn._signIn( rememberMe = "${rememberMe}", userEmailAddress = "${userEmailAddress}", userPassword = "${userPassword}");
              • 3
                var userEmailAddress = "[email protected]";
              • 4
                var userPassword = "test";
              • 5
                var userPasswordReminderAnswer = "test";
              • 8
                if (IsElementNotPresent(locator1 = "TextInput#EMAIL_ADDRESS")) {
                • 9
                  AssertClick( locator1 = "UserBar#USER_SIGN_IN", value1 = "Sign In");
                }
              • 14
                Type( locator1 = "TextInput#EMAIL_ADDRESS", value1 = "${userEmailAddress}");
              • 18
                Type( locator1 = "TextInput#PASSWORD", value1 = "${userPassword}");
              • 22
                if ("${rememberMe}" == "true") {
                • 23
                  Check(locator1 = "Checkbox#REMEMBER_ME");
                }
              • 26
                AssertClick( locator1 = "Button#SIGN_IN", value1 = "Sign In");
              • 30
                AssertElementNotPresent(locator1 = "Button#SIGN_IN");
          • 92
            ProductMenu.gotoPortlet( category = "Configuration", panel = "Control Panel", portlet = "Virtual Instances");
            • 46
              ProductMenuHelper.expandPanel(panel = "${panel}");
              • 22
                ProductMenuHelper.openProductMenu();
                • 46
                  if ((IsElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED")) && (IsElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED"))) {
                  • 47
                    Click(locator1 = "ProductMenu#TOGGLE");
                  }
                • 50
                  AssertElementPresent(locator1 = "ProductMenu#PRODUCT_MENU_OPENED");
                • 52
                  AssertElementNotPresent(locator1 = "ProductMenu#PRODUCT_MENU_CLOSED");
                • 54
                  AssertVisible(locator1 = "ProductMenu#PRODUCT_MENU_BODY");
              • 24
                var key_panel = StringUtil.toLowerCase("${panel}");
              • 25
                var key_panel = StringUtil.replace("${key_panel}", " ", "_");
              • 27
                if (IsElementPresent(locator1 = "ProductMenu#PANEL_COLLAPSED", key_panel = "${key_panel}")) {
                • 28
                  Click( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_COLLAPSED");
                }
              • 33
                AssertElementPresent( key_panel = "${key_panel}", locator1 = "ProductMenu#PANEL_EXPANDED");
            • 48
              ProductMenuHelper.expandCategory(category = "${category}");
              • 12
                var key_category = "${category}";
              • 14
                if (IsElementPresent(locator1 = "ProductMenu#CATEGORY_COLLAPSED")) {
                • 15
                  Click(locator1 = "ProductMenu#CATEGORY_COLLAPSED");
                }
              • 18
                AssertElementPresent(locator1 = "ProductMenu#CATEGORY_EXPANDED");
            • 50
              ProductMenuHelper.gotoPortlet(portlet = "${portlet}");
              • 39
                AssertClick.assertPartialTextClickAt( key_portlet = "${portlet}", locator1 = "ProductMenu#PORTLET", value1 = "${portlet}");
          • 97
            while (IsElementPresent(locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS", key_rowNumber = "2")) {
            • 98
              Click.waitForMenuToggleJSClick( key_rowNumber = "2", locator1 = "ContentRow#ENTRY_CONTENT_ROW_NUMBER_ELLIPSIS");
            • 102
              MenuItem.clickNoError(menuItem = "Delete");
              • 10
                ClickNoError( key_menuItem = "${menuItem}", locator1 = "MenuItem#ANY_MENU_ITEM");
            • 104
              AssertConfirm(value1 = "Are you sure you want to delete this? It will be deleted immediately.");
            • 106
              Alert.viewSuccessMessage();
              • 77
                VerifyElementPresent(locator1 = "Message#SUCCESS_DISMISSIBLE");
              • 79
                if (IsElementPresent(locator1 = "Button#CLOSE_MESSAGE")) {
                • 80
                  Click(locator1 = "Button#CLOSE_MESSAGE");
                }
            }
        }
      • 26
        else {
        • 27
          JSONGroup.deleteGroupByName(groupName = "Test Site Name");
          • 68
            Variables.assertDefined(parameterList = "${groupName}");
            • 5
              if (contains("${parameterList}","{parameterList}")) {
              • 6
                fail("Please define a parameter list in 'parameterList'");
              }
            • 9
              for (var parameter : list "${parameterList}") {
              • 13
                var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
              • 17
                if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                • 18
                  fail("Please set '${parameter}'");
                }
              }
          • 70
            var groupId = JSONGroupSetter.setGroupId(groupName = "${groupName}");
            • 28
              Variables.assertDefined(parameterList = "${groupName}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 30
              var groupId = JSONGroupAPI._getGroupIdByName(groupName = "${groupName}");
              • 104
                Variables.assertDefined(parameterList = "${groupName}");
                • 5
                  if (contains("${parameterList}","{parameterList}")) {
                  • 6
                    fail("Please define a parameter list in 'parameterList'");
                  }
                • 9
                  for (var parameter : list "${parameterList}") {
                  • 13
                    var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                  • 17
                    if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                    • 18
                      fail("Please set '${parameter}'");
                    }
                  }
              • 106
                var companyId = JSONCompany.getCompanyId();
                • 4
                  var portalInstanceName = JSONCompany.getPortalInstanceName();
                  • 17
                    var testNameSkipPortalInstance = PropsUtil.get("test.name.skip.portal.instance");
                  • 18
                    var testPortalInstance = PropsUtil.get("test.portal.instance");
                  • 20
                    if (("${testPortalInstance}" == "true") && (!(IsTestName(locator1 = "", value1 = "${testNameSkipPortalInstance}")))) {
                    • 21
                      var portalURL = JSONCompany.getPortalURL();
                      • 34
                        var portalURL = PropsUtil.get("portal.url");
                      • 36
                        return "${portalURL}";
                    • 23
                      var portalInstanceName = StringUtil.replace("${portalURL}", "http://", "");
                    • 24
                      var portalInstanceName = StringUtil.replace("${portalInstanceName}", ":8080", "");
                    • 26
                      return "${portalInstanceName}";
                    }
                  • 28
                    else {
                    • 29
                      return "localhost";
                    }
                • 6
                  var curl = ''' http://localhost:8080/api/jsonws/company/get-company-by-virtual-host/virtual-host/${portalInstanceName} \ -u [email protected]:test ''';
                • 11
                  var companyId = JSONCurlUtil.get("${curl}", "$['companyId']");
                • 13
                  return "${companyId}";
              • 108
                var portalURL = JSONCompany.getPortalURL();
                • 34
                  var portalURL = PropsUtil.get("portal.url");
                • 36
                  return "${portalURL}";
              • 110
                var curl = ''' ${portalURL}/api/jsonws/group/get-groups/company-id/${companyId}/parent-group-id/0/site/true \ -u [email protected]:test ''';
              • 115
                var groupId = JSONCurlUtil.get("${curl}", "$.[?(@['nameCurrentValue'] == '${groupName}')]['groupId']");
              • 116
                var groupId = StringUtil.replace("${groupId}", "["", "");
              • 117
                var groupId = StringUtil.replace("${groupId}", ""]", "");
              • 119
                if ("${groupId}" == "[]") {
                • 120
                  fail("FAIL. Cannot find group.");
                }
              • 123
                return "${groupId}";
            • 32
              return "${groupId}";
          • 72
            JSONGroupAPI._deleteGroup(groupId = "${groupId}");
            • 63
              Variables.assertDefined(parameterList = "${groupId}");
              • 5
                if (contains("${parameterList}","{parameterList}")) {
                • 6
                  fail("Please define a parameter list in 'parameterList'");
                }
              • 9
                for (var parameter : list "${parameterList}") {
                • 13
                  var isSet = StringUtil.regexReplaceFirst("${parameter}","\$\{[^\$\{\s]*\}","false");
                • 17
                  if (("${isSet}" == "false") && ("${parameter}" != "false")) {
                  • 18
                    fail("Please set '${parameter}'");
                  }
                }
            • 65
              var portalURL = JSONCompany.getPortalURL();
              • 34
                var portalURL = PropsUtil.get("portal.url");
              • 36
                return "${portalURL}";
            • 67
              var curl = ''' ${portalURL}/api/jsonws/group/delete-group \ -u [email protected]:test \ -d groupId=${groupId} ''';
            • 73
              com.liferay.poshi.runner.util.JSONCurlUtil.post("${curl}");
        }
      }