Skip to content

Commit d71dac8

Browse files
Merge branch '2.4-develop' into AC-12593-2
2 parents 549e7e6 + 3c83d94 commit d71dac8

File tree

34 files changed

+1142
-12
lines changed

34 files changed

+1142
-12
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminAddTextSwatchForAdminActionGroup">
12+
<annotations>
13+
<description>Admin add texual swatch for admin.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="position" type="string"/>
17+
<argument name="swatchName" type="string"/>
18+
<argument name="swatchDescription" type="string"/>
19+
</arguments>
20+
<waitForElementVisible selector="{{AttributeManageSwatchSection.textSwatchAdminSwatchValue(position)}}" stepKey="waitForSwatchTextBoxForAdminToVisible"/>
21+
<fillField selector="{{AttributeManageSwatchSection.textSwatchAdminSwatchValue(position)}}" userInput="{{swatchName}}" stepKey="fillSwatchForAdmin"/>
22+
<waitForElementVisible selector="{{AttributeManageSwatchSection.textSwatchAdminDescriptionValue(position)}}" stepKey="waitForDescriptionTextBoxForAdminToVisible"/>
23+
<fillField selector="{{AttributeManageSwatchSection.textSwatchAdminDescriptionValue(position)}}" userInput="{{swatchDescription}}" stepKey="fillDescriptionForAdmin"/>
24+
</actionGroup>
25+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="AdminAddTextSwatchForStoreViewActionGroup">
12+
<annotations>
13+
<description>Admin add texual swatch for storeview.</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="position" type="string"/>
17+
<argument name="swatchName" type="string"/>
18+
<argument name="swatchDescription" type="string"/>
19+
</arguments>
20+
<waitForElementVisible selector="{{AttributeManageSwatchSection.textSwatchDefaultStoreSwatchValue(position)}}" stepKey="waitForSwatchTextBoxForAdminToVisible"/>
21+
<fillField selector="{{AttributeManageSwatchSection.textSwatchDefaultStoreSwatchValue(position)}}" userInput="{{swatchName}}" stepKey="fillSwatchForStoreView"/>
22+
<waitForElementVisible selector="{{AttributeManageSwatchSection.textSwatchDefaultStoreDescriptionValue(position)}}" stepKey="waitForDescriptionTextBoxForAdminToVisible"/>
23+
<fillField selector="{{AttributeManageSwatchSection.textSwatchDefaultStoreDescriptionValue(position)}}" userInput="{{swatchDescription}}" stepKey="fillDescriptionForStoreView"/>
24+
</actionGroup>
25+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
11+
<actionGroup name="FilterProductGridByProductNameActionGroup">
12+
<annotations>
13+
<description>Filters the Admin Products grid by the provided Product (Name).</description>
14+
</annotations>
15+
<arguments>
16+
<argument name="productName" type="string"/>
17+
</arguments>
18+
<conditionalClick selector="{{AdminProductGridFilterSection.clearFilters}}" dependentSelector="{{AdminProductGridFilterSection.clearFilters}}" visible="true" stepKey="clickClearFilters"/>
19+
<waitForElementClickable selector="{{AdminProductGridFilterSection.filters}}" stepKey="openForFilterField"/>
20+
<click selector="{{AdminProductGridFilterSection.filters}}" stepKey="openProductFilters"/>
21+
<waitForElementVisible selector="{{AdminProductGridFilterSection.nameFilter}}" stepKey="waitForFilterFieldToBecomeActive"/>
22+
<fillField selector="{{AdminProductGridFilterSection.nameFilter}}" userInput="{{productName}}" stepKey="fillProductName"/>
23+
<waitForElementClickable selector="{{AdminProductGridFilterSection.applyFilters}}" stepKey="waitToClickApplyFilter"/>
24+
<click selector="{{AdminProductGridFilterSection.applyFilters}}" stepKey="clickApplyFilters"/>
25+
<waitForElementNotVisible selector="{{AdminProductGridSection.loadingMask}}" stepKey="waitForFilteredGridLoad" time="30"/>
26+
</actionGroup>
27+
</actionGroups>
28+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
-->
7+
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="StorefrontAssertAddToCartButtonNotPresentOnProductPageActionGroup">
11+
<annotations>
12+
<description>Validate "Add to Cart" button is NOT present on product page.</description>
13+
</annotations>
14+
<waitForElementNotVisible selector="{{StorefrontProductActionSection.addToCart}}" stepKey="addToCartButtonNotPresent"/>
15+
</actionGroup>
16+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
-->
7+
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="StorefrontAssertProductPriceNotPresentOnProductPageActionGroup">
11+
<annotations>
12+
<description>Validate that the provided Product Price is NOT present on product page.</description>
13+
</annotations>
14+
<waitForElementNotVisible selector="{{StorefrontProductInfoMainSection.price}}" stepKey="verifyProductPriceNotVisible"/>
15+
</actionGroup>
16+
</actionGroups>

app/code/Magento/Catalog/Test/Mftf/Section/AdminCreateProductAttributeSection/AttributeManageSwatchSection.xml

+6
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,11 @@
1414
<element name="descriptionField1" type="input" selector="(//th[contains(@class, 'col-swatch')]/span[contains(text(), '{{arg}}')]/ancestor::thead/following-sibling::tbody//input[@placeholder='Description'])[2]" parameterized="true"/>
1515
<element name="swatchField2" type="input" selector="(//th[contains(@class, 'col-swatch')]/span[contains(text(), '{{arg}}')]/ancestor::thead/following-sibling::tbody//input[@placeholder='Swatch'])[3]" parameterized="true"/>
1616
<element name="descriptionField2" type="input" selector="(//th[contains(@class, 'col-swatch')]/span[contains(text(), '{{arg}}')]/ancestor::thead/following-sibling::tbody//input[@placeholder='Description'])[3]" parameterized="true"/>
17+
<element name="textSwatchAdminSwatchValue" type="input" selector="[data-role='swatch-text-options-container'] input[name='swatchtext[value][option_{{row}}][0]']" parameterized="true"/>
18+
<element name="textSwatchAdminDescriptionValue" type="input" selector="[data-role='swatch-text-options-container'] input[name='optiontext[value][option_{{row}}][0]']" parameterized="true"/>
19+
<element name="textSwatchDefaultStoreSwatchValue" type="input" selector="[data-role='swatch-text-options-container'] input[name='swatchtext[value][option_{{row}}][1]']" parameterized="true"/>
20+
<element name="textSwatchDefaultStoreDescriptionValue" type="input" selector="[data-role='swatch-text-options-container'] input[name='optiontext[value][option_{{row}}][1]']" parameterized="true"/>
21+
<element name="textSwatchStoreViewValue" type="input" selector="//*[@data-role='swatch-text-options-container']//td[starts-with(@class,'col-swatch col-swatch')]//input[@value='{{storeViewValue}}']" parameterized="true"/>
22+
<element name="isDefaultTextSwatch" type="radio" selector="[data-role='swatch-text-options-container'] tr:nth-of-type({{row}}) input[name='defaulttext[]']" parameterized="true"/>
1723
</section>
1824
</sections>

app/code/Magento/Catalog/Test/Mftf/Test/AdminImportCustomizableOptionToProductWithSKUTest.xml

+2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
<useCaseId value="MAGETWO-70232"/>
2020
<group value="catalog"/>
2121
<group value="cloud"/>
22+
<!-- Will be fixed in the scope of ACQE-6795 -->
23+
<group value="pr_exclude"/>
2224
</annotations>
2325
<before>
2426
<!--Create category-->

app/code/Magento/Checkout/Test/Mftf/Test/OnePageCheckoutUsingSignInLinkTest.xml

-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070

7171
<!-- Select payment solution -->
7272
<checkOption selector="{{CheckoutPaymentSection.billingAddressNotSameCheckbox}}" stepKey="selectPaymentSolution" />
73-
7473
<!-- Check order summary in checkout -->
7574
<comment userInput="BIC workaround" stepKey="waitForPaymentSectionLoaded"/>
7675
<comment userInput="BIC workaround" stepKey="waitForPlaceOrderButton"/>

app/code/Magento/Checkout/Test/Mftf/Test/StorefrontCashOnDeliveryPaymentForSpecificCountryTest.xml

+2
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
<testCaseId value="AC-3216"/>
1919
<useCaseId value="ACP2E-862"/>
2020
<group value="checkout"/>
21+
<!--Will be fixed in the scope of -->
22+
<group value="pr_exclude"/>
2123
</annotations>
2224
<before>
2325
<!--Enable flat rate shipping-->
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminDisableTermsAndConditionsConfigurationActionGroup">
11+
<annotations>
12+
<description>Disable Terms and Conditions On Configuration page.</description>
13+
</annotations>
14+
<magentoCLI command="config:set {{disableTermsAndConditions.path}} {{disableTermsAndConditions.value}}" stepKey="DisableTermsAndConditions"/>
15+
</actionGroup>
16+
</actionGroups>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="AdminEnableTermsAndConditionsConfigurationActionGroup">
11+
<annotations>
12+
<description>Enable Terms and Conditions On Configuration page.</description>
13+
</annotations>
14+
<magentoCLI command="config:set {{enableTermsAndConditions.path}} {{enableTermsAndConditions.value}}" stepKey="EnableTermsAndConditions"/>
15+
</actionGroup>
16+
</actionGroups>

app/code/Magento/CheckoutAgreements/Test/Mftf/Data/TermData.xml

+17
Original file line numberDiff line numberDiff line change
@@ -62,4 +62,21 @@
6262
<data key="checkboxText" unique="suffix">Terms and Conditions</data>
6363
<data key="content" unique="suffix">TestMessage</data>
6464
</entity>
65+
<entity name="enableTermsAndConditions" type="term">
66+
<data key="path">checkout/options/enable_agreements</data>
67+
<data key="value">1</data>
68+
</entity>
69+
<entity name="disableTermsAndConditions" type="term">
70+
<data key="path">checkout/options/enable_agreements</data>
71+
<data key="value">0</data>
72+
</entity>
73+
<entity name="newHtmlAutomaticallyTerm" type="term">
74+
<data key="name" unique="suffix">Test name</data>
75+
<data key="isActive">Enabled</data>
76+
<data key="isHtml">HTML</data>
77+
<data key="mode">Automatically</data>
78+
<data key="storeView">Default Store View</data>
79+
<data key="checkboxText" unique="suffix">test_checkbox</data>
80+
<data key="content" unique="suffix">TestMessage</data>
81+
</entity>
6582
</entities>

app/code/Magento/CheckoutAgreements/Test/Mftf/Section/StorefrontCheckoutAgreementsSection.xml

+3
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,8 @@
1515
<element name="checkoutAgreementCheckboxcheck" type="checkbox" selector="//span[text()='{{agreementname}}']/../../../input[@type='checkbox']" parameterized="true"/>
1616
<element name="checkoutAgreementLink" type="button" selector="//div[@id='checkout-payment-method-load']//label//span[contains(., '{{paymentName}}')]//ancestor::div[contains(@class, 'payment-method _active')]//div[contains(@class, 'checkout-agreements-block')]//span" parameterized="true"/>
1717
<element name="agreementClose" type="button" selector=".agreements-modal._show .action-close"/>
18+
<element name="contentArea" type="text" selector="//div[@class='modals-wrapper']//aside[@class='modal-popup agreements-modal modal-slide _inner-scroll _show']//div[@class='checkout-agreements-item-content' and contains(text(), '{{contentText}}')]" parameterized="true"/>
19+
<element name="manualCheckoutAgreementLink" type="button" selector="//input[starts-with(@id,'{{paymentName}}')]/..//label//span" parameterized="true"/>
20+
<element name="automaticCheckoutAgreementLink" type="button" selector="//input[starts-with(@id,'{{paymentName}}')]/..//following-sibling::div//button//span" parameterized="true"/>
1821
</section>
1922
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!--
3+
/**
4+
* Copyright © Magento, Inc. All rights reserved.
5+
* See COPYING.txt for license details.
6+
*/
7+
-->
8+
9+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
11+
<test name="StorefrontAssertSeveralTermsAndConditionsOnPayPalExpressCheckoutReviewPageTest">
12+
<annotations>
13+
<features value="CheckoutAgreements"/>
14+
<stories value="Checkout agreements and Paypal express checkout"/>
15+
<title value="Assert Several Terms And Conditions On PayPal Express Checkout Review Page"/>
16+
<description value="Several Terms and Conditions with different types are shown on PayPal express checkout review page"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="AC-4430"/>
19+
<group value="paypalExpress"/>
20+
<group value="3rd_party_integration" />
21+
<group value="pr_exclude" />
22+
</annotations>
23+
<before>
24+
<actionGroup ref="AdminLoginActionGroup" stepKey="adminLogin"/>
25+
<createData entity="SimpleProduct" stepKey="createSimpleProduct"/>
26+
<actionGroup ref="AdminEnableTermsAndConditionsConfigurationActionGroup" stepKey="EnableTermsAndConditions"/>
27+
<createData entity="Simple_US_Customer_NY" stepKey="createCustomer"/>
28+
</before>
29+
<after>
30+
<!--Delete created data-->
31+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
32+
<actionGroup ref="AdminTermsConditionsOpenGridActionGroup" stepKey="openTermsGridToDelete"/>
33+
<actionGroup ref="AdminDeleteAllTermConditionsActionGroup" stepKey="deleteAllTerms"/>
34+
<actionGroup ref="AdminDisableTermsAndConditionsConfigurationActionGroup" stepKey="disableTermsAndConditions"/>
35+
<actionGroup ref="AdminLogoutActionGroup" stepKey="adminLogout"/>
36+
</after>
37+
<!-- create manual term -->
38+
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTermForManualTerm"/>
39+
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="createManualTerm">
40+
<argument name="term" value="newHtmlTerm"/>
41+
</actionGroup>
42+
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveManualTerm"/>
43+
<!-- create automatic term -->
44+
<actionGroup ref="AdminTermsConditionsOpenNewTermPageActionGroup" stepKey="openNewTermForAutomaticTerm"/>
45+
<actionGroup ref="AdminTermsConditionsFillTermEditFormActionGroup" stepKey="createAutomaticTerm">
46+
<argument name="term" value="newHtmlAutomaticallyTerm"/>
47+
</actionGroup>
48+
<actionGroup ref="AdminTermsConditionsSaveTermActionGroup" stepKey="saveAutomaticTerm"/>
49+
<actionGroup ref="CliIndexerReindexActionGroup" stepKey="reindex">
50+
<argument name="indices" value=""/>
51+
</actionGroup>
52+
<actionGroup ref="CliCacheCleanActionGroup" stepKey="cleanCache">
53+
<argument name="tags" value="config full_page"/>
54+
</actionGroup>
55+
<!-- Login as customer -->
56+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="storefrontCustomerLogin">
57+
<argument name="Customer" value="$$createCustomer$$"/>
58+
</actionGroup>
59+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addProductToCart">
60+
<argument name="product" value="$createSimpleProduct$"/>
61+
</actionGroup>
62+
<!--Navigate to checkout-->
63+
<actionGroup ref="StorefrontOpenCheckoutPageActionGroup" stepKey="openCheckoutPage"/>
64+
<!-- Click next button to open payment section -->
65+
<actionGroup ref="StorefrontCheckoutClickNextButtonActionGroup" stepKey="clickNext"/>
66+
<!-- Click on PayPal payment radio button -->
67+
<waitForElementClickable selector="{{CheckoutPaymentSection.PayPalPaymentRadio}}" stepKey="waitForPayPalRadioButton"/>
68+
<click selector="{{CheckoutPaymentSection.PayPalPaymentRadio}}" stepKey="selectPaypalPayment"/>
69+
<!-- Verify both manual and automatic are present -->
70+
<waitForText selector="{{StorefrontCheckoutAgreementsSection.manualCheckoutAgreementLink('agreement_paypal_express')}}" userInput="{{newHtmlTerm.checkboxText}}" stepKey="seeManualTermTextInCheckoutIsPresent"/>
71+
<waitForText selector="{{StorefrontCheckoutAgreementsSection.automaticCheckoutAgreementLink('agreement_paypal_express')}}" userInput="{{newHtmlAutomaticallyTerm.checkboxText}}" stepKey="seeAutomaticTermTextInCheckoutIsPresent"/>
72+
<!-- open manual terms and conditions and verify content messages-->
73+
<waitForElementClickable selector="{{StorefrontCheckoutAgreementsSection.manualCheckoutAgreementLink('agreement_paypal_express')}}" stepKey="waitForManualTermTextInCheckoutIsClickable"/>
74+
<click selector="{{StorefrontCheckoutAgreementsSection.manualCheckoutAgreementLink('agreement_paypal_express')}}" stepKey="clickManualTermTextInCheckout"/>
75+
<waitForElement selector="{{StorefrontCheckoutAgreementsSection.contentArea(newHtmlTerm.content)}}" stepKey="verifyManualTermContentTextMessage"/>
76+
<waitForElementClickable selector="{{StorefrontCheckoutAgreementsSection.agreementClose}}" stepKey="waitForCloseToBeClickable"/>
77+
<click selector="{{StorefrontCheckoutAgreementsSection.agreementClose}}" stepKey="ClickOnClose"/>
78+
<!-- open automatic terms and conditions and verify content messages-->
79+
<waitForElementClickable selector="{{StorefrontCheckoutAgreementsSection.automaticCheckoutAgreementLink('agreement_paypal_express')}}" stepKey="waitForAutomaticTermTextInCheckoutIsClickable"/>
80+
<click selector="{{StorefrontCheckoutAgreementsSection.automaticCheckoutAgreementLink('agreement_paypal_express')}}" stepKey="clickAutomaticTermTextInCheckoutIsClickable"/>
81+
<waitForElement selector="{{StorefrontCheckoutAgreementsSection.contentArea(newHtmlAutomaticallyTerm.content)}}" stepKey="verifyAutomaticTermContentTextMessage"/>
82+
</test>
83+
</tests>

app/code/Magento/ConfigurableProduct/Test/Mftf/Section/AdminCreateProductConfigurationsPanelSection.xml

+1
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
<element name="attributeRowByAttributeCode" type="block" selector="//td[count(../../..//th[./*[.='Attribute Code']]/preceding-sibling::th) + 1][./*[.='{{attribute_code}}']]/../td//input[@data-action='select-row']" parameterized="true"/>
6363
<element name="qtyForColorAttribute" type="text" selector="//span[text()='{{var1}}']/../..//input[@type='text']" parameterized="true"/>
6464
<element name="configProductName" type="text" selector="//table[@class='data-grid data-grid-configurable']//tbody//tr[{{row}}]//td[2]//span" parameterized="true"/>
65+
<element name="optionsWithTitle" type="text" selector="//*[@class='attribute-entity-title' and text()='{{attributeTitle}}']//ancestor::div[@class='attribute-entity-top']//following-sibling::button[@class='action-create-new action-tertiary']/span" parameterized="true"/>
6566
<element name="cancel" type="button" selector=".action-cancel"/>
6667
<element name="back" type="button" selector=".action-back-step"/>
6768
</section>

0 commit comments

Comments
 (0)