Skip to content

Commit f7e78ae

Browse files
[EngCom] Public Pull Requests - 2.3-develop
- merged latest code from mainline branch
2 parents e1c80fc + 0522c09 commit f7e78ae

23 files changed

+717
-5
lines changed

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/ActionGroup/LogoutActionGroup.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
1111
<actionGroup name="logout">
12-
<amOnPage url="{{_ENV.MAGENTO_BACKEND_NAME}}/admin/auth/logout/" stepKey="amOnLogoutPage"/>
12+
<amOnPage url="{{AdminLogoutPage.url}}" stepKey="amOnLogoutPage"/>
1313
</actionGroup>
1414
</actionGroups>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Backend/Page/AdminLogoutPage.xml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@
88

99
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1010
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/PageObject.xsd">
11-
<page name="AdminLogoutPage" url="admin/auth/logout/" area="admin" module="Magento_Backend">
12-
<section name="removeAfterMqe-896"/>
13-
</page>
11+
<page name="AdminLogoutPage" url="admin/auth/logout/" area="admin" module="Magento_Backend"/>
1412
</pages>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/ActionGroup/AdminCategoryActionGroup.xml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,70 @@
2525
<seeElement selector="{{AdminCategorySidebarTreeSection.categoryInTree(categoryEntity.name)}}" stepKey="seeCategoryInTree"/>
2626
</actionGroup>
2727

28+
<!-- Go to create new root or sub category page -->
29+
<actionGroup name="goToCreateCategoryPage">
30+
<arguments>
31+
<argument name="selector" defaultValue="AdminCategorySidebarActionSection.AddSubcategoryButton"/>
32+
</arguments>
33+
<amOnPage url="{{AdminCategoryPage.url}}" stepKey="amOnAdminCategoryPage"/>
34+
<scrollToTopOfPage stepKey="scrollToTopOfPage"/>
35+
<waitForPageLoad stepKey="waitForPageLoad"/>
36+
<click selector="{{selector}}" stepKey="clickOnAddCategory"/>
37+
<see selector="{{AdminHeaderSection.pageTitle}}" userInput="New Category" stepKey="seeCategoryPageTitle"/>
38+
</actionGroup>
39+
40+
<!-- Fill category fields -->
41+
<actionGroup name="fillCategoryForm">
42+
<arguments>
43+
<argument name="categoryEntity" defaultValue="_defaultCategory"/>
44+
</arguments>
45+
<fillField selector="{{AdminCategoryBasicFieldSection.CategoryNameInput}}" userInput="{{categoryEntity.name}}" stepKey="enterCategoryName"/>
46+
<click selector="{{AdminCategorySEOSection.SectionHeader}}" stepKey="openSEO"/>
47+
<fillField selector="{{AdminCategorySEOSection.UrlKeyInput}}" userInput="{{categoryEntity.name_lwr}}" stepKey="enterURLKey"/>
48+
</actionGroup>
49+
50+
<!-- Save category form -->
51+
<actionGroup name="saveCategoryForm">
52+
<seeInCurrentUrl url="{{AdminCategoryPage.url}}" stepKey="seeOnCategoryPage"/>
53+
<click selector="{{AdminCategoryMainActionsSection.SaveButton}}" stepKey="saveCategory"/>
54+
<seeElement selector="{{AdminCategoryMessagesSection.SuccessMessage}}" stepKey="assertSuccess"/>
55+
</actionGroup>
56+
57+
<!--Upload image for category -->
58+
<actionGroup name="addCategoryImage">
59+
<arguments>
60+
<argument name="image" defaultValue="ImageUpload"/>
61+
</arguments>
62+
<conditionalClick selector="{{AdminCategoryContentSection.sectionHeader}}" dependentSelector="{{AdminCategoryContentSection.uploadButton}}" visible="false" stepKey="openContentSection"/>
63+
<waitForPageLoad time="30" stepKey="waitForPageLoad"/>
64+
<waitForElementVisible selector="{{AdminCategoryContentSection.uploadButton}}" stepKey="seeImageSectionIsReady"/>
65+
<attachFile selector="{{AdminCategoryContentSection.uploadImageFile}}" userInput="{{image.file}}" stepKey="uploadFile"/>
66+
<waitForAjaxLoad time="30" stepKey="waitForAjaxUpload"/>
67+
<waitForLoadingMaskToDisappear stepKey="waitForLoading"/>
68+
<see selector="{{AdminCategoryContentSection.imageFileName}}" userInput="{{image.file}}" stepKey="seeImage"/>
69+
</actionGroup>
70+
71+
<!-- Remove image from category -->
72+
<actionGroup name="removeCategoryImage">
73+
<conditionalClick selector="{{AdminCategoryContentSection.sectionHeader}}" dependentSelector="{{AdminCategoryContentSection.uploadButton}}" visible="false" stepKey="openContentSection"/>
74+
<waitForPageLoad stepKey="waitForPageLoad"/>
75+
<waitForElementVisible selector="{{AdminCategoryContentSection.uploadButton}}" stepKey="seeImageSectionIsReady"/>
76+
<click selector="{{AdminCategoryContentSection.removeImageButton}}" stepKey="clickRemoveImage"/>
77+
<waitForAjaxLoad time="30" stepKey="waitForAjaxUpload"/>
78+
<waitForLoadingMaskToDisappear stepKey="waitForLoading"/>
79+
<dontSee selector="{{AdminCategoryContentSection.imageFileName}}" stepKey="dontSeeImage"/>
80+
</actionGroup>
81+
82+
<actionGroup name="checkCategoryImageInAdmin">
83+
<arguments>
84+
<argument name="image" defaultValue="ImageUpload"/>
85+
</arguments>
86+
<conditionalClick selector="{{AdminCategoryContentSection.sectionHeader}}" dependentSelector="{{AdminCategoryContentSection.uploadButton}}" visible="false" stepKey="openContentSection"/>
87+
<waitForPageLoad stepKey="waitForPageLoad"/>
88+
<waitForElementVisible selector="{{AdminCategoryContentSection.uploadButton}}" stepKey="seeImageSectionIsReady"/>
89+
<see selector="{{AdminCategoryContentSection.imageFileName}}" userInput="{{image.file}}" stepKey="seeImage"/>
90+
</actionGroup>
91+
2892
<!--Actions to check if a category exists on StoreFront-->
2993
<actionGroup name="CheckCategoryOnStorefront">
3094
<arguments>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Page/AdminCategoryPage.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@
1818
<section name="AdminCategoryProductsGridSection"/>
1919
<section name="AdminCategoryModalSection"/>
2020
<section name="AdminCategoryMessagesSection"/>
21+
<section name="AdminCategoryContentSection"/>
2122
</page>
2223
</pages>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
11+
<section name="AdminCategoryContentSection">
12+
<element name="sectionHeader" type="button" selector="div[data-index='content']" timeout="30"/>
13+
<element name="uploadButton" type="button" selector="//*[@class='file-uploader-area']/label[text()='Upload']"/>
14+
<element name="selectFromGalleryButton" type="button" selector="//*[@class='file-uploader-area']/label[text()='Select from Gallery']"/>
15+
<element name="uploadImageFile" type="input" selector=".file-uploader-area>input"/>
16+
<element name="imageFileName" type="text" selector=".file-uploader-filename"/>
17+
<element name="removeImageButton" type="button" selector=".file-uploader-summary .action-remove"/>
18+
</section>
19+
</sections>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Section/StorefrontCategoryMainSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@
2323
<element name="productLink" type="text" selector="a.product-item-link"/>
2424
<element name="productLinkByHref" type="text" selector="a.product-item-link[href$='{{var1}}.html']" parameterized="true"/>
2525
<element name="productPrice" type="text" selector="div.price-box.price-final_price"/>
26+
<element name="categoryImage" type="text" selector=".category-image"/>
2627
</section>
2728
</sections>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Section/StorefrontProductActionSection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
99
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
1010
<section name="StorefrontProductActionSection">
11+
<element name="quantity" type="input" selector="#qty"/>
1112
<element name="addToCart" type="button" selector="#product-addtocart-button"/>
1213
<element name="addToCartButtonTitleIsAdding" type="text" selector="//button/span[text()='Adding...']"/>
1314
<element name="addToCartButtonTitleIsAdded" type="text" selector="//button/span[text()='Added']"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AdminAddImageForCategoryTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Add/remove images and videos for all product types and category"/>
15+
<title value="Admin should be able to add image to a Category"/>
16+
<description value="Admin should be able to add image to a Category"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-188"/>
19+
<group value="Catalog"/>
20+
</annotations>
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
23+
</before>
24+
<after>
25+
<actionGroup ref="DeleteCategory" stepKey="DeleteCategory">
26+
<argument name="categoryEntity" value="SimpleSubCategory"/>
27+
</actionGroup>
28+
<actionGroup ref="logout" stepKey="logout"/>
29+
</after>
30+
31+
<!-- Go to create a new category with image -->
32+
<actionGroup ref="goToCreateCategoryPage" stepKey="goToCreateCategoryPage"/>
33+
<actionGroup ref="fillCategoryForm" stepKey="fillCategoryForm">
34+
<argument name="categoryEntity" value="SimpleSubCategory"/>
35+
</actionGroup>
36+
<actionGroup ref="addCategoryImage" stepKey="addCategoryImage"/>
37+
<actionGroup ref="saveCategoryForm" stepKey="saveCategoryForm"/>
38+
39+
<!-- Verify category with image in admin -->
40+
<actionGroup ref="checkCategoryImageInAdmin" stepKey="checkCategoryImageInAdmin"/>
41+
42+
<!-- Verify category with image in storefront -->
43+
<actionGroup ref="CheckCategoryOnStorefront" stepKey="CheckCategoryOnStorefront">
44+
<argument name="categoryEntity" value="SimpleSubCategory"/>
45+
</actionGroup>
46+
<seeElement selector="{{StorefrontCategoryMainSection.imageSource(ImageUpload.filename)}}" stepKey="seeImage"/>
47+
</test>
48+
</tests>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Catalog/Test/AdminRemoveDefaultImageSimpleProductTest.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
<severity value="MAJOR"/>
1818
<testCaseId value="MC-195"/>
1919
<group value="Catalog"/>
20-
<group value="ji"/>
2120
</annotations>
2221
<before>
2322
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/testSchema.xsd">
11+
<test name="AdminRemoveImageFromCategoryTest">
12+
<annotations>
13+
<features value="Catalog"/>
14+
<stories value="Add/remove images and videos for all product types and category"/>
15+
<title value="Admin should be able to remove image from a Category"/>
16+
<description value="Admin should be able to remove image from a Category"/>
17+
<severity value="CRITICAL"/>
18+
<testCaseId value="MC-212"/>
19+
<group value="Catalog"/>
20+
</annotations>
21+
<before>
22+
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
23+
</before>
24+
<after>
25+
<actionGroup ref="DeleteCategory" stepKey="DeleteCategory">
26+
<argument name="categoryEntity" value="SimpleSubCategory"/>
27+
</actionGroup>
28+
<actionGroup ref="logout" stepKey="logout"/>
29+
</after>
30+
31+
<!-- Go to create a new category with image -->
32+
<actionGroup ref="goToCreateCategoryPage" stepKey="goToCreateCategoryPage"/>
33+
<actionGroup ref="fillCategoryForm" stepKey="fillCategoryForm">
34+
<argument name="categoryEntity" value="SimpleSubCategory"/>
35+
</actionGroup>
36+
<actionGroup ref="addCategoryImage" stepKey="addCategoryImage"/>
37+
<actionGroup ref="saveCategoryForm" stepKey="saveCategoryForm"/>
38+
<actionGroup ref="checkCategoryImageInAdmin" stepKey="checkCategoryImageInAdmin"/>
39+
40+
<!-- Remove image from category -->
41+
<actionGroup ref="removeCategoryImage" stepKey="removeCategoryImage"/>
42+
<actionGroup ref="saveCategoryForm" stepKey="saveCategoryFormAfterRemove"/>
43+
44+
<actionGroup ref="CheckCategoryOnStorefront" stepKey="CheckCategoryOnStorefront">
45+
<argument name="categoryEntity" value="SimpleSubCategory"/>
46+
</actionGroup>
47+
48+
<!-- Verify category with no image in storefront -->
49+
<dontSee selector="{{StorefrontCategoryMainSection.categoryImage}}" stepKey="dontSeeImage"/>
50+
</test>
51+
</tests>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/Checkout/Section/CheckoutCartSummarySection.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@
1414
<element name="shipping" type="text" selector="//*[@id='cart-totals']//tr[@class='totals shipping excl']//td//span[@class='price']"/>
1515
<element name="total" type="text" selector="//*[@id='cart-totals']//tr[@class='grand totals']//td//span[@class='price']"/>
1616
<element name="proceedToCheckout" type="button" selector=".action.primary.checkout span" timeout="30"/>
17+
<element name="discountAmount" type="text" selector="td[data-th='Discount']"/>
1718
</section>
1819
</sections>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Test/etc/actionGroupSchema.xsd">
10+
<actionGroup name="DeleteCartPriceRuleByName">
11+
<arguments>
12+
<argument name="ruleName" type="string"/>
13+
</arguments>
14+
<amOnPage url="{{AdminCartPriceRulesPage.url}}" stepKey="amOnCartPriceList"/>
15+
<waitForPageLoad stepKey="waitForPriceList"/>
16+
<fillField selector="{{AdminCartPriceRulesSection.filterByNameInput}}" userInput="{{ruleName}}" stepKey="filterByName"/>
17+
<click selector="{{AdminCartPriceRulesSection.searchButton}}" stepKey="doFilter"/>
18+
<click selector="{{AdminCartPriceRulesSection.rowByIndex('1')}}" stepKey="goToEditRulePage"/>
19+
<click selector="{{AdminCartPriceRulesFormSection.delete}}" stepKey="clickDeleteButton"/>
20+
<click selector="{{AdminCartPriceRulesFormSection.modalAcceptButton}}" stepKey="confirmDelete"/>
21+
</actionGroup>
22+
</actionGroups>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/ActionGroup/StorefrontSalesRuleActionGroup.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,21 @@
3838
<see userInput="{{rule.store_labels[1][store_label]}}" selector="{{CheckoutCartSummarySection.discountLabel}}" stepKey="assertDiscountLabel" />
3939
<see userInput="-${{discount}}" selector="{{CheckoutCartSummarySection.discountTotal}}" stepKey="assertDiscountTotal" />
4040
</actionGroup>
41+
42+
<actionGroup name="VerifyDiscountAmount">
43+
<arguments>
44+
<argument name="productUrl" type="string"/>
45+
<argument name="quantity" type="string"/>
46+
<argument name="expectedDiscount" type="string"/>
47+
</arguments>
48+
<amOnPage url="{{productUrl}}" stepKey="goToProductPage"/>
49+
<waitForPageLoad stepKey="waitForProductPageLoad"/>
50+
<fillField selector="{{StorefrontProductActionSection.quantity}}" userInput="{{quantity}}" stepKey="fillQuantity"/>
51+
<click selector="{{StorefrontProductActionSection.addToCart}}" stepKey="addProductToCart"/>
52+
<waitForPageLoad stepKey="waitForAddToCart"/>
53+
<amOnPage url="{{CheckoutCartPage.url}}" stepKey="goToCartPage"/>
54+
<waitForPageLoad stepKey="waitForCartPage"/>
55+
<waitForElementVisible selector="{{CheckoutCartSummarySection.discountAmount}}" stepKey="waitForDiscountElement"/>
56+
<see selector="{{CheckoutCartSummarySection.discountAmount}}" userInput="{{expectedDiscount}}" stepKey="seeDiscountTotal"/>
57+
</actionGroup>
4158
</actionGroups>

dev/tests/acceptance/tests/functional/Magento/FunctionalTest/SalesRule/Data/SalesCouponData.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,7 @@
1515
<data key="type">0</data>
1616
<var key="rule_id" entityType="SalesRule" entityKey="rule_id"/>
1717
</entity>
18+
<entity name="_defaultCoupon" type="SalesRuleCoupon">
19+
<data key="code" unique="suffix">defaultCoupon</data>
20+
</entity>
1821
</entities>
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+
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/PageObject.xsd">
10+
<page name="AdminCartPriceRulesPage" url="sales_rule/promo_quote/" area="admin" module="SalesRule">
11+
<section name="AdminCartPriceRulesSection"/>
12+
<section name="AdminCartPriceRulesFormSection"/>
13+
</page>
14+
</pages>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
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+
<sections xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9+
xsi:noNamespaceSchemaLocation="../../../../../../vendor/magento/magento2-functional-testing-framework/src/Magento/FunctionalTestingFramework/Page/etc/SectionObject.xsd">
10+
<section name="AdminCartPriceRulesFormSection">
11+
<element name="save" type="button" selector="#save" timeout="30"/>
12+
<element name="saveAndContinue" type="button" selector="#save_and_continue" timeout="30"/>
13+
<element name="delete" type="button" selector="#delete" timeout="30"/>
14+
<element name="modalAcceptButton" type="button" selector="button.action-accept" timeout="30"/>
15+
16+
<!-- Rule Information (the main form on the page) -->
17+
<element name="ruleInformationHeader" type="button" selector="div[data-index='rule_information']" timeout="30"/>
18+
<element name="ruleName" type="input" selector="input[name='name']"/>
19+
<element name="websites" type="multiselect" selector="select[name='website_ids']"/>
20+
<element name="customerGroups" type="multiselect" selector="select[name='customer_group_ids']"/>
21+
<element name="coupon" type="select" selector="select[name='coupon_type']"/>
22+
<element name="couponCode" type="input" selector="input[name='coupon_code']"/>
23+
<element name="useAutoGeneration" type="checkbox" selector="input[name='use_auto_generation']"/>
24+
25+
<!-- Actions sub-form -->
26+
<element name="actionsHeader" type="button" selector="div[data-index='actions']" timeout="30"/>
27+
<element name="apply" type="select" selector="select[name='simple_action']"/>
28+
<element name="discountAmount" type="input" selector="input[name='discount_amount']"/>
29+
<element name="discountStep" type="input" selector="input[name='discount_step']"/>
30+
31+
<!-- Manage Coupon Codes sub-form -->
32+
<element name="manageCouponCodesHeader" type="button" selector="div[data-index='manage_coupon_codes']" timeout="30"/>
33+
<element name="successMessage" type="text" selector="div.message.message-success.success"/>
34+
<element name="couponQty" type="input" selector="#coupons_qty"/>
35+
<element name="generateCouponsButton" type="button" selector="#coupons_generate_button" timeout="30"/>
36+
<element name="generatedCouponByIndex" type="text" selector="#couponCodesGrid_table > tbody > tr:nth-child({{var}}) > td.col-code" parameterized="true"/>
37+
</section>
38+
</sections>

0 commit comments

Comments
 (0)