Skip to content

Commit cbc05e3

Browse files
committed
MC-13769: Add Missing P0-P1 MFTF Tests For PageBuilder On CMS Block - Render Content Through Block
- Fixing flaky products in block test
1 parent 2db7f4e commit cbc05e3

File tree

3 files changed

+62
-26
lines changed

3 files changed

+62
-26
lines changed

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

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -94,49 +94,45 @@
9494
<actionGroup name="clickProductImageInProductsOnStorefront">
9595
<arguments>
9696
<argument name="product" type="string"/>
97-
<argument name="index" defaultValue="1" type="string"/>
9897
</arguments>
99-
<waitForElementVisible selector="{{ProductsOnStorefront.productImage(index)}}" stepKey="waitForProductImage"/>
100-
<click selector="{{ProductsOnStorefront.productImage(index)}}" stepKey="clickProductImage"/>
98+
<waitForElementVisible selector="{{ProductsOnStorefront.productImageByProductName(product)}}" stepKey="waitForProductImage"/>
99+
<click selector="{{ProductsOnStorefront.productImageByProductName(product)}}" stepKey="clickProductImage"/>
101100
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
102101
<see selector="{{StorefrontProductInfoMainSection.productName}}" userInput="{{product}}" stepKey="seeProductName"/>
103102
</actionGroup>
104103
<actionGroup name="clickProductNameInProductsOnStorefront">
105104
<arguments>
106105
<argument name="product" type="string"/>
107-
<argument name="index" defaultValue="1" type="string"/>
108106
</arguments>
109-
<waitForElementVisible selector="{{ProductsOnStorefront.productName(index, product)}}" stepKey="waitForProductName"/>
110-
<click selector="{{ProductsOnStorefront.productName(index, product)}}" stepKey="clickProductName"/>
107+
<waitForElementVisible selector="{{ProductsOnStorefront.productNameByProductName(product)}}" stepKey="waitForProductName"/>
108+
<click selector="{{ProductsOnStorefront.productNameByProductName(product)}}" stepKey="clickProductName"/>
111109
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
112110
<see selector="{{StorefrontProductInfoMainSection.productName}}" userInput="{{product}}" stepKey="seeProductName"/>
113111
</actionGroup>
114112
<actionGroup name="clickProductAddToCartInProductsOnStorefront">
115113
<arguments>
116114
<argument name="product" type="string"/>
117-
<argument name="index" defaultValue="1" type="string"/>
118115
</arguments>
119-
<moveMouseOver selector="{{ProductsOnStorefront.productImage(index)}}" stepKey="moveMouseOverProduct"/>
120-
<click selector="{{ProductsOnStorefront.productAddToCart(index)}}" stepKey="clickProductAddToCart"/>
116+
<moveMouseOver selector="{{ProductsOnStorefront.productImageByProductName(product)}}" stepKey="moveMouseOverProduct"/>
117+
<click selector="{{ProductsOnStorefront.productAddToCartByProductName(product)}}" stepKey="clickProductAddToCart"/>
121118
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
122119
<see userInput="You added {{product}} to your shopping cart." stepKey="seeAddToCartSuccessMessage"/>
123120
</actionGroup>
124121
<actionGroup name="clickProductAddToCompareInProductsOnStorefront">
125122
<arguments>
126123
<argument name="product" type="string"/>
127-
<argument name="index" defaultValue="1" type="string"/>
128124
</arguments>
129-
<moveMouseOver selector="{{ProductsOnStorefront.productImage(index)}}" stepKey="moveMouseOverProduct"/>
130-
<click selector="{{ProductsOnStorefront.productAddToCompare(index)}}" stepKey="clickProductAddToCompare"/>
125+
<moveMouseOver selector="{{ProductsOnStorefront.productImageByProductName(product)}}" stepKey="moveMouseOverProduct"/>
126+
<click selector="{{ProductsOnStorefront.productAddToCompareByProductName(product)}}" stepKey="clickProductAddToCompare"/>
131127
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
132128
<see userInput="You added product {{product}} to the comparison list." stepKey="seeComparisonListSuccessMessage"/>
133129
</actionGroup>
134130
<actionGroup name="clickProductAddToWishListInProductsOnStorefront">
135131
<arguments>
136-
<argument name="index" defaultValue="1" type="string"/>
132+
<argument name="product" type="string"/>
137133
</arguments>
138-
<moveMouseOver selector="{{ProductsOnStorefront.productImage(index)}}" stepKey="moveMouseOverProduct"/>
139-
<click selector="{{ProductsOnStorefront.productAddToWishList(index)}}" stepKey="clickProductAddToWishList"/>
134+
<moveMouseOver selector="{{ProductsOnStorefront.productImageByProductName(product)}}" stepKey="moveMouseOverProduct"/>
135+
<click selector="{{ProductsOnStorefront.productAddToWishListByProductName(product)}}" stepKey="clickProductAddToWishList"/>
140136
<waitForPageLoad stepKey="waitForProductPageToLoad"/>
141137
<see userInput="You must login or register to add items to your wishlist." stepKey="seeWishListSuccessMessage"/>
142138
</actionGroup>

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,17 @@
5959
<element name="product" type="text" selector="(//div[contains(@data-content-type,'products')])[{{arg1}}]//ol//li[contains(@class,'product-item')]" parameterized="true"/>
6060
<element name="productImage" type="text" selector="(//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')])[{{arg1}}]//img[@class='product-image-photo']" parameterized="true"/>
6161
<element name="productImageCSS" type="text" selector="div[data-content-type=products] ol li.product-item img.product-image-photo"/>
62+
<element name="productImageByProductName" type="text" selector="//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')]//a[contains(.,'{{arg1}}')]//ancestor::li[contains(@class,'product-item')]//img[@class='product-image-photo']" parameterized="true"/>
6263
<element name="productName" type="text" selector="(//div[contains(@data-content-type,'products')])//ol//li[contains(@class,'product-item')][{{arg1}}]//strong//a[@class='product-item-link' and @href and contains(.,'{{arg2}}')]" parameterized="true"/>
64+
<element name="productNameByProductName" type="text" selector="//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')]//a[contains(.,'{{arg1}}')]" parameterized="true"/>
6365
<element name="productPrice" type="text" selector="(//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')])[{{arg1}}]//span[@class='price' and .='${{arg2}}']" parameterized="true"/>
6466
<element name="productPriceContainer" type="text" selector="div[data-content-type=products] ol li.product-item div.price-box"/>
6567
<element name="productAddToCart" type="text" selector="(//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')])[{{arg1}}]//button[contains(@class,'tocart') and @title='Add to Cart']" parameterized="true"/>
68+
<element name="productAddToCartByProductName" type="text" selector="//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')]//a[contains(.,'{{arg1}}')]//ancestor::li[contains(@class,'product-item')]//button[contains(@class,'tocart') and @title='Add to Cart']" parameterized="true"/>
6669
<element name="productAddToWishList" type="text" selector="(//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')])[{{arg1}}]//a[contains(@class,'towishlist') and @title='Add to Wish List']" parameterized="true"/>
70+
<element name="productAddToWishListByProductName" type="text" selector="//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')]//a[contains(.,'{{arg1}}')]//ancestor::li[contains(@class,'product-item')]//a[contains(@class,'towishlist') and @title='Add to Wish List']" parameterized="true"/>
6771
<element name="productAddToCompare" type="text" selector="(//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')])[{{arg1}}]//a[contains(@class,'tocompare') and @title='Add to Compare']" parameterized="true"/>
72+
<element name="productAddToCompareByProductName" type="text" selector="//div[contains(@data-content-type,'products')]//ol//li[contains(@class,'product-item')]//a[contains(.,'{{arg1}}')]//ancestor::li[contains(@class,'product-item')]//a[contains(@class,'tocompare') and @title='Add to Compare']" parameterized="true"/>
6873
<element name="productActions" type="text" selector="div[data-content-type=products] ol li.product-item div.product-item-actions"/>
6974
<!-- Advanced Configuration -->
7075
<element name="alignment" type="text" selector="(//div[contains(@data-content-type,'products')])[{{arg1}}][contains(@style,'text-align: {{arg2}};')]" parameterized="true"/>

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

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -149,16 +149,13 @@
149149
<actionGroup ref="addConditionToProductConditions" stepKey="addCategory">
150150
<argument name="conditionInput" value="$$createPreReqCategory.id$$"/>
151151
</actionGroup>
152-
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterNumberOfProductsToDisplay">
153-
<argument name="property" value="PageBuilderProductsCountPropertyTwo"/>
154-
</actionGroup>
155152
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsProducts"/>
156153
<actionGroup ref="saveCMSBlock" stepKey="saveCMSBlock"/>
157154
<!-- Validate CMS Block Stage -->
158155
<comment userInput="Validate CMS Block Stage" stepKey="commentValidateCMSBlockStage"/>
159156
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSBlockStage">
160157
<argument name="page" value="ProductsOnStage"/>
161-
<argument name="count" value="2"/>
158+
<argument name="count" value="3"/>
162159
</actionGroup>
163160
<actionGroup ref="validateProductInProducts" stepKey="validateProductsCMSBlockStage">
164161
<argument name="page" value="ProductsOnStage"/>
@@ -185,7 +182,7 @@
185182
<comment userInput="Validate CMS Page Stage" stepKey="commentValidateCMSPageStage"/>
186183
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSPageStage">
187184
<argument name="page" value="ProductsOnStorefront"/>
188-
<argument name="count" value="2"/>
185+
<argument name="count" value="3"/>
189186
</actionGroup>
190187
<actionGroup ref="validateProductInProducts" stepKey="validateProductsCMSPageStage">
191188
<argument name="page" value="ProductsOnStorefront"/>
@@ -198,31 +195,69 @@
198195
</actionGroup>
199196
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSPageStorefront">
200197
<argument name="page" value="ProductsOnStorefront"/>
201-
<argument name="count" value="2"/>
198+
<argument name="count" value="3"/>
202199
</actionGroup>
203200
<actionGroup ref="validateProductInProducts" stepKey="validateProductsCMSPageStorefront">
204201
<argument name="page" value="ProductsOnStorefront"/>
205202
<argument name="isClickable" value="auto"/>
206203
</actionGroup>
207204
<actionGroup ref="clickProductImageInProductsOnStorefront" stepKey="clickProductImageInProductsCMSPageStorefront">
208-
<argument name="product" value="$$createProduct3.name$$"/>
205+
<argument name="product" value="$$createProduct2.name$$"/>
209206
</actionGroup>
210207
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront2">
211208
<argument name="page" value="$$createCMSPage.identifier$$"/>
212209
</actionGroup>
213210
<actionGroup ref="clickProductNameInProductsOnStorefront" stepKey="clickProductNameInProductsCMSPageStorefront">
214-
<argument name="product" value="$$createProduct3.name$$"/>
211+
<argument name="product" value="$$createProduct2.name$$"/>
215212
</actionGroup>
216213
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront3">
217214
<argument name="page" value="$$createCMSPage.identifier$$"/>
218215
</actionGroup>
219216
<actionGroup ref="clickProductAddToCartInProductsOnStorefront" stepKey="clickProductAddToCartInProductsCMSPageStorefront">
220-
<argument name="product" value="$$createProduct3.name$$"/>
217+
<argument name="product" value="$$createProduct2.name$$"/>
221218
</actionGroup>
222219
<actionGroup ref="clickProductAddToCompareInProductsOnStorefront" stepKey="clickProductAddToCompareInProductsCMSPageStorefront">
223-
<argument name="product" value="$$createProduct3.name$$"/>
220+
<argument name="product" value="$$createProduct2.name$$"/>
221+
</actionGroup>
222+
<actionGroup ref="clickProductAddToWishListInProductsOnStorefront" stepKey="clickProductAddToWishListInProductsCMSPageStorefront">
223+
<argument name="product" value="$$createProduct2.name$$"/>
224+
</actionGroup>
225+
<!-- Edit Number Of Products To Display -->
226+
<actionGroup ref="navigateToCreatedCMSBlockPage" stepKey="navigateToCreatedCMSBlockPage2">
227+
<argument name="CMSBlockPage" value="$$createCMSBlock$$"/>
228+
</actionGroup>
229+
<actionGroup ref="openPageBuilderEditPanel" stepKey="openEditMenuProducts2">
230+
<argument name="contentType" value="PageBuilderProductsContentType"/>
231+
</actionGroup>
232+
<actionGroup ref="fillSlideOutPanelFieldGeneral" stepKey="enterNumberOfProductsToDisplay2">
233+
<argument name="property" value="PageBuilderProductsCountPropertyTwo"/>
234+
</actionGroup>
235+
<actionGroup ref="saveEditPanelSettings" stepKey="saveEditPanelSettingsProducts2"/>
236+
<actionGroup ref="saveCMSBlock" stepKey="saveCMSBlock2"/>
237+
<!-- Validate CMS Block Stage Again -->
238+
<comment userInput="Validate CMS Block Stage Again" stepKey="commentValidateCMSBlockStage2"/>
239+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSBlockStage2">
240+
<argument name="page" value="ProductsOnStage"/>
241+
<argument name="count" value="2"/>
242+
</actionGroup>
243+
<actionGroup ref="navigateToCreatedCMSPage" stepKey="navigateToCreatedCMSPage2">
244+
<argument name="CMSPage" value="$$createCMSPage$$"/>
245+
</actionGroup>
246+
<!-- Validate CMS Page Stage Again -->
247+
<comment userInput="Validate CMS Page Stage Again" stepKey="commentValidateCMSPageStage2"/>
248+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSPageStage2">
249+
<argument name="page" value="ProductsOnStorefront"/>
250+
<argument name="count" value="2"/>
251+
</actionGroup>
252+
<!-- Validate CMS Page Storefront Again -->
253+
<comment userInput="Validate CMS Page Storefront Again" stepKey="commentValidateCMSPageStorefront2"/>
254+
<actionGroup ref="navigateToStorefrontForCreatedPage" stepKey="navigateToCMSPageStorefront4">
255+
<argument name="page" value="$$createCMSPage.identifier$$"/>
256+
</actionGroup>
257+
<actionGroup ref="validateProductCountInProducts" stepKey="validateProductsCountCMSPageStorefront2">
258+
<argument name="page" value="ProductsOnStorefront"/>
259+
<argument name="count" value="2"/>
224260
</actionGroup>
225-
<actionGroup ref="clickProductAddToWishListInProductsOnStorefront" stepKey="clickProductAddToWishListInProductsCMSPageStorefront"/>
226261
</test>
227262
<test name="ProductFromDifferentWebsiteInsideBlockShowsOnStage">
228263
<annotations>

0 commit comments

Comments
 (0)