Skip to content

Commit bd97b8e

Browse files
committed
MQE-1993: Refactor MFTF tests/actionGroups using <executeInSelenium>
Refactored StorefrontCatalogNavigationMenuUIDesktopTest to make it isolated
1 parent 3f9254d commit bd97b8e

File tree

3 files changed

+162
-80
lines changed

3 files changed

+162
-80
lines changed

app/code/Magento/Catalog/Test/Mftf/Data/CategoryData.xml

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,132 @@
127127
<entity name="SubCategoryNonAnchor" extends="SubCategoryWithParent">
128128
<requiredEntity type="custom_attribute">CustomAttributeCategoryNonAnchor</requiredEntity>
129129
</entity>
130+
<entity name="SubCategoryWithParent" type="category">
131+
<data key="name" unique="suffix">ApiCategory</data>
132+
<data key="is_active">true</data>
133+
</entity>
134+
<entity name="ConfigurableProductWithAttributeSet" type="category">
135+
<data key="name" unique="suffix">ApiCategory</data>
136+
<data key="is_active">true</data>
137+
</entity>
138+
<entity name="ApiCategory" type="category">
139+
<data key="name" unique="suffix">ApiCategory</data>
140+
<data key="is_active">true</data>
141+
</entity>
142+
<entity name="ApiCategoryA" type="category">
143+
<data key="name" unique="suffix">Category A</data>
144+
<data key="is_active">true</data>
145+
</entity>
146+
<entity name="ApiCategoryTest" type="category">
147+
<data key="name" unique="suffix">TEST</data>
148+
<data key="is_active">true</data>
149+
</entity>
150+
<entity name="ApiCategoryTest2" type="category">
151+
<data key="name" unique="suffix">_test2</data>
152+
<data key="is_active">true</data>
153+
</entity>
154+
<entity name="ApiCategoryTest3" type="category">
155+
<data key="name" unique="suffix">test 3</data>
156+
<data key="is_active">true</data>
157+
</entity>
158+
<entity name="ApiCategorySeveralProducts" type="category">
159+
<data key="name" unique="suffix">Category with several products</data>
160+
<data key="is_active">true</data>
161+
</entity>
162+
<entity name="ApiCategoryTest4" type="category">
163+
<data key="name" unique="suffix">test 4</data>
164+
<data key="is_active">true</data>
165+
</entity>
166+
<entity name="ApiCategoryTest5" type="category">
167+
<data key="name" unique="suffix">test 5</data>
168+
<data key="is_active">true</data>
169+
</entity>
170+
<entity name="ApiCategoryTest8" type="category">
171+
<data key="name" unique="suffix">test 8</data>
172+
<data key="is_active">true</data>
173+
</entity>
174+
<entity name="ApiCategoryTest6" type="category">
175+
<data key="name" unique="suffix">test 6</data>
176+
<data key="is_active">true</data>
177+
</entity>
178+
<entity name="ApiCategoryTest7" type="category">
179+
<data key="name" unique="suffix">test 7</data>
180+
<data key="is_active">true</data>
181+
</entity>
182+
<entity name="ApiCategoryLongTitle" type="category">
183+
<data key="name" unique="suffix">This is a very very very very very looong title</data>
184+
<data key="is_active">true</data>
185+
</entity>
186+
<entity name="ApiCategoryWithImage" type="category">
187+
<data key="name" unique="suffix">Category with image</data>
188+
<data key="is_active">true</data>
189+
</entity>
190+
<entity name="ApiCategoryTest0" type="category">
191+
<data key="name" unique="suffix">test 0</data>
192+
<data key="is_active">true</data>
193+
</entity>
194+
<entity name="ApiCategoryWithDescription" type="category">
195+
<data key="name" unique="suffix">Category with description &amp; custom title</data>
196+
<data key="is_active">true</data>
197+
</entity>
198+
<entity name="ApiCategoryWithChildren" type="category">
199+
<data key="name" unique="suffix">Category with children</data>
200+
<data key="is_active">true</data>
201+
</entity>
202+
<entity name="ApiSubCategoryWithParentLongName" type="category">
203+
<data key="name" unique="suffix">level 1 test category very very very long name</data>
204+
<data key="name_lwr" unique="suffix">level 1 test category very very very long name</data>
205+
<data key="is_active">true</data>
206+
<data key="include_in_menu">true</data>
207+
<var key="parent_id" entityType="category" entityKey="id"/>
208+
</entity>
209+
<entity name="ApiSubCategoryWithParentLevel1" type="category">
210+
<data key="name" unique="suffix">level 1 test category name</data>
211+
<data key="name_lwr" unique="suffix">level 1 test category name</data>
212+
<data key="is_active">true</data>
213+
<data key="include_in_menu">true</data>
214+
<var key="parent_id" entityType="category" entityKey="id"/>
215+
</entity>
216+
<entity name="ApiSubCategoryWithChildrenLevel1" type="category">
217+
<data key="name" unique="suffix">level 1 with children</data>
218+
<data key="name_lwr" unique="suffix">level 1 with children</data>
219+
<data key="is_active">true</data>
220+
<data key="include_in_menu">true</data>
221+
<var key="parent_id" entityType="category" entityKey="id"/>
222+
</entity>
223+
<entity name="ApiSubCategoryWithChildrenLevel2" type="category">
224+
<data key="name" unique="suffix">level 2 with children</data>
225+
<data key="name_lwr" unique="suffix">level 2 with children</data>
226+
<data key="is_active">true</data>
227+
<data key="include_in_menu">true</data>
228+
<var key="parent_id" entityType="category" entityKey="id"/>
229+
</entity>
230+
<entity name="ApiSubCategoryLevel3" type="category">
231+
<data key="name" unique="suffix">level 3 test</data>
232+
<data key="name_lwr" unique="suffix">level 3 test</data>
233+
<data key="is_active">true</data>
234+
<data key="include_in_menu">true</data>
235+
<var key="parent_id" entityType="category" entityKey="id"/>
236+
</entity>
237+
<entity name="ApiSubCategoryLevel4" type="category">
238+
<data key="name" unique="suffix">level 4</data>
239+
<data key="name_lwr" unique="suffix">level 4</data>
240+
<data key="is_active">true</data>
241+
<data key="include_in_menu">true</data>
242+
<var key="parent_id" entityType="category" entityKey="id"/>
243+
</entity>
244+
<entity name="ApiSubCategoryLevel4Test" type="category">
245+
<data key="name" unique="suffix">level 4 test</data>
246+
<data key="name_lwr" unique="suffix">level 4 test</data>
247+
<data key="is_active">true</data>
248+
<data key="include_in_menu">true</data>
249+
<var key="parent_id" entityType="category" entityKey="id"/>
250+
</entity>
251+
<entity name="ApiSubCategoryLevel5" type="category">
252+
<data key="name" unique="suffix">level 5</data>
253+
<data key="name_lwr" unique="suffix">level 5</data>
254+
<data key="is_active">true</data>
255+
<data key="include_in_menu">true</data>
256+
<var key="parent_id" entityType="category" entityKey="id"/>
257+
</entity>
130258
</entities>

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

Lines changed: 33 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,8 @@
2121
<before>
2222
<!-- Login as admin -->
2323
<actionGroup ref="LoginAsAdmin" stepKey="loginAsAdmin"/>
24-
<actionGroup ref="DeleteDefaultCategoryChildrenActionGroup" stepKey="deleteRootCategoryChildren"/>
2524
</before>
2625
<after>
27-
<actionGroup ref="DeleteDefaultCategoryChildrenActionGroup" stepKey="deleteRootCategoryChildren"/>
2826
<actionGroup ref="AdminChangeStorefrontThemeActionGroup" stepKey="changeThemeToDefault">
2927
<argument name="theme" value="{{MagentoLumaTheme.name}}"/>
3028
</actionGroup>
@@ -40,91 +38,51 @@
4038
<!-- Open storefront -->
4139
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openStorefrontPage"/>
4240

43-
<!-- Assert no category - no menu -->
44-
<dontSeeElement selector="{{StorefrontNavigationMenuSection.navigationMenu}}" stepKey="dontSeeMenu"/>
45-
4641
<!-- Assert single row - no hover state -->
47-
<createData entity="ApiCategory" stepKey="createFirstCategoryBlank">
48-
<field key="name">Category A</field>
49-
</createData>
42+
<createData entity="ApiCategoryA" stepKey="createFirstCategoryBlank"/>
5043
<reloadPage stepKey="refreshPage"/>
5144
<waitForPageLoad stepKey="waitForBlankSingleRowAppear"/>
5245
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createFirstCategoryBlank.name$$)}}" stepKey="hoverFirstCategoryBlank"/>
5346
<dontSeeElement selector="{{StorefrontNavigationMenuSection.subItemLevelHover('level0')}}" stepKey="assertNoHoverState"/>
5447

5548
<!-- Create categories -->
56-
<createData entity="ApiCategory" stepKey="createSecondCategoryBlank">
57-
<field key="name">TEST</field>
58-
</createData>
59-
<createData entity="ApiCategory" stepKey="createThirdCategoryBlank">
60-
<field key="name">_test2</field>
61-
</createData>
62-
<createData entity="ApiCategory" stepKey="createFourthCategoryBlank">
63-
<field key="name">test 3</field>
64-
</createData>
65-
<createData entity="ApiCategory" stepKey="createFifthCategoryBlank">
66-
<field key="name">Category with several products</field>
67-
</createData>
68-
<createData entity="ApiCategory" stepKey="createSixthCategoryBlank">
69-
<field key="name">test 5</field>
70-
</createData>
71-
<createData entity="ApiCategory" stepKey="createSeventhCategoryBlank">
72-
<field key="name">test 8</field>
73-
</createData>
74-
<createData entity="ApiCategory" stepKey="createEighthCategoryBlank">
75-
<field key="name">This is a very very very very very looong title</field>
76-
</createData>
77-
<createData entity="ApiCategory" stepKey="createNinthCategoryBlank">
78-
<field key="name">test 6</field>
79-
</createData>
80-
<createData entity="ApiCategory" stepKey="createTenthCategoryBlank">
81-
<field key="name">test 7</field>
82-
</createData>
83-
<createData entity="ApiCategory" stepKey="createEleventhCategoryBlank">
84-
<field key="name">test 4</field>
85-
</createData>
86-
<createData entity="ApiCategory" stepKey="createTwelfthCategoryBlank">
87-
<field key="name">Category with image</field>
88-
</createData>
89-
<createData entity="ApiCategory" stepKey="createThirteenthCategoryBlank">
90-
<field key="name">test 0</field>
91-
</createData>
92-
<createData entity="ApiCategory" stepKey="createCategoryWithoutChildrenBlank">
93-
<field key="name">Category with description &amp; custom title</field>
94-
</createData>
95-
<createData entity="ApiCategory" stepKey="createCategoryWithChildrenBlank">
96-
<field key="name">Category with children</field>
97-
</createData>
98-
<createData entity="SubCategoryWithParent" stepKey="createFirstCategoryLevelOneBlank">
99-
<field key="name">level 1 test category very very very long name</field>
49+
<createData entity="ApiCategoryTest" stepKey="createSecondCategoryBlank"/>
50+
<createData entity="ApiCategoryTest2" stepKey="createThirdCategoryBlank"/>
51+
<createData entity="ApiCategoryTest3" stepKey="createFourthCategoryBlank"/>
52+
<createData entity="ApiCategorySeveralProducts" stepKey="createFifthCategoryBlank"/>
53+
<createData entity="ApiCategoryTest5" stepKey="createSixthCategoryBlank"/>
54+
<createData entity="ApiCategoryTest8" stepKey="createSeventhCategoryBlank"/>
55+
<createData entity="ApiCategoryLongTitle" stepKey="createEighthCategoryBlank"/>
56+
<createData entity="ApiCategoryTest6" stepKey="createNinthCategoryBlank"/>
57+
<createData entity="ApiCategoryTest7" stepKey="createTenthCategoryBlank"/>
58+
<createData entity="ApiCategoryTest4" stepKey="createEleventhCategoryBlank"/>
59+
<createData entity="ApiCategoryWithImage" stepKey="createTwelfthCategoryBlank"/>
60+
<createData entity="ApiCategoryTest0" stepKey="createThirteenthCategoryBlank"/>
61+
<createData entity="ApiCategoryWithDescription" stepKey="createCategoryWithoutChildrenBlank"/>
62+
<createData entity="ApiCategoryWithChildren" stepKey="createCategoryWithChildrenBlank"/>
63+
64+
<createData entity="ApiSubCategoryWithParentLongName" stepKey="createFirstCategoryLevelOneBlank">
10065
<requiredEntity createDataKey="createCategoryWithChildrenBlank"/>
10166
</createData>
102-
<createData entity="SubCategoryWithParent" stepKey="createSecondCategoryLevelOneBlank">
103-
<field key="name">level 1 test category name</field>
67+
<createData entity="ApiSubCategoryWithParentLevel1" stepKey="createSecondCategoryLevelOneBlank">
10468
<requiredEntity createDataKey="createCategoryWithChildrenBlank"/>
10569
</createData>
106-
<createData entity="SubCategoryWithParent" stepKey="createThirdCategoryLevelOneBlank">
107-
<field key="name">level 1 with children</field>
70+
<createData entity="ApiSubCategoryWithChildrenLevel1" stepKey="createThirdCategoryLevelOneBlank">
10871
<requiredEntity createDataKey="createCategoryWithChildrenBlank"/>
10972
</createData>
110-
<createData entity="SubCategoryWithParent" stepKey="createCategoryLevelTwoBlank">
111-
<field key="name">level 2 with children</field>
73+
<createData entity="ApiSubCategoryWithChildrenLevel2" stepKey="createCategoryLevelTwoBlank">
11274
<requiredEntity createDataKey="createThirdCategoryLevelOneBlank"/>
11375
</createData>
114-
<createData entity="SubCategoryWithParent" stepKey="createCategoryLevelThreeBlank">
115-
<field key="name">level 3 test</field>
76+
<createData entity="ApiSubCategoryLevel3" stepKey="createCategoryLevelThreeBlank">
11677
<requiredEntity createDataKey="createCategoryLevelTwoBlank"/>
11778
</createData>
118-
<createData entity="SubCategoryWithParent" stepKey="createFirstCategoryLevelFourBlank">
119-
<field key="name">level 4</field>
79+
<createData entity="ApiSubCategoryLevel4" stepKey="createFirstCategoryLevelFourBlank">
12080
<requiredEntity createDataKey="createCategoryLevelThreeBlank"/>
12181
</createData>
122-
<createData entity="SubCategoryWithParent" stepKey="createSecondCategoryLevelFourBlank">
123-
<field key="name">level 4 test</field>
82+
<createData entity="ApiSubCategoryLevel4Test" stepKey="createSecondCategoryLevelFourBlank">
12483
<requiredEntity createDataKey="createCategoryLevelThreeBlank"/>
12584
</createData>
126-
<createData entity="SubCategoryWithParent" stepKey="createCategoryLevelFiveBlank">
127-
<field key="name">level 5</field>
85+
<createData entity="ApiSubCategoryLevel5" stepKey="createCategoryLevelFiveBlank">
12886
<requiredEntity createDataKey="createSecondCategoryLevelFourBlank"/>
12987
</createData>
13088

@@ -158,18 +116,18 @@
158116
<argument name="color" value="{{NavigationMenuColor.gray}}"/>
159117
</actionGroup>
160118

161-
<!-- Submenu appears rightward -->
162-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level0')}}" stepKey="assertTopLevelMenuLeftDirection"/>
119+
<!-- Submenu appears leftward -->
120+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level0')}}" stepKey="assertTopLevelMenu"/>
163121

164122
<!-- Nested level 1 & 5 -->
165123
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategoryLevelTwoBlank.name$$)}}" stepKey="hoverCategoryLevelTwo"/>
166-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuLeftDirection('level1')}}" stepKey="seeLevelOneMenuLeftDirection"/>
124+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level1')}}" stepKey="seeLevelOneMenu"/>
167125

168126
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategoryLevelThreeBlank.name$$)}}" stepKey="hoverCategoryLevelThree"/>
169-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuLeftDirection('level2')}}" stepKey="seeLevelTwoMenuRightDirection"/>
127+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level2')}}" stepKey="seeLevelTwoMenu"/>
170128

171129
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createSecondCategoryLevelFourBlank.name$$)}}" stepKey="hoverCategoryLevelFour"/>
172-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level3')}}" stepKey="seeLevelThreeMenuRightDirection"/>
130+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level3')}}" stepKey="seeLevelThreeMenu"/>
173131

174132
<actionGroup ref="StorefrontCheckElementColorActionGroup" stepKey="checkSubcategoryHighlighted">
175133
<argument name="selector" value="{{StorefrontNavigationMenuSection.subItemLevelHover('level3')}}"/>
@@ -202,9 +160,6 @@
202160
<!-- Open storefront -->
203161
<actionGroup ref="StorefrontOpenHomePageActionGroup" stepKey="openStorefront"/>
204162

205-
<!-- Assert no category - no menu -->
206-
<dontSeeElement selector="{{StorefrontNavigationMenuSection.navigationMenu}}" stepKey="dontSeeMenuOnStorefront"/>
207-
208163
<!-- Create categories -->
209164
<createData entity="ApiCategory" stepKey="createFirstCategoryLuma"/>
210165
<createData entity="ApiCategory" stepKey="createSecondCategoryLuma"/>
@@ -278,17 +233,17 @@
278233
</actionGroup>
279234

280235
<!-- Submenu appears rightward -->
281-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level0')}}" stepKey="seeTopLevelRightDirection"/>
236+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level0')}}" stepKey="seeTopLevel"/>
282237

283238
<!-- Nested levels 1 & 5 -->
284239
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createSecondCategoryLevelTwoLuma.name$$)}}" stepKey="hoverThirdCategoryLevelTwo"/>
285-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level1')}}" stepKey="seeFirstLevelRightDirection"/>
240+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level1')}}" stepKey="seeFirstLevelMenu"/>
286241

287242
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategoryLevelThreeLuma.name$$)}}" stepKey="hoverOnCategoryLevelThree"/>
288-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level2')}}" stepKey="seeSecondLevelRightDirection"/>
243+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level2')}}" stepKey="seeSecondLevelMenu"/>
289244

290245
<moveMouseOver selector="{{StorefrontHeaderSection.NavigationCategoryByName($$createCategoryLevelFourLuma.name$$)}}" stepKey="hoverOnCategoryLevelFour"/>
291-
<seeElement selector="{{StorefrontNavigationMenuSection.submenuRightDirection('level3')}}" stepKey="seeThirdLevelRightDirection"/>
246+
<seeElement selector="{{StorefrontNavigationMenuSection.submenu('level3')}}" stepKey="seeThirdLevelMenu"/>
292247

293248
<actionGroup ref="StorefrontCheckElementColorActionGroup" stepKey="checkSubcategoryHighlightedAfterHover">
294249
<argument name="selector" value="{{StorefrontNavigationMenuSection.subItemLevelHover('level3')}}"/>

app/code/Magento/Theme/Test/Mftf/Section/StorefrontNavigationMenuSection.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<element name="subItemByLevel" type="text" selector="li.{{itemLevel}}.parent ul.{{itemLevel}}" parameterized="true"/>
1616
<element name="itemActiveState" type="text" selector=".navigation .level0.active>.level-top"/>
1717
<element name="subItemActiveState" type="text" selector=".navigation .level0 .submenu .active>a"/>
18-
<element name="submenuLeftDirection" type="text" selector="ul.{{itemLevel}}.submenu-reverse" parameterized="true"/>
19-
<element name="submenuRightDirection" type="text" selector="ul.{{itemLevel}}:not(.submenu-reverse)" parameterized="true"/>
18+
<element name="submenu" type="text" selector="ul.{{itemLevel}}" parameterized="true"/>
2019
</section>
2120
</sections>

0 commit comments

Comments
 (0)