Skip to content

Commit 3d4b701

Browse files
committed
ACQE-8831: [MFTF TESTS] StorefrontMultishippingCheckoutWithOnlineShippingMethodTest
- Refactor selectors and async checks by moving selectors to Section files and replacing seeElement with waitForElementVisible for improved MFTF compliance.
1 parent 6e342ac commit 3d4b701

7 files changed

+22
-17
lines changed

app/code/Magento/Multishipping/Test/Mftf/Section/ShippingMethodSection.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@
1414
<element name="shippingMethod" type="radio" selector="//div[@class='block block-shipping'][position()={{shippingBlockPosition}}]//dd[position()={{shippingMethodPosition}}]" parameterized="true" timeout="5"/>
1515
<element name="goToBillingInfo" type="button" selector=".action.primary.continue"/>
1616
<element name="productDetails" type="text" selector="//a[text()='{{var1}}']/../../..//td[@class='col qty' and text()='{{var2}}']" parameterized="true"/>
17+
<element name="firstShippingMethodForCity" type="radio" selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., '{{city}}')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" parameterized="true" timeout="30"/>
18+
<element name="shippingMethodBoxForCity" type="block" selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., '{{city}}')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" parameterized="true" timeout="30"/>
1719
</section>
1820
</sections>

app/code/Magento/Multishipping/Test/Mftf/Section/StorefrontMultishippingCheckoutOverviewReviewSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="StorefrontMultishippingCheckoutOverviewReviewSection">
1212
<element name="placeOrder" type="button" selector="button.action.primary.submit"/>
13+
<element name="shippingMethodForCity" type="block" selector="//form[contains(@id, 'review-order-form')]//address[contains(., '{{city}}')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" parameterized="true" timeout="30"/>
1314
</section>
1415
</sections>

app/code/Magento/Sales/Test/Mftf/Section/AdminOrderShippingInformationSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="AdminOrderShippingInformationSection">
1212
<element name="shippingMethod" type="text" selector=".order-shipping-method .admin__page-section-item-content"/>
13+
<element name="shippingMethodBlock" type="block" selector=".order-shipping-method"/>
1314
<element name="shippingPrice" type="text" selector=".order-shipping-method .admin__page-section-item-content .price"/>
1415
</section>
1516
</sections>

app/code/Magento/Sales/Test/Mftf/Section/StorefrontOrderDetailsSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
<element name="grandTotalPrice" type="text" selector="tr.grand_total span.price"/>
2020
<element name="paymentMethod" type="text" selector=".box-order-billing-method dt.title"/>
2121
<element name="shippingMethod" type="text" selector=".box-order-shipping-method div.box-content"/>
22+
<element name="shippingMethodBlock" type="block" selector=".box-order-shipping-method"/>
2223
<element name="productNameCell" type="text" selector="//*[contains(@class, 'product-item-name')]"/>
2324
<element name="bundleOptionPrice" type="text" selector=".item-options-container td.col.value span.price"/>
2425
<element name="shippingAddressBlock" type="block" selector=".block-order-details-view .box-order-shipping-address .box-content"/>

app/code/Magento/Shipping/Test/Mftf/ActionGroup/StorefrontSelectShippingMethodBasedOnAddressActionGroup.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
<description>Select first available shipping method for each address to handle dynamic carrier API responses.</description>
1414
</annotations>
1515
<!-- Select first available shipping method for Germany/Berlin address -->
16-
<waitForElementClickable selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., 'Berlin')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" stepKey="waitForBerlinShippingMethod"/>
17-
<click selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., 'Berlin')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" stepKey="clickToSelectBerlinMethod"/>
16+
<waitForElementClickable selector="{{ShippingMethodSection.firstShippingMethodForCity('Berlin')}}" stepKey="waitForBerlinShippingMethod"/>
17+
<click selector="{{ShippingMethodSection.firstShippingMethodForCity('Berlin')}}" stepKey="clickToSelectBerlinMethod"/>
1818
<!-- Select first available shipping method for London address -->
19-
<click selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., 'London')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" stepKey="clickToSelectLondonMethod"/>
19+
<click selector="{{ShippingMethodSection.firstShippingMethodForCity('London')}}" stepKey="clickToSelectLondonMethod"/>
2020
<!-- Select first available shipping method for New York address -->
21-
<click selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., 'New York')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" stepKey="clickToSelectNewYorkMethod"/>
21+
<click selector="{{ShippingMethodSection.firstShippingMethodForCity('New York')}}" stepKey="clickToSelectNewYorkMethod"/>
2222
<!-- Select first available shipping method for Culver City address -->
23-
<click selector="//form[contains(@id, 'shipping_method_form')]//address[contains(., 'Culver City')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]//input[@type='radio'][1]" stepKey="clickToSelectCulverCityMethod"/>
23+
<click selector="{{ShippingMethodSection.firstShippingMethodForCity('Culver City')}}" stepKey="clickToSelectCulverCityMethod"/>
2424
</actionGroup>
2525
</actionGroups>

app/code/Magento/Shipping/Test/Mftf/ActionGroup/StorefrontVerifyOrderInformationBeforePlacingOrderActionGroup.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
<description>Before placing order verifying the shipping method is selected for each address.</description>
1414
</annotations>
1515
<!-- Verify shipping method is present for Berlin address -->
16-
<waitForElementVisible selector="//form[contains(@id, 'review-order-form')]//address[contains(., 'Berlin')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" stepKey="waitForBerlinReviewOrderInformation"/>
16+
<waitForElementVisible selector="{{StorefrontMultishippingCheckoutOverviewReviewSection.shippingMethodForCity('Berlin')}}" stepKey="waitForBerlinReviewOrderInformation"/>
1717
<!-- Verify shipping method is present for London address -->
18-
<waitForElementVisible selector="//form[contains(@id, 'review-order-form')]//address[contains(., 'London')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" stepKey="waitForLondonReviewOrderInformation"/>
18+
<waitForElementVisible selector="{{StorefrontMultishippingCheckoutOverviewReviewSection.shippingMethodForCity('London')}}" stepKey="waitForLondonReviewOrderInformation"/>
1919
<!-- Verify shipping method is present for New York address -->
20-
<waitForElementVisible selector="//form[contains(@id, 'review-order-form')]//address[contains(., 'New York')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" stepKey="waitForNewYorkReviewOrderInformation"/>
20+
<waitForElementVisible selector="{{StorefrontMultishippingCheckoutOverviewReviewSection.shippingMethodForCity('New York')}}" stepKey="waitForNewYorkReviewOrderInformation"/>
2121
<!-- Verify shipping method is present for Culver City address -->
22-
<waitForElementVisible selector="//form[contains(@id, 'review-order-form')]//address[contains(., 'Culver City')]/ancestor::div[contains(@class, 'block-content')]//div[contains(@class, 'box-shipping-method')]" stepKey="waitForCulverCityReviewOrderInformation"/>
22+
<waitForElementVisible selector="{{StorefrontMultishippingCheckoutOverviewReviewSection.shippingMethodForCity('Culver City')}}" stepKey="waitForCulverCityReviewOrderInformation"/>
2323
<waitForElementClickable selector="{{AdminShipmentAddressInformationSection.placeOrder}}" stepKey="waitForPlaceOrder"/>
2424
</actionGroup>
2525
</actionGroups>

app/code/Magento/Shipping/Test/Mftf/Test/StorefrontMultishippingCheckoutWithOnlineShippingMethodTest.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
</actionGroup>
112112
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.orderInformationAddress('Berlin')}}" stepKey="waitForOrderInformationForBerlin"/>
113113
<!-- Verify shipping method section exists without checking specific method name -->
114-
<seeElement selector=".box-order-shipping-method" stepKey="seeShippingMethodForFirstOrder"/>
114+
<waitForElementVisible selector="{{StorefrontOrderDetailsSection.shippingMethodBlock}}" stepKey="waitForShippingMethodForFirstOrder"/>
115115
<actionGroup ref="StorefrontOpenMyOrdersPageActionGroup" stepKey="goToMyOrdersForSecondOrder"/>
116116
<actionGroup ref="StorefrontOpenOrderLinkOnMyOrdersPageActionGroup" stepKey="openSecondOrder">
117117
<argument name="orderID" value="{$secondOrderID}"/>
@@ -121,7 +121,7 @@
121121
</actionGroup>
122122
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.orderInformationAddress('London')}}" stepKey="waitForOrderInformationForLondon"/>
123123
<!-- Verify shipping method section exists without checking specific method name -->
124-
<seeElement selector=".box-order-shipping-method" stepKey="seeShippingMethodForSecondOrder"/>
124+
<waitForElementVisible selector="{{StorefrontOrderDetailsSection.shippingMethodBlock}}" stepKey="waitForShippingMethodForSecondOrder"/>
125125
<actionGroup ref="StorefrontOpenMyOrdersPageActionGroup" stepKey="goToMyOrdersForThirdOrder"/>
126126
<actionGroup ref="StorefrontOpenOrderLinkOnMyOrdersPageActionGroup" stepKey="openThirdOrder">
127127
<argument name="orderID" value="{$thirdOrderID}"/>
@@ -131,7 +131,7 @@
131131
</actionGroup>
132132
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.orderInformationAddress('New York')}}" stepKey="waitForOrderInformationForNY"/>
133133
<!-- Verify shipping method section exists without checking specific method name -->
134-
<seeElement selector=".box-order-shipping-method" stepKey="seeShippingMethodForThirdOrder"/>
134+
<waitForElementVisible selector="{{StorefrontOrderDetailsSection.shippingMethodBlock}}" stepKey="waitForShippingMethodForThirdOrder"/>
135135
<actionGroup ref="StorefrontOpenMyOrdersPageActionGroup" stepKey="goToMyOrdersForFourthOrder"/>
136136
<actionGroup ref="StorefrontOpenOrderLinkOnMyOrdersPageActionGroup" stepKey="openFourthOrder">
137137
<argument name="orderID" value="{$fourthOrderID}"/>
@@ -141,36 +141,36 @@
141141
</actionGroup>
142142
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.orderInformationAddress('Culver City')}}" stepKey="waitForOrderInformationForCulverCity"/>
143143
<!-- Verify shipping method section exists without checking specific method name -->
144-
<seeElement selector=".box-order-shipping-method" stepKey="seeShippingMethodForFourthOrder"/>
144+
<waitForElementVisible selector="{{StorefrontOrderDetailsSection.shippingMethodBlock}}" stepKey="waitForShippingMethodForFourthOrder"/>
145145
<!-- Go to Admin and check order information -->
146146
<actionGroup ref="FilterOrderGridByIdActionGroup" stepKey="filterFirstOrderGrid">
147147
<argument name="orderId" value="{$grabOrderIdForFirstOrder}"/>
148148
</actionGroup>
149149
<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickFirstOrderRow"/>
150150
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.adminOrderShippingAddress('Berlin')}}" stepKey="waitForAdminOrderInformationForBerlin"/>
151151
<!-- Verify shipping method section exists without checking specific method name -->
152-
<seeElement selector=".order-shipping-method" stepKey="seeAdminShippingMethodForFirstOrder"/>
152+
<waitForElementVisible selector="{{AdminOrderShippingInformationSection.shippingMethodBlock}}" stepKey="waitForAdminShippingMethodForFirstOrder"/>
153153
<actionGroup ref="FilterOrderGridByIdActionGroup" stepKey="filterSecondOrderGrid">
154154
<argument name="orderId" value="{$grabOrderIdForSecondOrder}"/>
155155
</actionGroup>
156156
<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickSecondOrderRow"/>
157157
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.adminOrderShippingAddress('London')}}" stepKey="waitForAdminOrderInformationForLondon"/>
158158
<!-- Verify shipping method section exists without checking specific method name -->
159-
<seeElement selector=".order-shipping-method" stepKey="seeAdminShippingMethodForSecondOrder"/>
159+
<waitForElementVisible selector="{{AdminOrderShippingInformationSection.shippingMethodBlock}}" stepKey="waitForAdminShippingMethodForSecondOrder"/>
160160
<actionGroup ref="FilterOrderGridByIdActionGroup" stepKey="filterThirdOrderGrid">
161161
<argument name="orderId" value="{$grabOrderIdForThirdOrder}"/>
162162
</actionGroup>
163163
<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickThirdOrderRow"/>
164164
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.adminOrderShippingAddress('New York')}}" stepKey="waitForAdminOrderInformationForNY"/>
165165
<!-- Verify shipping method section exists without checking specific method name -->
166-
<seeElement selector=".order-shipping-method" stepKey="seeAdminShippingMethodForThirdOrder"/>
166+
<waitForElementVisible selector="{{AdminOrderShippingInformationSection.shippingMethodBlock}}" stepKey="waitForAdminShippingMethodForThirdOrder"/>
167167
<actionGroup ref="FilterOrderGridByIdActionGroup" stepKey="filterFourthOrderGrid">
168168
<argument name="orderId" value="{$grabOrderIdForFourthOrder}"/>
169169
</actionGroup>
170170
<actionGroup ref="AdminOrderGridClickFirstRowActionGroup" stepKey="clickFourthOrderRow"/>
171171
<waitForElementVisible selector="{{AdminShipmentAddressInformationSection.adminOrderShippingAddress('Culver City')}}" stepKey="waitForAdminOrderInformationForCulver"/>
172172
<!-- Verify shipping method section exists without checking specific method name -->
173-
<seeElement selector=".order-shipping-method" stepKey="seeAdminShippingMethodForFourthOrder"/>
173+
<waitForElementVisible selector="{{AdminOrderShippingInformationSection.shippingMethodBlock}}" stepKey="waitForAdminShippingMethodForFourthOrder"/>
174174
<actionGroup ref="AdminOrdersGridClearFiltersActionGroup" stepKey="clearOrderFilters"/>
175175
<after>
176176
<actionGroup ref="AdminDisableUSPSActionGroup" stepKey="disableUSPS"/>

0 commit comments

Comments
 (0)