Skip to content

Commit 31439c7

Browse files
authored
Merge pull request #173 from magento-obsessive-owls/MC-5490
MC-5490: Resolve Map test failures with Page Builder
2 parents 511ec8f + 18be4d7 commit 31439c7

File tree

2 files changed

+26
-26
lines changed

2 files changed

+26
-26
lines changed

app/code/Magento/PageBuilder/Test/Mftf/ActionGroup/ContentTypeMapActionGroup.xml

+9-9
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@
112112
<dontSeeElementInDOM selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="dontSeeGoogleModalInDOM"/>
113113
<waitForElementVisible selector="{{AddLocationForm.base}}" stepKey="waitForMapVisible"/>
114114
<clickWithLeftButton selector="{{AddLocationForm.base}}" x="{{x}}" y="{{y}}" stepKey="clickMapToMovePin"/>
115-
<waitForElementVisible selector="{{AddLocationForm.pin}}" stepKey="waitForPinVisible"/>
115+
<waitForElementVisible selector="{{AddLocationForm.allPins}}" stepKey="waitForPinVisible"/>
116116
<wait time="2" stepKey="waitForPinMove"/>
117117
</actionGroup>
118118
<actionGroup name="moveMapPinByDraggingAndDroppingPin">
@@ -123,11 +123,11 @@
123123
<conditionalClick selector="{{AddLocationForm.googleModalOkButton('1')}}" dependentSelector="{{AddLocationForm.googleModalOkButton('1')}}" visible="true" stepKey="clickOkButton"/>
124124
<waitForElementNotVisible selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="waitForGoogleModalGone"/>
125125
<dontSeeElementInDOM selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="dontSeeGoogleModalInDOM"/>
126-
<waitForElementVisible selector="{{AddLocationForm.clickablePin}}" stepKey="waitForMapVisible"/>
127126
<!-- Adding 2nd click to reduce flakiness -->
128127
<conditionalClick selector="{{AddLocationForm.googleModalOkButton('1')}}" dependentSelector="{{AddLocationForm.googleModalOkButton('1')}}" visible="true" stepKey="clickOkButton2"/>
129128
<waitForElementNotVisible selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="waitForGoogleModalGone2"/>
130129
<dontSeeElementInDOM selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="dontSeeGoogleModalInDOM2"/>
130+
<waitForElement selector="{{AddLocationForm.clickablePin}}" stepKey="waitForMapVisible"/>
131131
<dragAndDrop selector1="{{AddLocationForm.clickablePin}}" selector2="{{AddLocationForm.clickablePin}}" x="{{x}}" y="{{y}}" stepKey="dragAndDropOnMapToMovePin"/>
132132
<wait time="2" stepKey="waitForPinMove"/>
133133
</actionGroup>
@@ -139,7 +139,7 @@
139139
<conditionalClick selector="{{page.googleModalOkButton(index)}}" dependentSelector="{{page.googleModalOkButton(index)}}" visible="true" stepKey="clickOkButton"/>
140140
<waitForElementNotVisible selector="{{page.googleModalOkButton(index)}}" stepKey="waitForGoogleModalGone"/>
141141
<dontSeeElementInDOM selector="{{page.googleModalOkButton(index)}}" stepKey="dontSeeGoogleModalInDOM"/>
142-
<waitForElementVisible selector="{{page.pin(index)}}" stepKey="waitForMapWithPin"/>
142+
<waitForElementVisible selector="{{page.allPins(index)}}" stepKey="waitForMapWithPin"/>
143143
</actionGroup>
144144
<actionGroup name="verifyNumberOfPinsOnMap">
145145
<arguments>
@@ -151,8 +151,8 @@
151151
<waitForElementNotVisible selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="waitForGoogleModalGone"/>
152152
<dontSeeElementInDOM selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="dontSeeGoogleModalInDOM"/>
153153
<waitForElementVisible selector="{{page.base(mapIndex)}}" stepKey="waitForMap"/>
154-
<waitForElementVisible selector="{{page.pin(mapIndex)}}" stepKey="waitForMapPin"/>
155-
<seeNumberOfElements selector="{{page.pin(mapIndex)}}" userInput="{{count}}" stepKey="seeNumberOfPins"/>
154+
<waitForElementVisible selector="{{page.allPins(mapIndex)}}" stepKey="waitForMapPin"/>
155+
<seeNumberOfElements selector="{{page.allPins(mapIndex)}}" userInput="{{count}}" stepKey="seeNumberOfPins"/>
156156
</actionGroup>
157157
<actionGroup name="dontSeeMapPin">
158158
<arguments>
@@ -162,7 +162,7 @@
162162
<conditionalClick selector="{{page.googleModalOkButton(index)}}" dependentSelector="{{page.googleModalOkButton(index)}}" visible="true" stepKey="clickOkButton"/>
163163
<waitForElementNotVisible selector="{{page.googleModalOkButton(index)}}" stepKey="waitForGoogleModalGone"/>
164164
<dontSeeElementInDOM selector="{{page.googleModalOkButton(index)}}" stepKey="dontSeeGoogleModalInDOM"/>
165-
<dontSeeElement selector="{{page.pin(index)}}" stepKey="dontSeeMapPin"/>
165+
<dontSeeElement selector="{{page.allPins(index)}}" stepKey="dontSeeMapPin"/>
166166
</actionGroup>
167167
<actionGroup name="validateMapButtons">
168168
<arguments>
@@ -232,11 +232,11 @@
232232
<conditionalClick selector="{{page.googleModalOkButton(mapIndex)}}" dependentSelector="{{page.googleModalOkButton(mapIndex)}}" visible="true" stepKey="clickOkButton"/>
233233
<waitForElementNotVisible selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="waitForGoogleModalGone"/>
234234
<dontSeeElementInDOM selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="dontSeeGoogleModalInDOM"/>
235-
<waitForElementVisible selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="waitForPin"/>
236235
<!-- Adding 2nd click to reduce flakiness -->
237236
<conditionalClick selector="{{page.googleModalOkButton(mapIndex)}}" dependentSelector="{{page.googleModalOkButton(mapIndex)}}" visible="true" stepKey="clickOkButton2"/>
238237
<waitForElementNotVisible selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="waitForGoogleModalGone2"/>
239238
<dontSeeElementInDOM selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="dontSeeGoogleModalInDOM2"/>
239+
<waitForElement selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="waitForPin"/>
240240
<click selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="clickPin"/>
241241
<waitForElementVisible selector="{{page.tooltipWindow(mapIndex)}}" stepKey="waitForPinTooltip"/>
242242
</actionGroup>
@@ -269,11 +269,11 @@
269269
<conditionalClick selector="{{page.googleModalOkButton(mapIndex)}}" dependentSelector="{{page.googleModalOkButton(mapIndex)}}" visible="true" stepKey="clickOkButton"/>
270270
<waitForElementNotVisible selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="waitForGoogleModalGone"/>
271271
<dontSeeElementInDOM selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="dontSeeGoogleModalInDOM"/>
272-
<waitForElementVisible selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="waitForPin"/>
273272
<!-- Adding 2nd click to reduce flakiness -->
274273
<conditionalClick selector="{{page.googleModalOkButton(mapIndex)}}" dependentSelector="{{page.googleModalOkButton(mapIndex)}}" visible="true" stepKey="clickOkButton2"/>
275274
<waitForElementNotVisible selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="waitForGoogleModalGone2"/>
276275
<dontSeeElementInDOM selector="{{page.googleModalOkButton(mapIndex)}}" stepKey="dontSeeGoogleModalInDOM2"/>
276+
<waitForElement selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="waitForPin"/>
277277
<click selector="{{page.clickablePin(mapIndex, pinIndex)}}" stepKey="clickPin"/>
278278
<waitForElementVisible selector="{{page.tooltipWindow(mapIndex)}}" stepKey="waitForPinTooltip"/>
279279
<waitForElementVisible selector="{{page.locationName(mapIndex, locationName.value)}}" stepKey="waitForLocationName"/>
@@ -290,11 +290,11 @@
290290
<conditionalClick selector="{{AddLocationForm.googleModalOkButton('1')}}" dependentSelector="{{AddLocationForm.googleModalOkButton('1')}}" visible="true" stepKey="clickOkButton"/>
291291
<waitForElementNotVisible selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="waitForGoogleModalGone"/>
292292
<dontSeeElementInDOM selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="dontSeeGoogleModalInDOM"/>
293-
<waitForElementVisible selector="{{AddLocationForm.clickablePin}}" stepKey="waitForPin"/>
294293
<!-- Adding 2nd click to reduce flakiness -->
295294
<conditionalClick selector="{{AddLocationForm.googleModalOkButton('1')}}" dependentSelector="{{AddLocationForm.googleModalOkButton('1')}}" visible="true" stepKey="clickOkButton2"/>
296295
<waitForElementNotVisible selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="waitForGoogleModalGone2"/>
297296
<dontSeeElementInDOM selector="{{AddLocationForm.googleModalOkButton('1')}}" stepKey="dontSeeGoogleModalInDOM2"/>
297+
<waitForElement selector="{{AddLocationForm.clickablePin}}" stepKey="waitForPin"/>
298298
<click selector="{{AddLocationForm.clickablePin}}" stepKey="clickPin"/>
299299
<dontSeeElementInDOM selector="{{AddLocationForm.tooltipWindow}}" stepKey="dontSeeTooltip"/>
300300
</actionGroup>

app/code/Magento/PageBuilder/Test/Mftf/Section/PageBuilderMapSection.xml

+17-17
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010
xsi:noNamespaceSchemaLocation="urn:magento:mftf:Page/etc/SectionObject.xsd">
1111
<section name="MapOnStage">
1212
<element name="base" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]" parameterized="true"/>
13-
<element name="clickablePin" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gmnoprint'][{{arg2}}]//map//area" parameterized="true"/>
14-
<element name="pin" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2_hdpi.png')]|(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2.png')]" parameterized="true"/>
13+
<element name="clickablePin" type="button" selector="((//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//map//area)[{{arg2}}]" parameterized="true"/>
14+
<element name="allPins" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//img[not(@usemap) and contains(@src,'spotlight-poi2_hdpi.png')]|(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//img[not(@usemap) and contains(@src,'spotlight-poi2.png')]" parameterized="true"/>
1515
<element name="pinLocations" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[contains(@style,'transform: matrix(1, 0, 0, 1, ')]" parameterized="true"/>
1616
<!-- Location Pin Configuration -->
1717
<element name="latitude" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[contains(@data-locations,'&quot;position&quot;:{&quot;latitude&quot;:{{arg2}},')]" parameterized="true"/>
1818
<element name="longitude" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[contains(@data-locations,',&quot;longitude&quot;:{{arg2}}}')]" parameterized="true"/>
1919
<element name="tooltipWindow" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']" parameterized="true"/>
20-
<element name="tooltipWindowClose" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']/../div/img[contains(@src,'mapcnt6.png')]/.." parameterized="true"/>
21-
<element name="locationName" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//div/h3/b[.='{{arg2}}']" parameterized="true"/>
22-
<element name="comment" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='{{arg2}}']" parameterized="true"/>
23-
<element name="phoneNumber" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='Phone: {{arg2}}']" parameterized="true"/>
24-
<element name="noPhoneNumber" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='{{arg2}}']" parameterized="true"/>
20+
<element name="tooltipWindowClose" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//..//button[@title='Close']" parameterized="true"/>
21+
<element name="locationName" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//h3/b[.='{{arg2}}']" parameterized="true"/>
22+
<element name="comment" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//p[.='{{arg2}}']" parameterized="true"/>
23+
<element name="phoneNumber" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//p[.='Phone: {{arg2}}']" parameterized="true"/>
24+
<element name="noPhoneNumber" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//p[.='{{arg2}}']" parameterized="true"/>
2525
<element name="addressCityStateZipCountry" type="text" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[@class='gm-style-iw']//span[.='{{arg2}}{{arg3}}{{arg4}}{{arg5}}{{arg6}}']" parameterized="true"/>
2626
<!-- Map Settings Configuration -->
2727
<element name="height" type="button" selector="(//div[contains(@class,'pagebuilder-map')])[{{arg1}}]//div[contains(@data-bind,'renderMap') and contains(@style,'height: {{arg2}}px;')]" parameterized="true"/>
@@ -52,19 +52,19 @@
5252
<element name="emptyMap" type="button" selector="(//div[@data-role='map'])[{{arg1}}][not(@src) and contains(@style,'display: none;')]" parameterized="true"/>
5353
<element name="base" type="button" selector="(//div[@data-role='map'])[{{arg1}}]" parameterized="true"/>
5454
<element name="baseJS" type="text" selector="document.querySelectorAll('div[data-role=\'map\']')[{{arg1}}]" parameterized="true"/>
55-
<element name="pin" type="button" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2_hdpi.png')]|(//div[@data-role='map'])[{{arg1}}]//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2.png')]" parameterized="true"/>
56-
<element name="clickablePin" type="button" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gmnoprint'][{{arg2}}]//map//area" parameterized="true"/>
55+
<element name="allPins" type="button" selector="(//div[@data-role='map'])[{{arg1}}]//img[not(@usemap) and contains(@src,'spotlight-poi2_hdpi.png')]|(//div[@data-role='map'])[{{arg1}}]//img[not(@usemap) and contains(@src,'spotlight-poi2.png')]" parameterized="true"/>
56+
<element name="clickablePin" type="button" selector="((//div[@data-role='map'])[{{arg1}}]//map//area)[{{arg2}}]" parameterized="true"/>
5757
<element name="pinLocations" type="button" selector="(//div[@data-role='map'])[{{arg1}}]//div[contains(@style,'transform: matrix(1, 0, 0, 1, ')]" parameterized="true"/>
5858
<element name="zoom" type="button" selector="(//div[@data-role='map'])[{{arg1}}][@data-zoom='{{arg2}}']" parameterized="true"/>
5959
<!-- Location Pin Configuration -->
6060
<element name="latitude" type="text" selector="(//div[@data-role='map'])[{{arg1}}][contains(@data-locations,'&quot;position&quot;:{&quot;latitude&quot;:{{arg2}},')]" parameterized="true"/>
6161
<element name="longitude" type="text" selector="(//div[@data-role='map'])[{{arg1}}][contains(@data-locations,',&quot;longitude&quot;:{{arg2}}}')]" parameterized="true"/>
6262
<element name="tooltipWindow" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']" parameterized="true"/>
63-
<element name="tooltipWindowClose" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']/../div/img[contains(@src,'mapcnt6.png')]/.." parameterized="true"/>
64-
<element name="locationName" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//div/h3/b[.='{{arg2}}']" parameterized="true"/>
65-
<element name="comment" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='{{arg2}}']" parameterized="true"/>
66-
<element name="phoneNumber" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='Phone: {{arg2}}']" parameterized="true"/>
67-
<element name="noPhoneNumber" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//div/p[.='{{arg2}}']" parameterized="true"/>
63+
<element name="tooltipWindowClose" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//..//button[@title='Close']" parameterized="true"/>
64+
<element name="locationName" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//h3/b[.='{{arg2}}']" parameterized="true"/>
65+
<element name="comment" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//p[.='{{arg2}}']" parameterized="true"/>
66+
<element name="phoneNumber" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//p[.='Phone: {{arg2}}']" parameterized="true"/>
67+
<element name="noPhoneNumber" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//p[.='{{arg2}}']" parameterized="true"/>
6868
<element name="addressCityStateZipCountry" type="text" selector="(//div[@data-role='map'])[{{arg1}}]//div[@class='gm-style-iw']//span[.='{{arg2}}{{arg3}}{{arg4}}{{arg5}}{{arg6}}']" parameterized="true"/>
6969
<!-- Map Settings Configuration -->
7070
<element name="height" type="button" selector="(//div[@data-role='map'])[{{arg1}}][contains(@style,'height: {{arg2}}px;')]" parameterized="true"/>
@@ -104,14 +104,14 @@
104104
<element name="editFormSave" type="button" selector="aside.pagebuilder_map_form_pagebuilder_map_form_general_map_location_modal button#save"/>
105105
<element name="base" type="button" selector="//div[@data-index='position']//div[@class='map-field']"/>
106106
<element name="baseJS" type="text" selector="document.querySelector('div[data-index=\'position\'] div.map-field')"/>
107-
<element name="clickablePin" type="button" selector="//div[@data-index='position']//div[@class='map-field']//div[@class='gmnoprint']//map//area"/>
108-
<element name="pin" type="button" selector="//div[@data-index='position']//div[@class='map-field']//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2_hdpi.png')]|//div[@data-index='position']//div[@class='map-field']//div[@class='gmnoprint']/img[contains(@src,'spotlight-poi2.png')]"/>
107+
<element name="clickablePin" type="button" selector="//div[@data-index='position']//div[@class='map-field']//map//area"/>
108+
<element name="allPins" type="button" selector="//div[@data-index='position']//div[@class='map-field']//img[not(@usemap) and contains(@src,'spotlight-poi2_hdpi.png')]|//div[@data-index='position']//div[@class='map-field']//img[not(@usemap) and contains(@src,'spotlight-poi2.png')]"/>
109109
<element name="pinLocations" type="text" selector="(//div[@data-index='position']//div[contains(@style,'transform: matrix(1, 0, 0, 1, ')])[{{arg1}}]" parameterized="true"/>
110110
<element name="tooltipWindow" type="text" selector="//div[@data-index='position']//div[@class='map-field']//div[@class='gm-style-iw']"/>
111111
<element name="helperText" type="button" selector="//div[@data-index='position']//span[.='You can move the pin by clicking or dragging it where you want. To alter the zoom please use the controls.']"/>
112112
<element name="warningMessage" type="text" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]"/>
113113
<element name="warningMessageLink" type="button" selector="//div[contains(@class, 'pagebuilder_modal_form_pagebuilder_modal_form_modal')]//div[contains(@class, 'message-warning')]//a"/>
114-
<element name="renderedMap" type="button" selector="//div[@data-index='position']//div[@class='map-field']/div/div[contains(@class, 'gm-style')]"/>
114+
<element name="renderedMap" type="button" selector="//div[@data-index='position']//div[@class='map-field']//div[contains(@class, 'gm-style')]"/>
115115
<!-- Map Buttons -->
116116
<element name="googleModalOkButton" type="button" selector="//aside//button[@class='dismissButton' and .='OK'][{{arg1}}]" parameterized="true"/>
117117
<element name="fullScreen" type="button" selector="(//div[@data-index='position']//div[@class='map-field']//button[@title='Toggle fullscreen view'])[{{arg1}}]" parameterized="true"/>

0 commit comments

Comments
 (0)