Skip to content

Commit 7282f83

Browse files
committed
Merge remote-tracking branch 'remotes/origin/MC-3308' into MC-1416
2 parents 9c66bdb + ceb1536 commit 7282f83

File tree

6 files changed

+540
-22
lines changed

6 files changed

+540
-22
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: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
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"/>
1515
<!-- Advanced Configuration -->
1616
<element name="alignment" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
1717
<element name="noAlignment" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -29,13 +29,16 @@
2929
<element name="noMargins" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[not(contains(@style,'margin:'))]" parameterized="true"/>
3030
<element name="padding" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/>
3131
<element name="noPadding" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]/div[not(contains(@style,'padding:'))]" parameterized="true"/>
32+
<element name="placeholder" type="text" selector="(//div[contains(@class,'pagebuilder-text')])[{{arg1}}]//div[contains(@class, 'placeholder-text') and text()='Edit Text']" parameterized="true"/>
33+
<element name="tinymce" type="text" selector=".inline-wysiwyg"/>
3234
</section>
3335
<section name="TextOnConfiguration">
3436
<!-- WYSIWYG Enabled -->
3537
<element name="tinyMCEIFrame" type="text" selector="pagebuilder_text_form_content_ifr"/>
3638
<element name="textInIFrame" type="text" selector="//body//p[.='{{arg1}}']" parameterized="true"/>
3739
<element name="tinyMCEVariable" type="text" selector="(//body//span[contains(@class,'magento-variable') and .='{{arg1}}'])[{{arg2}}]" parameterized="true"/>
3840
<element name="tinyMCEWidget" type="text" selector="(//body//span[contains(@class,'magento-widget') and .='{{arg1}}'])[{{arg2}}]" parameterized="true"/>
41+
<element name="tinyMCEImage" type="text" selector="//img[contains(@src,'{{arg}}')]" parameterized="true"/>
3942
<!-- WYSIWYG Disabled -->
4043
<element name="textArea" type="text" selector="#pagebuilder_text_form_content"/>
4144
<element name="textAreaId" type="text" selector="pagebuilder_text_form_content"/>
@@ -49,7 +52,7 @@
4952
<element name="textAreaText" type="text" selector="(//div[@data-role='text'])[{{arg1}}][.='{{arg2}}']" parameterized="true"/>
5053
<element name="textAreaWidget" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//a[contains(@href,'{{arg2}}{{arg3}}')]" parameterized="true"/>
5154
<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"/>
55+
<element name="text" type="text" selector="(//div[@data-role='text'])[{{arg1}}]//p[contains(text(),'{{arg2}}')]" parameterized="true"/>
5356
<!-- Advanced Configuration -->
5457
<element name="alignment" type="text" selector="(//div[@data-role='text'])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>
5558
<element name="noAlignment" type="text" selector="(//div[@data-role='text'])[{{arg1}}][not(contains(@style,'text-align:'))]" parameterized="true"/>
@@ -67,6 +70,7 @@
6770
<element name="noMargins" type="text" selector="(//div[@data-role='text'])[{{arg1}}][not(contains(@style,'margin:'))]" parameterized="true"/>
6871
<element name="padding" type="text" selector="(//div[@data-role='text'])[{{arg1}}][contains(@style,'padding: {{arg2}}px;')]" parameterized="true"/>
6972
<element name="noPadding" type="text" selector="(//div[@data-role='text'])[{{arg1}}][not(contains(@style,'padding:'))]" parameterized="true"/>
73+
<element name="empty" type="text" selector="//div[@data-role='text'][{{arg1}}][not(*)]" parameterized="true"/>
7074
</section>
7175
<section name="TextOnBackend">
7276
<element name="textInstance" type="button" selector='//div[contains(@class, "pagebuilder-text")][1]/div[1]'/>

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

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,110 @@
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="CanAddTextBLockToColumnBlock">
12+
<annotations>
13+
<features value="PageBuilder"/>
14+
<stories value="Text"/>
15+
<title value="Add text content block to column"/>
16+
<description value="Verify that user are able to add Text Content Block to Column"/>
17+
<severity value="CRITICAL"/>
18+
<useCaseId value=""/>
19+
<testCaseId value=""/>
20+
<group value="pagebuilder"/>
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+
<deleteData createDataKey="createCMSPage" stepKey="deletePreReqCMSPage" />
32+
<deleteData createDataKey="createCMSPageB" stepKey="deletePreReqCMSPageB" />
33+
<actionGroup ref="logout" stepKey="logout"/>
34+
</after>
35+
<actionGroup ref="navigateToCreatedCMSPage" stepKey="navigateToCreatedCMSPage1">
36+
<argument name="CMSPage" value="$$createCMSPage$$"/>
37+
</actionGroup>
38+
<actionGroup ref="dragContentTypeToStage" stepKey="dragColumnIntoStage">
39+
<argument name="contentType" value="PageBuilderColumnContentType"/>
40+
</actionGroup>
41+
<actionGroup ref="dragContentTypeToStage" stepKey="dragButtonsOntoStage">
42+
<argument name="contentType" value="PageBuilderTextContentType"/>
43+
</actionGroup>
44+
<!--Input text into stage-->
45+
<comment userInput="Input text into stage" stepKey="commentInputTextIntoStage"/>
46+
<executeJS function="tinymce.get(jQuery('.inline-wysiwyg').eq(0).attr('id')).insertContent('Hello World')" stepKey="addTextToWYSIWYG"/>
47+
<click selector="{{CmsNewPagePageBasicFieldsSection.contentHeading}}" stepKey="lostFocusFromWYSIWYG1"/>
48+
<!--Verify inputed text on slideout-->
49+
<comment userInput="Verify inputed text on slideout" stepKey="commentVerifyTextOnSlideout"/>
50+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage1">
51+
<argument name="contentType" value="PageBuilderTextContentType"/>
52+
</actionGroup>
53+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame1"/>
54+
<waitForElementVisible selector="{{TextOnConfiguration.textInIFrame('Hello World')}}" stepKey="waitForText"/>
55+
<switchToIFrame stepKey="exitIFrame1"/>
56+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings1"/>
57+
<!--Input variable into stage-->
58+
<comment userInput="Input variable into stage" stepKey="commentInputVariableIntoStage"/>
59+
<click selector="{{TextOnStage.tinymce}}" stepKey="focusOnEditorArea1"/>
60+
<actionGroup ref="addVariableToTinyMCE" stepKey="addVariableToTinyMCE">
61+
<argument name="variable" value="TinyMCEVariableBaseURL"/>
62+
</actionGroup>
63+
<waitForElementVisible selector="{{TextOnStage.text('1', TinyMCEVariableBaseURL.editPanelValue)}}" stepKey="waitForVariableBaseURLStage"/>
64+
<!--Verify inputed variable on slideout-->
65+
<comment userInput="Verify inputed variable on slideout" stepKey="commentVerifyVariableOnSlideout"/>
66+
<click selector="{{CmsNewPagePageBasicFieldsSection.contentHeading}}" stepKey="lostFocusFromWYSIWYG2"/>
67+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage2">
68+
<argument name="contentType" value="PageBuilderTextContentType"/>
69+
</actionGroup>
70+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame2"/>
71+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEVariable(TinyMCEVariableBaseURL.editPanelValue, '1')}}" stepKey="waitForVariable2"/>
72+
<switchToIFrame stepKey="exitIFrame2"/>
73+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings2"/>
74+
<!--Input widget into stage-->
75+
<comment userInput="Input widget into stage" stepKey="commentInputWidgetIntoStage"/>
76+
<click selector="{{TextOnStage.tinymce}}" stepKey="focusOnEditorArea2"/>
77+
<actionGroup ref="addPageLinkWidgetToTinyMCE" stepKey="addPageLinkWidgetToTinyMCE">
78+
<argument name="widget" value="TinyMCEWidgetCMSPageLink"/>
79+
<argument name="page" value="$$createCMSPageB.identifier$$"/>
80+
</actionGroup>
81+
<waitForElementVisible selector="{{TextOnStage.text('1', TinyMCEWidgetCMSPageLink.editPanelValue)}}" stepKey="waitForWidgetStage"/>
82+
<click selector="{{CmsNewPagePageBasicFieldsSection.contentHeading}}" stepKey="lostFocusFromWYSIWYG"/>
83+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuOnStage">
84+
<argument name="contentType" value="PageBuilderTextContentType"/>
85+
</actionGroup>
86+
<switchToIFrame selector="{{TextOnConfiguration.tinyMCEIFrame}}" stepKey="switchToIFrame3"/>
87+
<waitForElementVisible selector="{{TextOnConfiguration.tinyMCEWidget(TinyMCEWidgetCMSPageLink.editPanelValue, '1')}}" stepKey="waitForWidget"/>
88+
<switchToIFrame stepKey="exitIFrame3"/>
89+
<actionGroup ref="closeEditPanelSettings" stepKey="closeEditPanelSettings"/>
90+
<!--Input image into stage-->
91+
<comment userInput="Input text into stage" stepKey="commentInputImageIntoStage"/>
92+
<click selector="{{TextOnStage.tinymce}}" stepKey="focusOnTextEditorArea"/>
93+
<click selector="{{TinyMCESection.InsertImageIcon}}" stepKey="clickInsertImageIcon" />
94+
<waitForPageLoad stepKey="waitForPageLoad" />
95+
<actionGroup ref="clickBrowseBtnOnUploadPopup" stepKey="clickBrowserBtn"/>
96+
<actionGroup ref="VerifyMediaGalleryStorageActions" stepKey="VerifyMediaGalleryStorageBtn"/>
97+
<actionGroup ref="CreateImageFolder" stepKey="CreateImageFolder">
98+
<argument name="ImageFolder" value="ImageFolder"/>
99+
</actionGroup>
100+
<actionGroup ref="attachImage" stepKey="attachImage1">
101+
<argument name="Image" value="ImageUpload3"/>
102+
</actionGroup>
103+
<actionGroup ref="saveImage" stepKey="insertImage"/>
104+
<actionGroup ref="fillOutUploadImagePopup" stepKey="fillOutUploadImagePopup" />
105+
<seeElementInDOM selector="{{CmsWYSIWYGSection.imageSource(ImageUpload3.fileName)}}" stepKey="assertMediaSourceOnStage"/>
106+
<actionGroup ref="saveAndContinueEditCmsPage" stepKey="saveAndContinueEditCmsPage2"/>
107+
<!--Verify Content Block on storefront-->
108+
<comment userInput="Verify empty Content Block on storefront" stepKey="commentVerifyEmptyBlock"/>
109+
<amOnPage url="$$createCMSPage.identifier$$" stepKey="amOnPageTestPage"/>
110+
<see userInput="Hello World" stepKey="seeTextContentType"/>
111+
<seeElementInDOM selector="{{StorefrontCMSPageSection.imageSource(ImageUpload3.fileName)}}" stepKey="assertMediaSource"/>
112+
<seeElementInDOM selector="{{TextOnStorefront.text('1', _ENV.MAGENTO_BASE_URL)}}" stepKey="waitForVariableStorefront"/>
113+
<seeElementInDOM selector="div.block-cms-link a[href='{{_ENV.MAGENTO_BASE_URL}}/$$createCMSPageB.identifier$$']" stepKey="waitForWidgetStorefront"/>
114+
</test>
11115
<test name="ColumnAddToRowAndHeightAdjusts">
12116
<annotations>
13117
<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)