Skip to content

Commit c20770f

Browse files
authored
MQE-220 - Updated the XML-to-PHP generator to consume the declarative XML Test Schema.
1 parent 665005c commit c20770f

File tree

5 files changed

+709
-440
lines changed

5 files changed

+709
-440
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
.idea
22
composer.phar
3-
vendor/*
3+
vendor/*
4+
.env
5+
_generated

etc/di.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
<argument name="idAttributes" xsi:type="array">
222222
<item name="/config/cest" xsi:type="string">name</item>
223223
<item name="/config/cest/test" xsi:type="string">name</item>
224-
<item name="/config/cest/test/(acceptPopup|amOnPage|appendField|assertArraySubset|attachFile|cancelPopup|checkOption|click|clickWithLeftButton|clickWithRightButton|closeTab|dontSee|dontSeeCheckboxIsChecked|dontSeeCookie|dontSeeCurrentUrlEquals|dontSeeCurrentUrlMatches|dontSeeElement|dontSeeElementInDOM|dontSeeInCurrentUrl|dontSeeInField|dontSeeInPageSource|dontSeeInSource|dontSeeInTitle|dontSeeLink|dontSeeOptionIsSelected|doubleClick|dragAndDrop|executeJS|fillField|grabAttributeFrom|grabCookie|grabFromCurrentUrl|grabMultiple|grabTextFrom|grabValueFrom|makeScreenshot|maximizeWindow|moveBack|moveForward|moveMouseOver|openNewTab|pauseExecution|pressKey|reloadPage|resetCookie|resizeWindow|scrollTo|see|seeCheckboxIsChecked|seeCookie|seeCurrentUrlEquals|seeCurrentUrlMatches|seeElement|seeElementInDOM|seeInCurrentUrl|seeInField|seeInPageSource|seeInPopup|seeInSource|seeInTitle|seeLink|seeNumberOfElements|seeOptionIsSelected|selectOption|setCookie|switchToIFrame|switchToNextTab|switchToPreviousTab|switchToWindow|typeInPopup|uncheckOption|unselectOption|wait|waitForElement|waitForElementNotVisible|waitForElementVisible|waitForJS|waitForText)" xsi:type="string">mergeKey</item>
224+
<item name="/config/cest/test/(acceptPopup|amOnPage|appendField|assertArraySubset|attachFile|cancelPopup|checkOption|click|clickWithLeftButton|clickWithRightButton|closeTab|dontSee|dontSeeCheckboxIsChecked|dontSeeCookie|dontSeeCurrentUrlEquals|dontSeeCurrentUrlMatches|dontSeeElement|dontSeeElementInDOM|dontSeeInCurrentUrl|dontSeeInField|dontSeeInPageSource|dontSeeInSource|dontSeeInTitle|dontSeeLink|dontSeeOptionIsSelected|doubleClick|dragAndDrop|executeJS|fillField|grabAttributeFrom|grabCookie|grabFromCurrentUrl|grabMultiple|grabPageSource|grabTextFrom|grabValueFrom|loadSessionSnapshot|makeScreenshot|maximizeWindow|moveBack|moveForward|moveMouseOver|openNewTab|pauseExecution|performOn|pressKey|reloadPage|resetCookie|resizeWindow|scrollTo|see|seeCheckboxIsChecked|seeCookie|seeCurrentUrlEquals|seeCurrentUrlMatches|seeElement|seeElementInDOM|seeInCurrentUrl|seeInField|seeInFormFields|seeInPageSource|seeInPopup|seeInSource|seeInTitle|seeLink|seeNumberOfElements|seeOptionIsSelected|selectOption|setCookie|switchToIFrame|switchToNextTab|switchToPreviousTab|switchToWindow|typeInPopup|uncheckOption|unselectOption|wait|waitForElement|waitForElementChange|waitForElementNotVisible|waitForElementVisible|waitForJS|waitForText)" xsi:type="string">mergeKey</item>
225225
</argument>
226226
<argument name="fileName" xsi:type="string">*Cest.xml</argument>
227227
<argument name="defaultScope" xsi:type="string">Cest</argument>
@@ -231,7 +231,7 @@
231231
<virtualType name="Magento\AcceptanceTestFramework\Test\Config\Dom\ArrayNodeConfig" type="Magento\AcceptanceTestFramework\Config\Dom\ArrayNodeConfig">
232232
<arguments>
233233
<argument name="assocArrayAttributes" xsi:type="array">
234-
<item name="/config/cest/test/(acceptPopup|amOnPage|appendField|assertArraySubset|attachFile|cancelPopup|checkOption|click|clickWithLeftButton|clickWithRightButton|closeTab|dontSee|dontSeeCheckboxIsChecked|dontSeeCookie|dontSeeCurrentUrlEquals|dontSeeCurrentUrlMatches|dontSeeElement|dontSeeElementInDOM|dontSeeInCurrentUrl|dontSeeInField|dontSeeInPageSource|dontSeeInSource|dontSeeInTitle|dontSeeLink|dontSeeOptionIsSelected|doubleClick|dragAndDrop|executeJS|fillField|grabAttributeFrom|grabCookie|grabFromCurrentUrl|grabMultiple|grabTextFrom|grabValueFrom|makeScreenshot|maximizeWindow|moveBack|moveForward|moveMouseOver|openNewTab|pauseExecution|pressKey|reloadPage|resetCookie|resizeWindow|scrollTo|see|seeCheckboxIsChecked|seeCookie|seeCurrentUrlEquals|seeCurrentUrlMatches|seeElement|seeElementInDOM|seeInCurrentUrl|seeInField|seeInPageSource|seeInPopup|seeInSource|seeInTitle|seeLink|seeNumberOfElements|seeOptionIsSelected|selectOption|setCookie|switchToIFrame|switchToNextTab|switchToPreviousTab|switchToWindow|typeInPopup|uncheckOption|unselectOption|wait|waitForElement|waitForElementNotVisible|waitForElementVisible|waitForJS|waitForText)" xsi:type="string">mergeKey</item>
234+
<item name="/config/cest/test/(acceptPopup|amOnPage|appendField|assertArraySubset|attachFile|cancelPopup|checkOption|click|clickWithLeftButton|clickWithRightButton|closeTab|dontSee|dontSeeCheckboxIsChecked|dontSeeCookie|dontSeeCurrentUrlEquals|dontSeeCurrentUrlMatches|dontSeeElement|dontSeeElementInDOM|dontSeeInCurrentUrl|dontSeeInField|dontSeeInPageSource|dontSeeInSource|dontSeeInTitle|dontSeeLink|dontSeeOptionIsSelected|doubleClick|dragAndDrop|executeJS|fillField|grabAttributeFrom|grabCookie|grabFromCurrentUrl|grabMultiple|grabPageSource|grabTextFrom|grabValueFrom|loadSessionSnapshot|makeScreenshot|maximizeWindow|moveBack|moveForward|moveMouseOver|openNewTab|pauseExecution|performOn|pressKey|reloadPage|resetCookie|resizeWindow|scrollTo|see|seeCheckboxIsChecked|seeCookie|seeCurrentUrlEquals|seeCurrentUrlMatches|seeElement|seeElementInDOM|seeInCurrentUrl|seeInField|seeInFormFields|seeInPageSource|seeInPopup|seeInSource|seeInTitle|seeLink|seeNumberOfElements|seeOptionIsSelected|selectOption|setCookie|switchToIFrame|switchToNextTab|switchToPreviousTab|switchToWindow|typeInPopup|uncheckOption|unselectOption|wait|waitForElement|waitForElementChange|waitForElementNotVisible|waitForElementVisible|waitForJS|waitForText)" xsi:type="string">mergeKey</item>
235235
<item name="/config/cest/test" xsi:type="string">name</item>
236236
<item name="/config/cest" xsi:type="string">name</item>
237237
</argument>

src/Magento/AcceptanceTestFramework/Test/etc/testSchema.xsd

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@
1010
</xs:sequence>
1111
</xs:complexType>
1212
<xs:complexType name="cestType">
13-
<xs:sequence>
13+
<xs:choice minOccurs="0" maxOccurs="unbounded">
1414
<xs:element type="annotationsType" name="annotations" minOccurs="0"/>
1515
<xs:element type="testType" name="before" minOccurs="0"/>
1616
<xs:element type="testType" name="after" minOccurs="0"/>
1717
<xs:element type="testType" name="test" maxOccurs="unbounded"/>
18-
</xs:sequence>
18+
</xs:choice>
1919
<xs:attribute type="xs:string" name="name" use="required"/>
2020
</xs:complexType>
2121
<xs:complexType name="annotationsType">
22-
<xs:sequence>
22+
<xs:choice maxOccurs="unbounded">
2323
<xs:element type="annotationType" name="env" minOccurs="0" maxOccurs="unbounded"/>
2424
<xs:element type="annotationType" name="features" minOccurs="0" maxOccurs="unbounded"/>
2525
<xs:element type="annotationType" name="stories" minOccurs="0" maxOccurs="unbounded"/>
@@ -29,7 +29,7 @@
2929
<xs:element type="annotationType" name="testCaseId" minOccurs="0" maxOccurs="unbounded"/>
3030
<xs:element type="annotationType" name="group" minOccurs="0" maxOccurs="unbounded"/>
3131
<xs:element type="annotationType" name="return" minOccurs="0" maxOccurs="unbounded"/>
32-
</xs:sequence>
32+
</xs:choice>
3333
</xs:complexType>
3434
<xs:complexType name="annotationType">
3535
<xs:simpleContent>
@@ -39,7 +39,7 @@
3939
</xs:simpleContent>
4040
</xs:complexType>
4141
<xs:complexType name="testType">
42-
<xs:sequence>
42+
<xs:choice minOccurs="0" maxOccurs="unbounded">
4343
<xs:element type="annotationsType" name="annotations" minOccurs="0" maxOccurs="unbounded"/>
4444
<xs:element type="acceptPopupType" name="acceptPopup" minOccurs="0" maxOccurs="unbounded"/>
4545
<xs:element type="amOnPageType" name="amOnPage" minOccurs="0" maxOccurs="unbounded"/>
@@ -129,7 +129,7 @@
129129
<xs:element type="waitForElementVisibleType" name="waitForElementVisible" minOccurs="0" maxOccurs="unbounded"/>
130130
<xs:element type="waitForJSType" name="waitForJS" minOccurs="0" maxOccurs="unbounded"/>
131131
<xs:element type="waitForTextType" name="waitForText" minOccurs="0" maxOccurs="unbounded"/>
132-
</xs:sequence>
132+
</xs:choice>
133133
<xs:attribute type="xs:string" name="name"/>
134134
<xs:attribute type="xs:boolean" name="remove" default="false"/>
135135
</xs:complexType>
@@ -998,6 +998,7 @@
998998
<xs:extension base="xs:string">
999999
<xs:attribute type="xs:string" name="selector" use="required"/>
10001000
<xs:attribute type="xs:string" name="parameterArray"/>
1001+
<xs:attribute type="xs:string" name="button"/>
10011002
<xs:attribute type="xs:string" name="mergeKey" use="required"/>
10021003
<xs:attribute type="xs:boolean" name="remove" default="false"/>
10031004
<xs:attribute type="xs:string" name="before"/>

0 commit comments

Comments
 (0)