Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest/home
Running assertLiferayErrors
Running IsElementNotPresent with locator1//span[contains(@class,'sign-in')]/a/span
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//span[contains(@class,'sign-in')]/a/span
Running assertLiferayErrors
Running isElementPresent with parameters//span[contains(@class,'sign-in')]/a/span
Running isNotVisible with parameters//span[contains(@class,'sign-in')]/a/span
Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20100","contactId":"20131","createDate":1626913843788,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":1626914933554,"lastLoginDate":1626937756042,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1626938137215,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1626938606656,"mvccVersion":"67","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20129","uuid":"cbed1b09-0d4d-54a8-f3e2-96bb51dc8913"}Finished executing commands.
Running post with parametersArg: ${curl}Return: {"agreedToTermsOfUse":true,"comments":"","companyId":"20100","contactId":"20131","createDate":1626913843788,"ctCollectionId":"0","defaultUser":false,"emailAddress":"test@liferay.com","emailAddressVerified":true,"externalReferenceCode":"","facebookId":"0","failedLoginAttempts":0,"firstName":"Test","googleUserId":"","graceLoginCount":0,"greeting":"Welcome Test Test!","jobTitle":"","languageId":"en_US","lastFailedLoginDate":1626914933554,"lastLoginDate":1626937756042,"lastLoginIP":"127.0.0.1","lastName":"Test","ldapServerId":"-1","lockout":false,"lockoutDate":null,"loginDate":1626938137215,"loginIP":"127.0.0.1","middleName":"","modifiedDate":1626938607113,"mvccVersion":"68","openId":"","portraitId":"0","reminderQueryAnswer":"test","reminderQueryQuestion":"what-is-your-father's-middle-name","screenName":"test","status":0,"timeZoneId":"UTC","userId":"20129","uuid":"cbed1b09-0d4d-54a8-f3e2-96bb51dc8913"}Finished executing commands.
Running Open with locator1http://localhost:8080/web/guest?SM_USER=test@liferay.com
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
Running assertLiferayErrors
Running selectWindow with parameters
Running selectFrame with parametersrelative=top
Running open with parametershttp://localhost:8080/web/guest?SM_USER=test@liferay.com
Running post with parametersArg: ${curl}Return: {"active":true,"classNameId":"20003","classPK":"40637","companyId":"20100","creatorUserId":"20129","ctCollectionId":"0","description":"","descriptionCurrentValue":"","descriptiveName":"Test Site Name","friendlyURL":"\/test-site-name","groupId":"40637","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":"\/40637\/","type":1,"uuid":"7e663720-ed57-d609-6f9d-3691c815c66d"}Finished executing commands.
## * GroupId: 40637
## * GroupId: 40637
Running post with parametersArg: ${curl}Return: {"classNameId":"0","classPK":"0","colorSchemeId":"","companyId":"20100","createDate":1626938617733,"css":"","ctCollectionId":"0","description":"","descriptionCurrentValue":"","friendlyURL":"\/web-content-page","groupId":"40637","hidden":false,"iconImageId":"0","keywords":"","keywordsCurrentValue":"","lastPublishDate":null,"layoutId":"1","layoutPrototypeLinkEnabled":false,"layoutPrototypeUuid":"","masterLayoutPlid":"0","modifiedDate":1626938620183,"mvccVersion":"1","name":"<?xml version='1.0' encoding='UTF-8'?><root available-locales=\"en_US\" default-locale=\"en_US\"><Name language-id=\"en_US\">Web Content Page<\/Name><\/root>","nameCurrentValue":"Web Content Page","parentLayoutId":"0","parentPlid":"0","plid":"65","priority":0,"privateLayout":false,"publishDate":1626938617733,"robots":"","robotsCurrentValue":"","sourcePrototypeLayoutUuid":"","status":0,"statusByUserId":"20129","statusByUserName":"Test Test","statusDate":1626938617733,"styleBookEntryId":"0","system":false,"themeId":"","title":"","titleCurrentValue":"","type":"portlet","typeSettings":"column-1=com_liferay_journal_content_web_portlet_JournalContentPortlet_INSTANCE_9ceFLIq1Wrcg%0Alayout-template-id=2_columns_ii%0A","userId":"20129","userName":"Test Test","uuid":"28f514a6-03b1-addb-e737-6aa90757cfbb"}Finished executing commands.
Running Open with locator1http://localhost:8080/group/control_panel/manage?p_p_id=com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_factoryPid=com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_mvcRenderCommandName=%2Fconfiguration_admin%2Fedit_configuration
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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/control_panel/manage?p_p_id=com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_factoryPid=com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_mvcRenderCommandName=%2Fconfiguration_admin%2Fedit_configuration
Running assertLiferayErrors
Running selectWindow with parameters
Running selectFrame with parametersrelative=top
Running open with parametershttp://localhost:8080/group/control_panel/manage?p_p_id=com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_factoryPid=com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_mvcRenderCommandName=%2Fconfiguration_admin%2Fedit_configuration
Running assertJavaScriptErrors with parametershttp://localhost:8080/group/control_panel/manage?p_p_id=com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_factoryPid=com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_mvcRenderCommandName=%2Fconfiguration_admin%2Fedit_configuration
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/control_panel/manage?p_p_id=com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_factoryPid=com.liferay.asset.auto.tagger.opennlp.internal.configuration.OpenNLPDocumentAssetAutoTaggerCompanyConfiguration&_com_liferay_configuration_admin_web_portlet_SystemSettingsPortlet_mvcRenderCommandName=%2Fconfiguration_admin%2Fedit_configuration
Running assertLiferayErrors
Running Type with locator1//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text'] with value10.001
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]0.001
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]0.001
Running assertJavaScriptErrors with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running assertLiferayErrors
Running waitForVisible with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']0.001
Running waitForEditable with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running mouseOver with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running clickAt with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running pause with parameters1000
Running type with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']0.001
Running pause with parameters1000
Running clickAt with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running pause with parameters1000
Running assertJavaScriptErrors with parameters//div[label[contains(.,'Confidence Threshold')]]//input[@type='text'] | //div[contains(@class,'ddm-field') and contains(.,'Confidence Threshold')]//input[@type='text']
Running assertLiferayErrors
Running Click with locator1//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running assertLiferayErrors
Running waitForVisible with parameters//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running mouseOver with parameters//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running click with parameters//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running assertJavaScriptErrors with parameters//a[*[name()='svg'][contains(@class,'icon-caret-double')]]
Running assertLiferayErrors
Running Click with locator1xpath=(//div | //li)[(contains(@class,'open') or contains(@class,'show')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running assertLiferayErrors
Running waitForVisible with parametersxpath=(//div | //li)[(contains(@class,'open') or contains(@class,'show')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running mouseOver with parametersxpath=(//div | //li)[(contains(@class,'open') or contains(@class,'show')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running click with parametersxpath=(//div | //li)[(contains(@class,'open') or contains(@class,'show')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[(contains(@class,'open') or contains(@class,'show')) and (contains(@class,'dropdown') or contains(.//*/@class,'dropdown'))]//*[self::a or self::span or self::button][normalize-space(text())='Web Content Article']
Running assertLiferayErrors
Running IsElementPresent with locator1//button[contains(.,'Update')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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(.,'Update')]
Running assertLiferayErrors
Running isElementPresent with parameters//button[contains(.,'Update')]
Running ScrollWebElementIntoView with locator1//*[contains(@class,'btn')][normalize-space(text())='Update']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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())='Update']
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running scrollWebElementIntoView with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running assertLiferayErrors
Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Update']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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())='Update']
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Update']
Running assertLiferayErrors
Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertLiferayErrors
Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
This test asserts that a webcontent is auto tagged when it is published from draft status.
Running Open with locator1http://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_ddmStructureKey=BASIC-WEB-CONTENT
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_ddmStructureKey=BASIC-WEB-CONTENT
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_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_ddmStructureKey=BASIC-WEB-CONTENT
Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_ddmStructureKey=BASIC-WEB-CONTENT
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_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_ddmStructureKey=BASIC-WEB-CONTENT
Running assertLiferayErrors
Running AssertVisible with locator1//div[contains(@class,'contextual-sidebar-visible')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'contextual-sidebar-visible')]
Running assertLiferayErrors
Running waitForVisible with parameters//div[contains(@class,'contextual-sidebar-visible')]
Running assertVisible with parameters//div[contains(@class,'contextual-sidebar-visible')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'contextual-sidebar-visible')]
Running assertLiferayErrors
Running Pause with locator12000
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters2000
Running assertLiferayErrors
Running pause with parameters2000
Running Click with locator1//input[contains(@id,'title')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running waitForVisible with parameters//input[contains(@id,'title')]
Running mouseOver with parameters//input[contains(@id,'title')]
Running click with parameters//input[contains(@id,'title')]
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running Click with locator1//input[contains(@id,'title')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running waitForVisible with parameters//input[contains(@id,'title')]
Running mouseOver with parameters//input[contains(@id,'title')]
Running click with parameters//input[contains(@id,'title')]
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running Type with locator1//input[contains(@id,'title')] with value1Digital Transformation or Digital Experience
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Digital Transformation or Digital Experience
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Digital Transformation or Digital Experience
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running waitForVisible with parameters//input[contains(@id,'title')]Digital Transformation or Digital Experience
Running waitForEditable with parameters//input[contains(@id,'title')]
Running mouseOver with parameters//input[contains(@id,'title')]
Running clickAt with parameters//input[contains(@id,'title')]
Running pause with parameters1000
Running type with parameters//input[contains(@id,'title')]Digital Transformation or Digital Experience
Running pause with parameters1000
Running clickAt with parameters//input[contains(@id,'title')]
Running pause with parameters1000
Running assertJavaScriptErrors with parameters//input[contains(@id,'title')]
Running assertLiferayErrors
Running SelectFrame#selectFrameNoLoading with locator1xpath=(//*[contains(@id,'cke')]/iframe)[2]
Running waitForVisible with parametersxpath=(//*[contains(@id,'cke')]/iframe)[2]
Running mouseOver with parametersxpath=(//*[contains(@id,'cke')]/iframe)[2]
Running selectFrame with parametersxpath=(//*[contains(@id,'cke')]/iframe)[2]
Running assertJavaScriptErrors with parametersxpath=(//*[contains(@id,'cke')]/iframe)[2]
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 parametersxpath=(//*[contains(@id,'cke')]/iframe)[2]
Running assertLiferayErrors
Running Type with locator1//body[contains(@class,'cke_editable')] with value1Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.
Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
Running assertLiferayErrors
Running waitForVisible with parameters//body[contains(@class,'cke_editable')]Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.
Running waitForEditable with parameters//body[contains(@class,'cke_editable')]
Running mouseOver with parameters//body[contains(@class,'cke_editable')]
Running clickAt with parameters//body[contains(@class,'cke_editable')]
Running pause with parameters1000
Running type with parameters//body[contains(@class,'cke_editable')]Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.
Running pause with parameters1000
Running clickAt with parameters//body[contains(@class,'cke_editable')]
Running pause with parameters1000
Running assertJavaScriptErrors with parameters//body[contains(@class,'cke_editable')]
Running assertLiferayErrors
Running SelectFrame with value1relative=top
Running selectFrame with parametersrelative=top
Running assertJavaScriptErrors with parameters
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]relative=top
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]relative=top
Running assertJavaScriptErrors with parameters
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]relative=top
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]relative=top
Running assertJavaScriptErrors with parameters
Running assertLiferayErrors
Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Save as Draft']
Running assertLiferayErrors
Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertLiferayErrors
Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertLiferayErrors
Running Open with locator1http://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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_journal_web_portlet_JournalPortlet
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_journal_web_portlet_JournalPortlet
Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet
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_journal_web_portlet_JournalPortlet
Running assertLiferayErrors
Running WaitForPageLoad
Running waitForJavaScriptNoError with parameters
return document.readyState === "complete";
Page is still loading.
Running verifyJavaScript with parameters
return document.readyState === "complete";
Page is still loading.
Running Click with locator1//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertLiferayErrors
Running waitForVisible with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running mouseOver with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running click with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertLiferayErrors
Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertLiferayErrors
Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertLiferayErrors
Running AssertElementPresent#pauseAssertVisible with locator1//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertLiferayErrors
Running pause with parameters2000
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertLiferayErrors
Running waitForVisible with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertVisible with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertLiferayErrors
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']/div
Running assertLiferayErrors
Running AssertTextEquals with locator1//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')] with value1DRAFT
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]DRAFT
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]DRAFT
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]DRAFT
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]DRAFT
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]
Running assertLiferayErrors
Running waitForVisible with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]DRAFT
Running waitForTextCaseInsensitive with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]DRAFT
Running assertTextCaseInsensitive with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]DRAFT
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//span[contains(@class,'label')]
Running assertLiferayErrors
Running WaitForPageLoad
Running waitForJavaScriptNoError with parameters
return document.readyState === "complete";
Page is still loading.
Running verifyJavaScript with parameters
return document.readyState === "complete";
Page is still loading.
Running Click with locator1//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertLiferayErrors
Running waitForVisible with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running mouseOver with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running click with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertJavaScriptErrors with parameters//ul[@class='navbar-nav'][2]//li[contains(@class,'nav-item')]//button[contains(@class,'dropdown-toggle') and contains(@class,'nav-link-monospaced')]
Running assertLiferayErrors
Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertLiferayErrors
Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='List']
Running assertLiferayErrors
Running AssertTextEquals#assertPartialText with locator1//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//a with value1Digital Transformation or Digital Experience
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]Digital Transformation or Digital Experience
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]Digital Transformation or Digital Experience
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//a
Running assertLiferayErrors
Running waitForVisible with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//aDigital Transformation or Digital Experience
Running waitForPartialTextCaseInsensitive with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//aDigital Transformation or Digital Experience
Running assertPartialTextCaseInsensitive with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//aDigital Transformation or Digital Experience
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[@data-qa-id='rowItemContent']//a
Running assertLiferayErrors
Running Click#waitForMenuToggleJSClick with locator1//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running assertLiferayErrors
Running selectFrame with parametersrelative=top
Running waitForElementPresent with parameters//script[contains(@src,'/o/frontend-js-aui-web/liferay/menu_toggle.js')]
Running isElementPresent with parameters//*[contains(@class,'modal-body')]/iframe[not(contains(@class,'hidden'))]
Running pause with parameters3000
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running assertLiferayErrors
Running waitForVisible with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running mouseOver with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running click with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running assertLiferayErrors
Running assertJavaScriptErrors with parameters//li[contains(@data-title,'Digital Transformation or Digital Experience')]//*[contains(@class,'dropdown-toggle')]
Running assertLiferayErrors
Running Click with locator1xpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running assertLiferayErrors
Running waitForVisible with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running mouseOver with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running click with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running assertJavaScriptErrors with parametersxpath=(//div | //li)[contains(@class,'open') or contains(@class,'show')]//*[normalize-space(text())='Edit']
Running assertLiferayErrors
Running AssertElementPresent with locator1//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
Running assertLiferayErrors
Running waitForElementPresent with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
Running assertElementPresent with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
Running assertJavaScriptErrors with parameters//a[span//*[name()='svg'][contains(@class,'icon-angle-left')]] | //a[contains(@class,'icon-circle-arrow-left') and contains(@class,'previous-level')] | //span[contains(@class,'icon-angle-left')]
Running assertLiferayErrors
Running ScrollWebElementIntoView with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running scrollWebElementIntoView with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertLiferayErrors
Running Click#mouseDownMouseUp with locator1//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running waitForVisible with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running mouseDown with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running mouseUp with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertJavaScriptErrors with parameters//*[contains(@class,'btn')][normalize-space(text())='Publish']
Running assertLiferayErrors
Running VerifyElementPresent with locator1//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running waitForElementNotPresent with parameters//div[contains(@class,'lfr-notification-wrapper') and contains(@style,'height: 82px;')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertLiferayErrors
Running waitForElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]false
Running verifyElementPresent with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertJavaScriptErrors with parameters//div[contains(@class,'alert-success')][contains(@class,'alert-dismissible')] | //div[contains(@class,'alert-success')][contains(@class,'alert-dismissable')]
Running assertLiferayErrors
## * GroupId: 40637
## * GroupId: 40637
## * GroupId: 40637
Running Open with locator1http://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_redirect=%2Fgroup%2Ftest-site-name-staging%2F~%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_journal_web_portlet_JournalPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D40637%26p_p_auth%3DeuYy8gst%26wkrh___tabs1%3Dproperties&_com_liferay_journal_web_portlet_JournalPortlet_groupId=40637&_com_liferay_journal_web_portlet_JournalPortlet_folderId=0&_com_liferay_journal_web_portlet_JournalPortlet_articleId=40648
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_redirect=%2Fgroup%2Ftest-site-name-staging%2F~%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_journal_web_portlet_JournalPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D40637%26p_p_auth%3DeuYy8gst%26wkrh___tabs1%3Dproperties&_com_liferay_journal_web_portlet_JournalPortlet_groupId=40637&_com_liferay_journal_web_portlet_JournalPortlet_folderId=0&_com_liferay_journal_web_portlet_JournalPortlet_articleId=40648
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_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_redirect=%2Fgroup%2Ftest-site-name-staging%2F~%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_journal_web_portlet_JournalPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D40637%26p_p_auth%3DeuYy8gst%26wkrh___tabs1%3Dproperties&_com_liferay_journal_web_portlet_JournalPortlet_groupId=40637&_com_liferay_journal_web_portlet_JournalPortlet_folderId=0&_com_liferay_journal_web_portlet_JournalPortlet_articleId=40648
Running assertJavaScriptErrors with parametershttp://localhost:8080/group/test-site-name/~/control_panel/manage?p_p_id=com_liferay_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_redirect=%2Fgroup%2Ftest-site-name-staging%2F~%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_journal_web_portlet_JournalPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D40637%26p_p_auth%3DeuYy8gst%26wkrh___tabs1%3Dproperties&_com_liferay_journal_web_portlet_JournalPortlet_groupId=40637&_com_liferay_journal_web_portlet_JournalPortlet_folderId=0&_com_liferay_journal_web_portlet_JournalPortlet_articleId=40648
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_journal_web_portlet_JournalPortlet&_com_liferay_journal_web_portlet_JournalPortlet_mvcPath=%2Fedit_article.jsp&_com_liferay_journal_web_portlet_JournalPortlet_redirect=%2Fgroup%2Ftest-site-name-staging%2F~%2Fcontrol_panel%2Fmanage%3Fp_p_id%3Dcom_liferay_journal_web_portlet_JournalPortlet%26p_p_lifecycle%3D0%26p_p_state%3Dmaximized%26p_v_l_s_g_id%3D40637%26p_p_auth%3DeuYy8gst%26wkrh___tabs1%3Dproperties&_com_liferay_journal_web_portlet_JournalPortlet_groupId=40637&_com_liferay_journal_web_portlet_JournalPortlet_folderId=0&_com_liferay_journal_web_portlet_JournalPortlet_articleId=40648
Running assertLiferayErrors
Running AssertElementNotPresent with locator1//fieldset[@disabled]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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//fieldset[@disabled]
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//fieldset[@disabled]
Running assertElementNotPresent with parameters//fieldset[@disabled]
Running assertJavaScriptErrors with parameters//fieldset[@disabled]
Running assertLiferayErrors
Running AssertVisible with locator1//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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,'panel')]//*[normalize-space()='Categorization'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertLiferayErrors
Running waitForVisible with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertVisible with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertJavaScriptErrors with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertLiferayErrors
Running IsElementPresent with locator1//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='false'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='false'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertLiferayErrors
Running isElementPresent with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='false'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running AssertElementPresent with locator1//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='true'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]
Running isElementPresent with parameters//div[contains(@class,'lfr-notification-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,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='true'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertLiferayErrors
Running waitForElementPresent with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='true'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertElementPresent with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='true'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertJavaScriptErrors with parameters//*[contains(@class,'panel')]//*[normalize-space()='Categorization'][@aria-expanded='true'][contains(@class,'collapse')][not(contains(@data-qa-id,'app'))]
Running assertLiferayErrors
Running AssertTextEquals with locator1//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] with value1dxp
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]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;')]dxp
Running assertJavaScriptErrors with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]
Running assertLiferayErrors
Running waitForElementNotPresent with parameters//html[contains(@class,'lfr-spa-loading')]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;')]dxp
Running assertJavaScriptErrors with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]
Running assertLiferayErrors
Running waitForVisible with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]dxp
Running waitForTextCaseInsensitive with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]dxp
Running assertTextCaseInsensitive with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]dxp
Running assertJavaScriptErrors with parameters//div[contains(@id,'assetTagsSelector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')] | //div[contains(@class,'tags-selector')]//span[(contains(@class,'label-dismissible'))][contains(.,'dxp')]
WebContent.addDraft(
webContentContent = "Digital Transformation or Digital Experience? When selecting a DXP, companies should decide whether they are ready for deep transformation of their business operations, or are focused primarily on marketing and brand awareness, as these priorities tend to reflect the different strengths among the DXP vendors. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. In a Forrester presentation, analyst Liz Herbert notes that real digital transformation spans both the experience layer and the operations core. Having an attractive website or mobile app is good, but more substantial gains in customer experience require processes to be re-optimized with the customer in mind. This responsiveness to customer needs can be achieved in a number of ways, from basic personalization of experience, to more advanced configurable workflows, to full modularization of business services that can be quickly re-assembled in new ways. However, not all companies are prepared for that level of change, and may in the meantime want to start segmenting audiences in order to target personalized offers. Some vendors, particularly those that have had content management systems, can do this well. Ideally, your platform will have both operational and marketing capabilities, so that even if you start with digital marketing, you won’t have to go through a second vendor selection process when you are ready for operational transformation. Also, there isn’t just one way to achieve these goals. Using any category heritage of DXP in combination with an overall architecture for integration and modular services can get you there.",
webContentTitle = "Digital Transformation or Digital Experience");