Skip to content

Commit 0953fe7

Browse files
authored
Merge pull request #7714 from magento-gl/functional--test--automation
[Bengals] MFTF Automation Phase 1
2 parents 5ab2114 + db88424 commit 0953fe7

File tree

9 files changed

+342
-0
lines changed

9 files changed

+342
-0
lines changed

app/code/Magento/Backend/Test/Mftf/Section/AdminSystemAccountSection.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,8 @@
1111
<section name="AdminSystemAccountSection">
1212
<element name="interfaceLocale" type="select" selector="#interface_locale"/>
1313
<element name="currentPassword" type="text" selector="#current_password"/>
14+
<element name="username" type="text" selector="#username"/>
15+
<element name="newPassword" type="text" selector="#password"/>
16+
<element name="passwordConfirmation" type="text" selector="#confirmation"/>
1417
</section>
1518
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminCreateTwoSimpleProductTest">
11+
<annotations>
12+
<stories value="Check Misleading message for guest customer on checkout"/>
13+
<title value="Admin should be able to check Misleading message for guest customer on checkout"/>
14+
<description value="Admin should be able to check Misleading message for guest customer on checkout"/>
15+
<testCaseId value="MC-36852"/>
16+
<severity value="MAJOR"/>
17+
<group value="product"/>
18+
</annotations>
19+
<before>
20+
<createData entity="ApiCategory" stepKey="createCategory"/>
21+
<createData entity="_defaultProduct" stepKey="createSimpleProduct">
22+
<requiredEntity createDataKey="createCategory"/>
23+
</createData>
24+
<createData entity="SimpleProduct" stepKey="createSimpleProduct2">
25+
<requiredEntity createDataKey="createCategory"/>
26+
</createData>
27+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
28+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin1"/>
29+
</before>
30+
<after>
31+
<deleteData createDataKey="createCategory" stepKey="deletePreReqCategory"/>
32+
<actionGroup ref="DeleteProductBySkuActionGroup" stepKey="deleteProduct">
33+
<argument name="sku" value="{{_defaultProduct.sku}}"/>
34+
</actionGroup>
35+
<actionGroup ref="AdminDeleteCustomerActionGroup" stepKey="deleteCustomer">
36+
<argument name="customerEmail" value="Simple_US_Customer.email"/>
37+
</actionGroup>
38+
<actionGroup ref="ClearFiltersAdminDataGridActionGroup" stepKey="clearFilter"/>
39+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutOfAdmin"/>
40+
</after>
41+
42+
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="goToStoreFront"/>
43+
<waitForPageLoad stepKey="waitForProductPage"/>
44+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProductToCart">
45+
<argument name="product" value="$createSimpleProduct$"/>
46+
</actionGroup>
47+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckoutFromMinicart"/>
48+
<actionGroup ref="FillGuestCheckoutShippingAddressFormActionGroup" stepKey="goToShippingAndFillDetails"/>
49+
<selectOption selector="{{CheckoutCartSummarySection.stateProvince}}" userInput="Texas" stepKey="fillState2"/>
50+
<waitForPageLoad stepKey="waitForProductPage1"/>
51+
<actionGroup ref="StorefrontSetShippingMethodActionGroup" stepKey="setShippingMethodFreeShipping">
52+
<argument name="shippingMethodName" value="Flat Rate"/>
53+
</actionGroup>
54+
<actionGroup ref="StorefrontCheckoutClickNextOnShippingStepActionGroup" stepKey="goToCheckoutReview"/>
55+
<actionGroup ref="StorefrontClickOnHeaderLogoActionGroup" stepKey="clickOnStorefrontHeaderLogo"/>
56+
<actionGroup ref="AddSimpleProductToCartActionGroup" stepKey="addSimpleProductTwoToCart">
57+
<argument name="product" value="$createSimpleProduct2$"/>
58+
</actionGroup>
59+
<actionGroup ref="GoToCheckoutFromMinicartActionGroup" stepKey="goToCheckoutFromMinicart2"/>
60+
<actionGroup ref="AssertStorefrontEmailNoteMessageOnCheckoutActionGroup" stepKey="assertEmailNoteMessage"/>
61+
</test>
62+
</tests>
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="StorefrontCustomerAddressSecurityTest">
11+
<annotations>
12+
<features value="Customer address"/>
13+
<stories value="other customer can not access the address of another customer"/>
14+
<title value="Customer address can't be overwritten or access by other customer"/>
15+
<description value="Customer address can't be overwritten [security]"/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-27518"/>
18+
<group value="customer"/>
19+
<group value="create"/>
20+
</annotations>
21+
<before>
22+
<createData entity="Simple_US_Customer" stepKey="createFirstCustomer"/>
23+
<createData entity="Simple_Customer_Without_Address" stepKey="createSecondCustomer"/>
24+
</before>
25+
26+
<after>
27+
<deleteData createDataKey="createFirstCustomer" stepKey="DeleteFirstCustomer"/>
28+
<deleteData createDataKey="createSecondCustomer" stepKey="DeleteSecondCustomer"/>
29+
</after>
30+
31+
<!--Log in to Storefront as First Customer -->
32+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginFirstCustomer">
33+
<argument name="Customer" value="$$createFirstCustomer$$"/>
34+
</actionGroup>
35+
<actionGroup ref="StorefrontGoToCustomerAddressesPageActionGroup" stepKey="goToCustomerAddressBook1"/>
36+
<click stepKey="ClickEditDefaultBillingAddress" selector="{{StorefrontCustomerAddressesSection.editDefaultBillingAddress}}"/>
37+
<grabFromCurrentUrl stepKey="grabCurrentAddressUrl"/>
38+
<actionGroup ref="StorefrontCustomerLogoutActionGroup" stepKey="logoutFirstCustomer"/>
39+
40+
<!--Log in to Storefront as Second Customer -->
41+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginSecondCustomer">
42+
<argument name="Customer" value="$$createSecondCustomer$$"/>
43+
</actionGroup>
44+
<amOnPage url="$grabCurrentAddressUrl" stepKey="OpenCustomerAddNewAddress"/>
45+
46+
<grabAttributeFrom userInput="value" selector="{{StorefrontCustomerAddressFormSection.firstName}}" stepKey="grabFirstName"/>
47+
<grabAttributeFrom userInput="value" selector="{{StorefrontCustomerAddressFormSection.lastName}}" stepKey="grabLastName"/>
48+
<assertEquals message="verify first name from element value" stepKey="assertFirstName">
49+
<expectedResult type="string">$$createSecondCustomer.firstname$$</expectedResult>
50+
<actualResult type="string">$grabFirstName</actualResult>
51+
</assertEquals>
52+
<assertEquals message="verify last name from element value" stepKey="assertLastName">
53+
<expectedResult type="string">$$createSecondCustomer.lastname$$</expectedResult>
54+
<actualResult type="string">$grabLastName</actualResult>
55+
</assertEquals>
56+
</test>
57+
</tests>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/PageObject.xsd">
11+
<page name="MultishippingAdminConfigPage" url="/admin/system_config/edit/section/multishipping" module="Magento_Multishipping" area="admin">
12+
<section name="MultipleshippingConfigurationSection"/>
13+
</page>
14+
</pages>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
11+
<section name="MultipleshippingConfigurationSection">
12+
<element name="AllowMultipleShippingCheckbox" type="checkbox" selector="//input[@id='multishipping_options_checkout_multiple_inherit']"/>
13+
<element name="AllowMultipleShippingDropdown" type="select" selector="//select[@id='multishipping_options_checkout_multiple']"/>
14+
15+
16+
</section>
17+
</sections>
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
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+
<tests xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/testSchema.xsd">
10+
<test name="AdminDisablesMultishippingFunctionalityTest">
11+
<annotations>
12+
<features value="Multishipping"/>
13+
<stories value="Multishipping"/>
14+
<title value="Disable multishipping functionality in configuration page"/>
15+
<description value="Admin Should be able to disable multishipping functionality."/>
16+
<severity value="MAJOR"/>
17+
<testCaseId value="MC-26572"/>
18+
<useCaseId value="MC-26572"/>
19+
<group value="multishipping"/>
20+
</annotations>
21+
<before>
22+
<createData entity="ApiCategory" stepKey="createCategory"/>
23+
<createData entity="_defaultProduct" stepKey="createSimpleProduct">
24+
<requiredEntity createDataKey="createCategory"/>
25+
</createData>
26+
<createData entity="Simple_US_Customer" stepKey="createCustomer"/>
27+
</before>
28+
<after>
29+
<deleteData createDataKey="createSimpleProduct" stepKey="deleteSimpleProduct"/>
30+
<deleteData createDataKey="createCategory" stepKey="deleteCategory"/>
31+
<wait stepKey="k1" time="10"/>
32+
<!-- Go to Admin > Store > Configuration > Sales > Multishipping, Choose YES to mutishipping which is the default state-->
33+
<amOnPage url="{{MultishippingAdminConfigPage.url}}" stepKey="NavigateToMultishippingOptions"/>
34+
<waitForPageLoad time="10" stepKey="waitForSectionDisplay"/>
35+
<selectOption selector="{{MultipleshippingConfigurationSection.AllowMultipleShippingDropdown}}" userInput="Yes" stepKey="SelectAllowMultipleShippingAddress"/>
36+
<waitForPageLoad time="10" stepKey="waitForSectionDisplayss"/>
37+
<click selector="{{MultipleshippingConfigurationSection.AllowMultipleShippingCheckbox}}" stepKey="ClickOnCheckbox"/>
38+
<waitForPageLoad time="10" stepKey="waitForSectionDisplaysss"/>
39+
<click selector="{{CatalogSection.save}}" stepKey="clickSaveConfigBtn"/>
40+
<magentoCLI command="cache:flush config" stepKey="flushCacheAfterTestRun"/>
41+
</after>
42+
43+
<!-- Login to admin -->
44+
<actionGroup ref="AdminLoginActionGroup" stepKey="LoginAdmin"/>
45+
<!-- Go to Admin > Store > Configuration > Sales > Multishipping, Choose No to mutishipping -->
46+
<amOnPage url="{{MultishippingAdminConfigPage.url}}" stepKey="NavigateToMultishippingOptions"/>
47+
<waitForPageLoad stepKey="waitForSectionDisplay"/>
48+
<click selector="{{MultipleshippingConfigurationSection.AllowMultipleShippingCheckbox}}" stepKey="ClickOnCheckbox"/>
49+
<selectOption selector="{{MultipleshippingConfigurationSection.AllowMultipleShippingDropdown}}" userInput="No" stepKey="SelectAllowMultipleShippingAddress"/>
50+
<click selector="{{CatalogSection.save}}" stepKey="clickSaveConfigBtn"/>
51+
<!-- Flushing all the config data -->
52+
<magentoCLI command="cache:flush config" stepKey="flushCacheAfterTestRun"/>
53+
<!-- Go to Storefront as Guest -->
54+
<amOnPage url="{{StorefrontCategoryPage.url($$createSimpleProduct.custom_attributes[url_key]$$)}}" stepKey="onCategoryPage"/>
55+
<waitForPageLoad time="5" stepKey="waitForPageLoad"/>
56+
<click selector="{{StorefrontBundleProductActionSection.addToCartButton}}" stepKey="AddToCart"/>
57+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="CheckoutPage"/>
58+
<!-- Assert text "Check Out with Multiple Addresses" is NOT present -->
59+
<actionGroup ref="AssertStorefrontMultiShippingOptionIsNotPresentOnShoppingCartPageActionGroup" stepKey="MultipleAddressCheckoutIsNotPresent"/>
60+
<!-- Login as Customer -->
61+
<actionGroup ref="LoginToStorefrontActionGroup" stepKey="loginAsCustomer">
62+
<argument name="Customer" value="$$createCustomer$$"/>
63+
</actionGroup>
64+
65+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="CheckoutPage2"/>
66+
<!-- Assert text "Check Out with Multiple Addresses" is NOT present -->
67+
<actionGroup ref="AssertStorefrontMultiShippingOptionIsNotPresentOnShoppingCartPageActionGroup" stepKey="MultipleAddressCheckoutIsNotPresents"/>
68+
69+
</test>
70+
</tests>
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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="AdminResetPasswordActionGroup">
12+
<annotations>
13+
<description>Reset password using old password on My Account page.</description>
14+
</annotations>
15+
<amOnPage url="{{AdminSystemAccountPage.url}}" stepKey="openAdminSystemAccountPage" />
16+
<fillField selector="{{AdminSystemAccountSection.newPassword}}" userInput="Admin@12345678" stepKey="enterPassword"/>
17+
<fillField selector="{{AdminSystemAccountSection.passwordConfirmation}}" userInput="Admin@12345678" stepKey="confirmPassword"/>
18+
<click selector="{{AdminMainActionsSection.save}}" stepKey="clickSaveUser"/>
19+
<waitForPageLoad stepKey="waitForPageLoad"/>
20+
<see userInput="This is a required field." stepKey="seeRequiredField1"/>
21+
<fillField selector="{{AdminSystemAccountSection.currentPassword}}" userInput="Invalid12345678" stepKey="fillWrongPassword"/>
22+
<click selector="{{AdminMainActionsSection.save}}" stepKey="clickSaveUser1"/>
23+
<waitForPageLoad stepKey="waitForPageLoad1"/>
24+
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
25+
<see userInput="The password entered for the current user is invalid. Verify the password and try again." stepKey="seeErrorMessage1"/>
26+
<fillField selector="{{AdminSystemAccountSection.newPassword}}" userInput="Admin@12345678" stepKey="enterPassword1"/>
27+
<fillField selector="{{AdminSystemAccountSection.passwordConfirmation}}" userInput="Admin@12345678" stepKey="confirmPassword1"/>
28+
<fillField selector="{{AdminSystemAccountSection.currentPassword}}" userInput="123123aaa" stepKey="fillCorrectPassword"/>
29+
<click selector="{{AdminMainActionsSection.save}}" stepKey="clickSaveUser2"/>
30+
<see selector="{{AdminMessagesSection.success}}" userInput="You saved the account." stepKey="seeSuccessMessage"/>
31+
32+
</actionGroup>
33+
</actionGroups>
34+
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
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="AdminResetPasswordUsingOldPasswordActionGroup">
12+
<annotations>
13+
<description>Reset password using old password on All Users page.</description>
14+
</annotations>
15+
<fillField selector="{{AdminEditUserSection.passwordTextField}}" userInput="123123aaa" stepKey="enterPassword"/>
16+
<fillField selector="{{AdminEditUserSection.pwConfirmationTextField}}" userInput="123123aaa" stepKey="confirmPassword"/>
17+
<click selector="{{AdminEditUserSection.saveButton}}" stepKey="clickSaveUser"/>
18+
<waitForPageLoad stepKey="waitForPageLoad"/>
19+
<see userInput="This is a required field." stepKey="seeRequiredField"/>
20+
<fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="Invalid12345678" stepKey="enterWrongPassword"/>
21+
<click selector="{{AdminEditUserSection.saveButton}}" stepKey="clickSaveUser1"/>
22+
<waitForPageLoad stepKey="waitForPageLoad1"/>
23+
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
24+
<see userInput="The password entered for the current user is invalid. Verify the password and try again." stepKey="seeErrorMessage"/>
25+
<fillField selector="{{AdminEditUserSection.passwordTextField}}" userInput="123123aaa" stepKey="enterPassword1"/>
26+
<fillField selector="{{AdminEditUserSection.pwConfirmationTextField}}" userInput="123123aaa" stepKey="confirmPassword1"/>
27+
<fillField selector="{{AdminEditUserSection.currentPasswordField}}" userInput="{{_CREDS.magento/MAGENTO_ADMIN_PASSWORD}}" stepKey="enterCurrentPassword"/>
28+
<click selector="{{AdminEditUserSection.saveButton}}" stepKey="clickSaveUser2"/>
29+
<waitForPageLoad stepKey="waitForPageLoad2"/>
30+
<see userInput="You saved the user." stepKey="seeSuccessMessage"/>
31+
32+
</actionGroup>
33+
</actionGroups>
34+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
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="AdminOldPasswordRequiredToResetAdminPasswordTest">
12+
<annotations>
13+
<features value="Backend"/>
14+
<stories value="Old Password Required TO Reset Admin Password"/>
15+
<title value="Admin should be able to change old password "/>
16+
<description value="Admin should be able to change old password"/>
17+
<severity value="MAJOR"/>
18+
<testCaseId value="MC-27477"/>
19+
</annotations>
20+
<before>
21+
<createData entity="AdminConstantUserNameUpdatedPassword" stepKey="createUser"/>
22+
</before>
23+
<after>
24+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin2"/>
25+
<actionGroup ref="AdminDeleteUserActionGroup" stepKey="deleteUser">
26+
<argument name="user" value="AdminConstantUserNameUpdatedPassword"/>
27+
</actionGroup>
28+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin2"/>
29+
</after>
30+
31+
<!-- Login to Admin page -->
32+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin"/>
33+
<actionGroup ref="AssertAdminSuccessLoginActionGroup" stepKey="assertLoggedIn"/>
34+
<actionGroup ref="AdminOpenAdminUsersPageActionGroup" stepKey="navigateToAdminUsersPage"/>
35+
<actionGroup ref="AdminOpenUserEditPageActionGroup" stepKey="AdminOpenUserEditPageActionGroup">
36+
<argument name="user" value="AdminConstantUserNameUpdatedPassword"/>
37+
</actionGroup>
38+
<actionGroup ref="AdminResetPasswordUsingOldPasswordActionGroup" stepKey="resetPassword"/>
39+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin"/>
40+
<actionGroup ref="AdminLoginActionGroup" stepKey="loginAsAdmin1">
41+
<argument name="username" value="$$createUser.username$$"/>
42+
<argument name="password" value="123123aaa"/>
43+
</actionGroup>
44+
<actionGroup ref="AssertAdminSuccessLoginActionGroup" stepKey="seeSuccessLoginMessage"/>
45+
<actionGroup ref="AdminResetPasswordActionGroup" stepKey="resetPassword1"/>
46+
47+
48+
<actionGroup ref="AdminLogoutActionGroup" stepKey="logoutFromAdmin1"/>
49+
50+
</test>
51+
</tests>

0 commit comments

Comments
 (0)