Skip to content

Commit 2e5b9c8

Browse files
committed
Merge branch 'MC-3308' into MC-1416
2 parents 9c66bdb + db76e13 commit 2e5b9c8

File tree

6 files changed

+622
-11
lines changed

6 files changed

+622
-11
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/WYSIWYGActionGroup.xml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,6 @@
3535
<waitForElementVisible selector="{{VariableSection.InsertWidget}}" stepKey="waitForInsertVariable2"/>
3636
<click selector="{{VariableSection.InsertWidget}}" stepKey="clickInsertVariable2"/>
3737
<waitForElementNotVisible selector="{{VariableSection.InsertWidget}}" stepKey="waitForVariableModalToClose"/>
38-
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame"/>
39-
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEVariable(variable.editPanelValue, '1')}}" stepKey="waitForVariable2"/>
40-
<switchToIFrame stepKey="exitIFrame"/>
4138
</actionGroup>
4239
<actionGroup name="addPageLinkVariableWYSIWYGDisabled">
4340
<arguments>
@@ -84,9 +81,6 @@
8481
<click selector="{{WidgetSection.InsertWidget}}" stepKey="clickInsertWidget2"/>
8582
<waitForLoadingMaskToDisappear stepKey="waitForLoadingMaskToDisappear5"/>
8683
<waitForElementNotVisible selector="{{WidgetSection.InsertWidget}}" stepKey="waitForInsertWidgetModalToClose"/>
87-
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame"/>
88-
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEWidget(widget.editPanelValue, '1')}}" stepKey="waitForWidget"/>
89-
<switchToIFrame stepKey="exitIFrame"/>
9084
</actionGroup>
9185
<actionGroup name="addPageLinkWidgetWYSIWYGDisabled">
9286
<arguments>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderTextSection.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,11 @@
1111
<element name="base" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div" parameterized="true"/>
1212
<element name="textAreaText" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[.='{{arg2}}']" parameterized="true"/>
1313
<element name="textAreaTextContains" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[contains(.,'{{arg2}}')]" parameterized="true"/>
14-
<element name="text" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div//p[contains(.,'{{arg2}}')]" parameterized="true"/>
14+
<element name="text" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div//p[contains(.,'{{arg2}}')]/span" parameterized="true"/>
15+
<element name="placeholder" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]//div[contains(@class, 'placeholder-text') and text()='Edit Text']" parameterized="true"/>
16+
<element name="tinymce" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg}}]//div[contains(@class, 'inline-wysiwyg')]" parameterized="true"/>
17+
<element name="importantStyle" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg}}]//span[text()='Important']" parameterized="true"/>
18+
<element name="textInImportantStyle" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]//div/div[contains(normalize-space(@class), 'cms-content-important') and text()='{{arg2}}']" parameterized="true"/>
1519
<!-- Advanced Configuration -->
1620
<element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
1721
<element name="noAlignment" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -36,6 +40,7 @@
3640
<element name="textInIFrame" type="text" selector="//body//p[.='{{arg1}}']" parameterized="true"/>
3741
<element name="tinyMCEVariable" type="text" selector="(//body//span[contains(@class,'magento-variable') and .='{{arg1}}'])[{{arg2}}]" parameterized="true"/>
3842
<element name="tinyMCEWidget" type="text" selector="(//body//span[contains(@class,'magento-widget') and .='{{arg1}}'])[{{arg2}}]" parameterized="true"/>
43+
<element name="tinyMCEImage" type="text" selector="//img[contains(@src,'{{arg}}')]" parameterized="true"/>
3944
<!-- WYSIWYG Disabled -->
4045
<element name="textArea" type="text" selector="#pagebuilder_text_form_content"/>
4146
<element name="textAreaId" type="text" selector="pagebuilder_text_form_content"/>
@@ -49,7 +54,8 @@
4954
<element name="textAreaText" type="text" selector="(//div[@data-role='text'])[{{arg1}}][.='{{arg2}}']" parameterized="true"/>
5055
<element name="textAreaWidget" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
5156
<element name="textAreaVariable" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
52-
<element name="text" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//p[.='{{arg2}}']" parameterized="true"/>
57+
<element name="text" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//p[contains(text(),'{{arg2}}')]" parameterized="true"/>
58+
<element name="empty" type="text" selector="//div[@data-role='text'][{{arg1}}][not(*)]" parameterized="true"/>
5359
<!-- Advanced Configuration -->
5460
<element name="alignment" type="text" selector="(//div[@data-role='text'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
5561
<element name="noAlignment" type="text" selector="(//div[@data-role='text'])[{{arg1}}][not(contains(@style,'text-align:'))]" parameterized="true"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderColumnTest.xml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,121 @@
88

99
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../../dev/tests/acceptance/vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AddWYSIWYGContentTypeToColumnOnStage">
12+
<annotations>
13+
<features value="PageBuilder"/>
14+
<stories value="Text"/>
15+
<title value="Add WYSIWYG Text Content Type to Column on stage"/>
16+
<description value="Verify that user are able to interact with WYSIWYG Text Content Type to Column on stage"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value="MC-1416"/>
19+
<testCaseId value="MC-3469"/>
20+
<group value="kieu"/>
21+
<group value="pagebuilder-text"/>
22+
<group value="pagebuilder-column-content"/>
23+
</annotations>
24+
<before>
25+
<createData entity="_defaultCmsPage" stepKey="createCMSPage" />
26+
<createData entity="_defaultCmsPage" stepKey="createCMSPageB" />
27+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
28+
<actionGroup ref="SwitchToVersion4ActionGroup" stepKey="switchToTinyMCE4" />
29+
</before>
30+
<after>
31+
<actionGroup ref="navigateToMediaGallery" stepKey="navigateToMediaGallery"/>
32+
<actionGroup ref="NavigateToMediaFolderActionGroup" stepKey="NavigateToFolder">
33+
<argument name="FolderName" value="{{ImageUpload3.path}}"/>
34+
</actionGroup>
35+
<actionGroup ref="DeleteImageFromStorageActionGroup" stepKey="DeleteImageFromStorage">
36+
<argument name="Image" value="ImageUpload3"/>
37+
</actionGroup>
38+
<deleteData createDataKey="createCMSPage" stepKey="deletePreReqCMSPage" />
39+
<deleteData createDataKey="createCMSPageB" stepKey="deletePreReqCMSPageB" />
40+
<actionGroup ref="logout" stepKey="logout"/>
41+
</after>
42+
<actionGroup ref="navigateToCreatedCMSPage" stepKey="navigateToCreatedCMSPage1">
43+
<argument name="CMSPage" value="$$createCMSPage$$"/>
44+
</actionGroup>
45+
<actionGroup ref="dragContentTypeToStage" stepKey="dragThirdColumnIntoStage">
46+
<argument name="contentType" value="PageBuilderColumnContentType"/>
47+
</actionGroup>
48+
<actionGroup ref="dragContentTypeToContainer" stepKey="dragTextToColumn">
49+
<argument name="contentType" value="PageBuilderTextContentType"/>
50+
<argument name="containerTargetType" value="PageBuilderColumnContentType"/>
51+
<argument name="containerTargetIndex" value="1"/>
52+
<argument name="contentTypeIndex" value="1"/>
53+
</actionGroup>
54+
<!--Input text into stage-->
55+
<comment userInput="Input text into stage" stepKey="commentInputTextIntoStage"/>
56+
<click selector="{{TextOnStage.tinymce('1')}}" stepKey="focusOnEditorArea"/>
57+
<fillField selector="{{TextOnStage.tinymce('1')}}" userInput="{{PageBuilderTextContentTypeDefault.value}}" stepKey="fillTextToTinyMCE4"/>
58+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="lostFocusFromWYSIWYG1"/>
59+
<!--Verify inputed text on slideout-->
60+
<comment userInput="Verify inputed text on slideout" stepKey="commentVerifyTextOnSlideout"/>
61+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage1">
62+
<argument name="contentType" value="PageBuilderTextContentType"/>
63+
</actionGroup>
64+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame1"/>
65+
<waitForElementVisible selector="{{TextOnConfiguration.textInIFrame(PageBuilderTextContentTypeDefault.value)}}" stepKey="waitForText"/>
66+
<switchToIFrame stepKey="exitIFrame1"/>
67+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings1"/>
68+
<!--Input variable into stage-->
69+
<comment userInput="Input variable into stage" stepKey="commentInputVariableIntoStage"/>
70+
<click selector="{{TextOnStage.tinymce('1')}}" stepKey="focusOnEditorArea1"/>
71+
<actionGroup ref="addVariableToTinyMCE" stepKey="addVariableToTinyMCE">
72+
<argument name="variable" value="TinyMCEVariableBaseURL"/>
73+
</actionGroup>
74+
<waitForElementVisible selector="{{TextOnStage.text('1', TinyMCEVariableBaseURL.editPanelValue)}}" stepKey="waitForVariableBaseURLStage"/>
75+
<!--Verify inputed variable on slideout-->
76+
<comment userInput="Verify inputed variable on slideout" stepKey="commentVerifyVariableOnSlideout"/>
77+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="lostFocusFromWYSIWYG2"/>
78+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2">
79+
<argument name="contentType" value="PageBuilderTextContentType"/>
80+
</actionGroup>
81+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame2"/>
82+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEVariable(TinyMCEVariableBaseURL.editPanelValue, '1')}}" stepKey="waitForVariable2"/>
83+
<switchToIFrame stepKey="exitIFrame2"/>
84+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings2"/>
85+
<!--Input widget into stage-->
86+
<comment userInput="Input widget into stage" stepKey="commentInputWidgetIntoStage"/>
87+
<click selector="{{TextOnStage.tinymce('1')}}" stepKey="focusOnEditorArea2"/>
88+
<actionGroup ref="addPageLinkWidgetToTinyMCE" stepKey="addPageLinkWidgetToTinyMCE">
89+
<argument name="widget" value="TinyMCEWidgetCMSPageLink"/>
90+
<argument name="page" value="$$createCMSPageB.identifier$$"/>
91+
</actionGroup>
92+
<waitForElementVisible selector="{{TextOnStage.text('1', TinyMCEWidgetCMSPageLink.editPanelValue)}}" stepKey="waitForWidgetStage"/>
93+
<click selector="{{PageBuilderPanel.searchPanel}}" stepKey="lostFocusFromWYSIWYG3"/>
94+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
95+
<argument name="contentType" value="PageBuilderTextContentType"/>
96+
</actionGroup>
97+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame3"/>
98+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEWidget(TinyMCEWidgetCMSPageLink.editPanelValue, '1')}}" stepKey="waitForWidget"/>
99+
<switchToIFrame stepKey="exitIFrame3"/>
100+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings"/>
101+
<!--Input image into stage-->
102+
<comment userInput="Input image into stage" stepKey="commentInputImageIntoStage"/>
103+
<click selector="{{TextOnStage.tinymce('1')}}" stepKey="focusOnTextEditorArea"/>
104+
<click selector="{{TinyMCESection.InsertImageIcon}}" stepKey="clickInsertImageIcon" />
105+
<waitForPageLoad stepKey="waitForPageLoad" />
106+
<actionGroup ref="clickBrowseBtnOnUploadPopup" stepKey="clickBrowserBtn"/>
107+
<actionGroup ref="VerifyMediaGalleryStorageActions" stepKey="VerifyMediaGalleryStorageBtn"/>
108+
<actionGroup ref="CreateImageFolder" stepKey="CreateImageFolder">
109+
<argument name="ImageFolder" value="ImageFolder"/>
110+
</actionGroup>
111+
<actionGroup ref="attachImage" stepKey="attachImage1">
112+
<argument name="Image" value="ImageUpload3"/>
113+
</actionGroup>
114+
<actionGroup ref="saveImage" stepKey="insertImage"/>
115+
<actionGroup ref="fillOutUploadImagePopup" stepKey="fillOutUploadImagePopup" />
116+
<seeElementInDOM selector="{{CmsWYSIWYGSection.imageSource(ImageUpload3.fileName)}}" stepKey="assertMediaSourceOnStage"/>
117+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage2"/>
118+
<!--Verify Content Block on storefront-->
119+
<comment userInput="Verify empty Content Block on storefront" stepKey="commentVerifyEmptyBlock"/>
120+
<amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/>
121+
<see userInput="{{PageBuilderTextContentTypeDefault.value}}" stepKey="seeTextContentType"/>
122+
<seeElement selector="{{StorefrontCMSPageSection.imageSource(ImageUpload3.fileName)}}" stepKey="assertMediaSource"/>
123+
<seeElement selector="{{TextOnStorefront.text('1', _ENV.MAGENTO_BASE_URL)}}" stepKey="waitForVariableStorefront"/>
124+
<seeElement selector="{{TextOnStorefront.textAreaWidget('1', 'text', $$createCMSPageB.identifier$$)}}" stepKey="waitForWidgetStorefront"/>
125+
</test>
11126
<test name="ColumnAddToRowAndHeightAdjusts">
12127
<annotations>
13128
<features value="PageBuilder"/>

app/code/Magento/PageBuilder/Test/Mftf/Test/AdminPageBuilderCommonTest.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1403,12 +1403,22 @@
14031403
<actionGroup ref="addVariableToTinyMCE" stepKey="addVariableToTinyMCE">
14041404
<argument name="variable" value="TinyMCEVariableCountry"/>
14051405
</actionGroup>
1406+
<!--Switch to iFrame 1-->
1407+
<comment userInput="Switch to iFrame" stepKey="commentSwitchToIFrame1"/>
1408+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame1"/>
1409+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEVariable(TinyMCEVariableBaseURL.editPanelValue, '1')}}" stepKey="waitForVariable2"/>
1410+
<switchToIFrame stepKey="exitIFrame1"/>
14061411
<!--Add variable into Text content-->
14071412
<comment userInput="Add widget into Text content" stepKey="addWidgetIntoTextContent"/>
14081413
<actionGroup ref="addPageLinkWidgetToTinyMCE" stepKey="addPageLinkWidgetToTinyMCE">
14091414
<argument name="widget" value="TinyMCEWidgetCMSPageLink"/>
14101415
<argument name="page" value="$$createCMSPageB.identifier$$"/>
14111416
</actionGroup>
1417+
<!--Switch to iFrame-->
1418+
<comment userInput="Switch to iFrame" stepKey="commentSwitchToIFrame"/>
1419+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame"/>
1420+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEWidget(TinyMCEWidgetCMSPageLink.editPanelValue, '1')}}" stepKey="waitForWidget"/>
1421+
<switchToIFrame stepKey="exitIFrame"/>
14121422
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettings"/>
14131423
<waitForElementVisible time="5" selector="{{PageBuilderStage.exitFullScreen}}" stepKey="waitForExitFullScreen" />
14141424
<click selector="{{PageBuilderStage.exitFullScreen}}" stepKey="exitPageBuilderFullScreen" />
@@ -1509,12 +1519,22 @@
15091519
<actionGroup ref="addVariableToTinyMCE" stepKey="addVariableToTinyMCE">
15101520
<argument name="variable" value="TinyMCEVariableCountry"/>
15111521
</actionGroup>
1522+
<!--Switch to iFrame 1-->
1523+
<comment userInput="Switch to iFrame" stepKey="commentSwitchToIFrame1"/>
1524+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame1"/>
1525+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEVariable(TinyMCEVariableBaseURL.editPanelValue, '1')}}" stepKey="waitForVariable2"/>
1526+
<switchToIFrame stepKey="exitIFrame1"/>
15121527
<!--Add widget to PageBuilder-->
15131528
<comment userInput="Add widget to PageBuilder" stepKey="addWidgetToPageBuilder"/>
15141529
<actionGroup ref="addPageLinkWidgetToTinyMCE" stepKey="addPageLinkWidgetToTinyMCE">
15151530
<argument name="widget" value="TinyMCEWidgetCMSPageLink"/>
15161531
<argument name="page" value="$$createCMSPageB.identifier$$"/>
15171532
</actionGroup>
1533+
<!--Switch to iFrame-->
1534+
<comment userInput="Switch to iFrame" stepKey="commentSwitchToIFrame"/>
1535+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame"/>
1536+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEWidget(TinyMCEWidgetCMSPageLink.editPanelValue, '1')}}" stepKey="waitForWidget"/>
1537+
<switchToIFrame stepKey="exitIFrame"/>
15181538
<click selector="{{EditPanelForm.editFormSave}}" stepKey="clickSaveColumn"/>
15191539
<waitForElementNotVisible time="5" selector="{{EditPanelForm.editForm}}" stepKey="waitForEditFormNotVisible" />
15201540
<waitForElementVisible time="5" selector="{{PageBuilderStage.exitFullScreen}}" stepKey="waitForExitFullScreen" />

0 commit comments

Comments
 (0)