-
Notifications
You must be signed in to change notification settings - Fork 9.3k
/
AdminProductAttributeActionGroup.xml
396 lines (348 loc) · 24.9 KB
/
AdminProductAttributeActionGroup.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<actionGroups xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Test/etc/actionGroupSchema.xsd">
<!--
NOTICE: navigateToCreatedProductAttribute is deprecated.
Please use NavigateToCreatedProductAttributeActionGroup instead.
-->
<actionGroup name="navigateToCreatedProductAttribute">
<annotations>
<description>Goes to the Product Attributes grid page. Filters the grid based on the provided Product Attribute. Clicks on the 1st row.</description>
</annotations>
<arguments>
<argument name="ProductAttribute"/>
</arguments>
<amOnPage url="{{AdminProductAttributeGridPage.url}}" stepKey="navigateToProductAttributeGrid"/>
<fillField selector="{{AdminProductAttributeGridSection.FilterByAttributeCode}}" userInput="{{ProductAttribute.attribute_code}}" stepKey="setAttributeCode"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="searchForAttributeFromTheGrid"/>
<click selector="{{AdminProductAttributeGridSection.FirstRow}}" stepKey="clickOnAttributeRow"/>
<waitForPageLoad stepKey="waitForPageLoad2"/>
</actionGroup>
<actionGroup name="navigateToEditProductAttribute">
<annotations>
<description>Goes to the Product Attributes grid page. Filters the grid based on the provided Product Attribute. Clicks on the 1st row.</description>
</annotations>
<arguments>
<argument name="ProductAttribute" type="string"/>
</arguments>
<amOnPage url="{{AdminProductAttributeGridPage.url}}" stepKey="navigateToProductAttributeGrid"/>
<fillField selector="{{AdminProductAttributeGridSection.GridFilterFrontEndLabel}}" userInput="{{ProductAttribute}}" stepKey="navigateToAttributeEditPage1"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="navigateToAttributeEditPage2"/>
<waitForPageLoad stepKey="waitForPageLoad2"/>
<click selector="{{AdminProductAttributeGridSection.FirstRow}}" stepKey="navigateToAttributeEditPage3"/>
<waitForPageLoad stepKey="waitForPageLoad3"/>
</actionGroup>
<actionGroup name="AdminCreateAttributeFromProductPage">
<annotations>
<description>From the Product creation/edit page, under 'Configurations', Clicks on 'Create Configurations'. Clicks on 'Create New Attribute'. Fills Label. Selects Type. Clicks on Save.</description>
</annotations>
<arguments>
<argument name="attributeName" type="string"/>
<argument name="attributeType" type="string" defaultValue="TextField"/>
</arguments>
<click selector="{{AdminProductFormSection.addAttributeBtn}}" stepKey="clickAddAttributeBtn"/>
<see userInput="Select Attribute" stepKey="checkNewAttributePopUpAppeared"/>
<click selector="{{AdminProductFormAttributeSection.createNewAttribute}}" stepKey="clickCreateNewAttribute"/>
<fillField selector="{{AdminProductFormNewAttributeSection.attributeLabel}}" userInput="{{attributeName}}" stepKey="fillAttributeLabel"/>
<selectOption selector="{{AdminProductFormNewAttributeSection.attributeType}}" userInput="{{attributeType}}" stepKey="selectAttributeType"/>
<click selector="{{AdminProductFormNewAttributeSection.saveAttribute}}" stepKey="saveAttribute"/>
</actionGroup>
<actionGroup name="AdminCreateAttributeFromProductPageWithScope" extends="AdminCreateAttributeFromProductPage" insertAfter="selectAttributeType">
<arguments>
<argument name="scope" type="string" defaultValue="Store View"/>
</arguments>
<conditionalClick selector="{{AdminProductFormNewAttributeAdvancedSection.sectionHeader}}" dependentSelector="{{AdminProductFormNewAttributeAdvancedSection.scope}}" visible="false" stepKey="openAttributeAdvancedSection"/>
<selectOption selector="{{AdminProductFormNewAttributeAdvancedSection.scope}}" userInput="{{scope}}" stepKey="selectScope"/>
</actionGroup>
<actionGroup name="AdminCreateAttributeWithValueWithTwoStoreViesFromProductPage" extends="AdminCreateAttributeFromProductPage">
<remove keyForRemoval="saveAttribute"/>
<annotations>
<description>EXTENDS: AdminCreateAttributeFromProductPage. Adds the 2 provided Store Views to a Product. Clicks on Save.</description>
</annotations>
<arguments>
<argument name="firstStoreViewName" type="string"/>
<argument name="secondStoreViewName" type="string"/>
</arguments>
<click selector="{{AdminProductFormNewAttributeSection.addValue}}" stepKey="addValue" after="selectAttributeType"/>
<seeElement selector="{{AdminProductFormNewAttributeSection.optionViewName(firstStoreViewName))}}" stepKey="seeFirstStoreView"/>
<seeElement selector="{{AdminProductFormNewAttributeSection.optionViewName(firstStoreViewName))}}" stepKey="seeSecondStoreView"/>
<fillField selector="{{AdminProductFormNewAttributeSection.optionValue('1'))}}" userInput="default" stepKey="fillDefaultStoreView"/>
<fillField selector="{{AdminProductFormNewAttributeSection.optionValue('2'))}}" userInput="admin" stepKey="fillAdminStoreView"/>
<fillField selector="{{AdminProductFormNewAttributeSection.optionValue('3'))}}" userInput="view1" stepKey="fillFirstStoreView"/>
<fillField selector="{{AdminProductFormNewAttributeSection.optionValue('4'))}}" userInput="view2" stepKey="fillSecondStoreView"/>
<!--Check store view in Manage Titles section-->
<click selector="{{AdminProductFormNewAttributeSection.manageTitlesHeader}}" stepKey="openManageTitlesSection"/>
<seeElement selector="{{AdminProductFormNewAttributeSection.manageTitlesViewName(customStoreEN.name)}}" stepKey="seeFirstStoreViewName"/>
<seeElement selector="{{AdminProductFormNewAttributeSection.manageTitlesViewName(customStoreFR.name)}}" stepKey="seeSecondStoreViewName"/>
<click selector="{{AdminProductFormNewAttributeSection.saveAttribute}}" stepKey="saveAttribute1"/>
</actionGroup>
<!-- Creates attribute and attribute set from the product page-->
<actionGroup name="AdminProductPageCreateAttributeSetWithAttribute">
<annotations>
<description>Adds the provided Product Attribute Set to a Product on the Product creation/edit page.</description>
</annotations>
<arguments>
<argument name="attributeName" type="string"/>
<argument name="attributeSetName" type="string"/>
<argument name="attributeType" type="string" defaultValue="TextField"/>
</arguments>
<click selector="{{AdminProductFormSection.addAttributeBtn}}" stepKey="clickAddAttributeBtn"/>
<waitForPageLoad stepKey="waitForSidePanel"/>
<see userInput="Select Attribute" stepKey="checkNewAttributePopUpAppeared"/>
<click selector="{{AdminProductFormAttributeSection.createNewAttribute}}" stepKey="clickCreateNewAttribute"/>
<fillField selector="{{AdminProductFormNewAttributeSection.attributeLabel}}" userInput="{{attributeName}}" stepKey="fillAttributeLabel"/>
<selectOption selector="{{AdminProductFormNewAttributeSection.attributeType}}" userInput="{{attributeType}}" stepKey="selectAttributeType"/>
<click selector="{{AdminProductFormNewAttributeSection.saveInNewSet}}" stepKey="saveAttribute"/>
<fillField selector="{{AdminProductFormNewAttributeNewSetSection.setName}}" userInput="{{attributeSetName}}" stepKey="fillSetName"/>
<click selector="{{AdminProductFormNewAttributeNewSetSection.accept}}" stepKey="acceptPopup"/>
<waitForLoadingMaskToDisappear stepKey="waitForLoadingToFinish"/>
<!-- Product page will hang if there is no reload-->
<reloadPage stepKey="reloadPage"/>
<waitForPageLoad stepKey="waitForReload"/>
</actionGroup>
<!-- Create attribute and set with given search weight and defaultValue from the Edit Product Page -->
<actionGroup name="AdminCreateAttributeWithSearchWeight" extends="AdminProductPageCreateAttributeSetWithAttribute" insertAfter="selectAttributeType">
<annotations>
<description>EXTENDS: AdminProductPageCreateAttributeSetWithAttribute. Sets the provided Search Weight and Default Values.</description>
</annotations>
<arguments>
<argument name="weight" type="string" defaultValue="1"/>
<argument name="defaultValue" type="string" defaultValue="default"/>
</arguments>
<click selector="{{AdminProductFormNewAttributeAdvancedSection.sectionHeader}}" stepKey="openAdvancedSection"/>
<fillField selector="{{AdminProductFormNewAttributeAdvancedSection.defaultValue}}" userInput="{{defaultValue}}" stepKey="inputDefault"/>
<click selector="{{AdminProductFormNewAttributeStorefrontSection.sectionHeader}}" stepKey="openStorefrontSection"/>
<checkOption selector="{{AdminProductFormNewAttributeStorefrontSection.useInSearch}}" stepKey="checkUseInSearch"/>
<waitForElementVisible selector="{{AdminProductFormNewAttributeStorefrontSection.searchWeight}}" stepKey="waitForSearchWeight"/>
<selectOption selector="{{AdminProductFormNewAttributeStorefrontSection.searchWeight}}" userInput="{{weight}}" stepKey="selectWeight"/>
</actionGroup>
<actionGroup name="AdminProductPageSelectAttributeSet">
<annotations>
<description>Selects the provided Attribute Set from the Admin Product creation/edit page.</description>
</annotations>
<arguments>
<argument name="attributeSetName" type="string"/>
</arguments>
<click stepKey="openDropdown" selector="{{AdminProductFormSection.attributeSet}}"/>
<fillField stepKey="filter" selector="{{AdminProductFormSection.attributeSetFilter}}" userInput="{{attributeSetName}}"/>
<click stepKey="clickResult" selector="{{AdminProductFormSection.attributeSetFilterResult}}"/>
</actionGroup>
<actionGroup name="AdminProductPageFillTextAttributeValueByName">
<annotations>
<description>Fills in the Attribute Name field with the provided value.</description>
</annotations>
<arguments>
<argument name="attributeName" type="string"/>
<argument name="value" type="string"/>
</arguments>
<click stepKey="openSection" selector="{{AdminProductAttributeSection.attributeSectionHeader}}"/>
<fillField stepKey="fillValue" selector="{{AdminProductAttributeSection.textAttributeByName(attributeName)}}" userInput="{{value}}"/>
</actionGroup>
<actionGroup name="changeUseForPromoRuleConditionsProductAttribute">
<annotations>
<description>Select the provided value for the 'Use for Promo Rule Conditions' dropdown menu. Clicks on Save. Validates that the Save message is present.</description>
</annotations>
<arguments>
<argument name="option" type="string"/>
</arguments>
<click selector="{{StorefrontPropertiesSection.StoreFrontPropertiesTab}}" stepKey="clickStoreFrontPropertiesTab"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<selectOption selector="{{StorefrontPropertiesSection.useForPromoRuleConditions}}" userInput="{{option}}" stepKey="changeOption"/>
<click selector="{{AttributePropertiesSection.Save}}" stepKey="saveAttribute"/>
<see selector="{{AdminMessagesSection.success}}" userInput="You saved the product attribute." stepKey="successMessage"/>
</actionGroup>
<actionGroup name="deleteProductAttribute" extends="navigateToCreatedProductAttribute">
<annotations>
<description>EXTENDS: navigateToCreatedProductAttribute. Deletes the Product Attribute. Validates that the success message is present.</description>
</annotations>
<click selector="{{AttributePropertiesSection.DeleteAttribute}}" stepKey="deleteAttribute"/>
<click selector="{{ModalConfirmationSection.OkButton}}" stepKey="ClickOnDeleteButton"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="waitForSuccessMessage"/>
</actionGroup>
<!--
NOTICE: deleteProductAttributeByLabel is deprecated.
Please use deleteProductAttributeByLabelActionGroup instead.
-->
<actionGroup name="deleteProductAttributeByLabel">
<annotations>
<description>Goes to the Admin Product Attributes grid page. Filters the grid for the provided Product Attribute (Label). Deletes the Product Attribute from the grid. Validates that the Success Message is present.</description>
</annotations>
<arguments>
<argument name="ProductAttribute"/>
</arguments>
<amOnPage url="{{AdminProductAttributeGridPage.url}}" stepKey="navigateToProductAttributeGrid"/>
<fillField selector="{{AdminProductAttributeGridSection.FilterByAttributeCode}}" userInput="{{ProductAttribute.default_label}}" stepKey="setAttributeCode"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="searchForAttributeFromTheGrid"/>
<click selector="{{AdminProductAttributeGridSection.FirstRow}}" stepKey="clickOnAttributeRow"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<click selector="{{AttributePropertiesSection.DeleteAttribute}}" stepKey="deleteAttribute"/>
<click selector="{{ModalConfirmationSection.OkButton}}" stepKey="ClickOnDeleteButton"/>
<waitForPageLoad stepKey="waitForPageLoad1"/>
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="waitForSuccessMessage"/>
</actionGroup>
<!-- Delete product attribute by Attribute Code -->
<actionGroup name="deleteProductAttributeByAttributeCode">
<annotations>
<description>Goes to the Admin Product Attributes grid page. Filters the grid for the provided Product Attribute Code. Deletes the Product Attribute from the grid. Validates that the Success Message is present.</description>
</annotations>
<arguments>
<argument name="ProductAttributeCode" type="string"/>
</arguments>
<amOnPage url="{{AdminProductAttributeGridPage.url}}" stepKey="navigateToProductAttributeGrid"/>
<waitForPageLoad stepKey="waitForAttributeGridPageLoad"/>
<fillField selector="{{AdminProductAttributeGridSection.FilterByAttributeCode}}" userInput="{{ProductAttributeCode}}" stepKey="setAttributeCode"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="searchForAttributeFromTheGrid"/>
<click selector="{{AdminProductAttributeGridSection.FirstRow}}" stepKey="clickOnAttributeRow"/>
<waitForPageLoad stepKey="waitForPageLoad2"/>
<click selector="{{AttributePropertiesSection.DeleteAttribute}}" stepKey="deleteAttribute"/>
<click selector="{{ModalConfirmationSection.OkButton}}" stepKey="ClickOnDeleteButton"/>
<waitForPageLoad stepKey="waitForPageLoad"/>
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="waitForSuccessMessage"/>
</actionGroup>
<!--Filter product attribute by Attribute Code -->
<actionGroup name="filterProductAttributeByAttributeCode">
<annotations>
<description>Filters the Product Attributes grid by the provided Product Attribute Code.</description>
</annotations>
<arguments>
<argument name="ProductAttributeCode" type="string"/>
</arguments>
<click selector="{{AdminProductAttributeGridSection.ResetFilter}}" stepKey="resetFiltersOnGrid"/>
<fillField selector="{{AdminProductAttributeGridSection.FilterByAttributeCode}}" userInput="{{ProductAttributeCode}}" stepKey="setAttributeCode"/>
<waitForPageLoad stepKey="waitForUserInput"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="searchForAttributeFromTheGrid"/>
</actionGroup>
<!--Filter product attribute by Default Label -->
<actionGroup name="filterProductAttributeByDefaultLabel">
<annotations>
<description>Filters the Product Attributes grid by the provided Product Attribute Label.</description>
</annotations>
<arguments>
<argument name="productAttributeLabel" type="string"/>
</arguments>
<click selector="{{AdminProductAttributeGridSection.ResetFilter}}" stepKey="resetFiltersOnGrid"/>
<fillField selector="{{AdminProductAttributeGridSection.GridFilterFrontEndLabel}}" userInput="{{productAttributeLabel}}" stepKey="setDefaultLabel"/>
<waitForPageLoad stepKey="waitForUserInput"/>
<click selector="{{AdminProductAttributeGridSection.Search}}" stepKey="searchForAttributeFromTheGrid"/>
</actionGroup>
<!--
NOTICE: saveProductAttribute is deprecated.
Please use SaveProductAttributeActionGroup instead.
-->
<actionGroup name="saveProductAttribute">
<annotations>
<description>Clicks on Save. Validates that the Success Message is present.</description>
</annotations>
<waitForElementVisible selector="{{AttributePropertiesSection.Save}}" stepKey="waitForSaveButton"/>
<click selector="{{AttributePropertiesSection.Save}}" stepKey="clickSaveButton"/>
<waitForPageLoad stepKey="waitForAttributeToSave"/>
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="seeSuccessMessage"/>
</actionGroup>
<!--
NOTICE: confirmChangeInputTypeModal is deprecated.
Please use ConfirmChangeInputTypeModalActionGroup instead.
-->
<actionGroup name="confirmChangeInputTypeModal">
<annotations>
<description>Clicks on the Confirm button for the 'Product Data My Be Lost' modal.</description>
</annotations>
<waitForElementVisible selector="{{AdminEditProductAttributesSection.ProductDataMayBeLostConfirmButton}}" stepKey="waitForChangeInputTypeButton"/>
<click selector="{{AdminEditProductAttributesSection.ProductDataMayBeLostConfirmButton}}" stepKey="clickChangeInputTypeButton"/>
<waitForElementNotVisible selector="{{AdminEditProductAttributesSection.ProductDataMayBeLostModal}}" stepKey="waitForChangeInputTypeModalGone"/>
</actionGroup>
<actionGroup name="saveProductAttributeInUse">
<annotations>
<description>Clicks on Save. Validates that the Success Message is present.</description>
</annotations>
<waitForElementVisible selector="{{AttributePropertiesSection.Save}}" stepKey="waitForSaveButton"/>
<click selector="{{AttributePropertiesSection.Save}}" stepKey="clickSaveButton"/>
<waitForPageLoad stepKey="waitForAttributeToSave"/>
<seeElement selector="{{AdminProductMessagesSection.successMessage}}" stepKey="seeSuccessMessage"/>
</actionGroup>
<!--Clicks Add Attribute and adds the given attribute-->
<actionGroup name="addProductAttributeInProductModal">
<annotations>
<description>Adds the provided Attribute Code to the Product on the Admin Product creation/edit page.</description>
</annotations>
<arguments>
<argument name="attributeCode" type="string"/>
</arguments>
<click stepKey="addAttribute" selector="{{AdminProductFormActionSection.addAttributeButton}}"/>
<conditionalClick selector="{{AdminProductAddAttributeModalSection.clearFilters}}" dependentSelector="{{AdminProductAddAttributeModalSection.clearFilters}}" visible="true" stepKey="clearFilters"/>
<click stepKey="clickFilters" selector="{{AdminProductAddAttributeModalSection.filters}}"/>
<fillField stepKey="fillCode" selector="{{AdminProductAddAttributeModalSection.attributeCodeFilter}}" userInput="{{attributeCode}}"/>
<click stepKey="clickApply" selector="{{AdminProductAddAttributeModalSection.applyFilters}}"/>
<waitForPageLoad stepKey="waitForFilters"/>
<checkOption selector="{{AdminProductAddAttributeModalSection.firstRowCheckBox}}" stepKey="checkAttribute"/>
<click stepKey="addSelected" selector="{{AdminProductAddAttributeModalSection.addSelected}}"/>
</actionGroup>
<!--Clicks createNewAttribute and fills out form-->
<actionGroup name="createProductAttribute">
<annotations>
<description>Clicks on 'Add New Attribute'. Fills in the Attribute Details (Label, Input Type and Value Required). Clicks on Save.</description>
</annotations>
<arguments>
<argument name="attribute" type="entity" defaultValue="productAttributeWysiwyg"/>
</arguments>
<click stepKey="createNewAttribute" selector="{{AdminProductAttributeGridSection.createNewAttributeBtn}}"/>
<fillField stepKey="fillDefaultLabel" selector="{{AttributePropertiesSection.DefaultLabel}}" userInput="{{attribute.attribute_code}}"/>
<selectOption selector="{{AttributePropertiesSection.InputType}}" stepKey="checkInputType" userInput="{{attribute.frontend_input}}"/>
<selectOption selector="{{AttributePropertiesSection.ValueRequired}}" stepKey="checkRequired" userInput="{{attribute.is_required_admin}}"/>
<click stepKey="saveAttribute" selector="{{AttributePropertiesSection.Save}}"/>
</actionGroup>
<actionGroup name="AdminCreateSearchableProductAttribute" extends="createProductAttribute" insertAfter="checkRequired">
<click selector="{{StorefrontPropertiesSection.StoreFrontPropertiesTab}}" stepKey="goToStorefrontPropertiesTab"/>
<waitForElementVisible selector="{{StorefrontPropertiesSection.PageTitle}}" stepKey="waitTabLoad"/>
<selectOption selector="{{AdvancedAttributePropertiesSection.UseInSearch}}" userInput="Yes" stepKey="setSearchable"/>
</actionGroup>
<!-- Inputs text default value and attribute code-->
<actionGroup name="createProductAttributeWithTextField" extends="createProductAttribute" insertAfter="checkRequired">
<annotations>
<description>EXTENDS: createProductAttribute. Fills in the Attribute Code and Default Value (Attribute Type: Text Field).</description>
</annotations>
<click stepKey="openAdvancedProperties" selector="{{AdvancedAttributePropertiesSection.AdvancedAttributePropertiesSectionToggle}}"/>
<fillField stepKey="fillCode" selector="{{AdvancedAttributePropertiesSection.AttributeCode}}" userInput="{{attribute.attribute_code}}"/>
<fillField stepKey="fillDefaultValue" selector="{{AdvancedAttributePropertiesSection.DefaultValueText}}" userInput="{{attribute.default_value}}"/>
</actionGroup>
<!-- Inputs date default value and attribute code-->
<actionGroup name="createProductAttributeWithDateField" extends="createProductAttribute" insertAfter="checkRequired">
<annotations>
<description>EXTENDS: createProductAttribute. Fills in the Attribute Code and Default Value (Attribute Type: Date Field).</description>
</annotations>
<arguments>
<argument name="date" type="string"/>
</arguments>
<click stepKey="openAdvancedProperties" selector="{{AdvancedAttributePropertiesSection.AdvancedAttributePropertiesSectionToggle}}"/>
<fillField stepKey="fillCode" selector="{{AdvancedAttributePropertiesSection.AttributeCode}}" userInput="{{attribute.attribute_code}}"/>
<fillField stepKey="fillDefaultValue" selector="{{AdvancedAttributePropertiesSection.DefaultValueDate}}" userInput="{{date}}"/>
</actionGroup>
<!-- Creates dropdown option at row without saving-->
<actionGroup name="createAttributeDropdownNthOption">
<annotations>
<description>Creates an Option for a Product Attribute (Attribute Type: Dropdown).</description>
</annotations>
<arguments>
<argument name="row" type="string"/>
<argument name="adminName" type="string"/>
<argument name="frontName" type="string"/>
</arguments>
<click stepKey="clickAddOptions" selector="{{AttributePropertiesSection.dropdownAddOptions}}"/>
<waitForPageLoad stepKey="waitForNewOption"/>
<fillField stepKey="fillAdmin" selector="{{AttributePropertiesSection.dropdownNthOptionAdmin(row)}}" userInput="{{adminName}}"/>
<fillField stepKey="fillStoreView" selector="{{AttributePropertiesSection.dropdownNthOptionDefaultStoreView(row)}}" userInput="{{frontName}}"/>
</actionGroup>
<!-- Creates dropdown option at row as default-->
<actionGroup name="createAttributeDropdownNthOptionAsDefault" extends="createAttributeDropdownNthOption">
<annotations>
<description>EXTENDS: createAttributeDropdownNthOption. Checks the 'Is Default' option.</description>
</annotations>
<checkOption selector="{{AttributePropertiesSection.dropdownNthOptionIsDefault(row)}}" stepKey="setAsDefault" after="fillStoreView"/>
</actionGroup>
</actionGroups>