config.xsd 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  9. <xs:element name="config">
  10. <xs:complexType>
  11. <xs:all>
  12. <xs:element name="application" maxOccurs="1" minOccurs="0">
  13. <xs:complexType>
  14. <xs:sequence>
  15. <xs:choice maxOccurs="unbounded">
  16. <xs:element name="reopenBrowser" type="reopenBrowserType" />
  17. <xs:element name="backendLogin" type="backendLoginType" />
  18. <xs:element name="backendPassword" type="backendPasswordType" />
  19. <xs:element name="backendLoginUrl" type="backendLoginUrlType" />
  20. <xs:element name="appBackendUrl" type="appBackendUrlType" />
  21. </xs:choice>
  22. </xs:sequence>
  23. </xs:complexType>
  24. </xs:element>
  25. <xs:element name="isolation" maxOccurs="1" minOccurs="0">
  26. <xs:complexType>
  27. <xs:sequence>
  28. <xs:choice maxOccurs="unbounded">
  29. <xs:element name="resetUrlPath" type="notEmptyType" />
  30. <xs:element name="testSuite" type="isolationModeType" />
  31. <xs:element name="testCase" type="isolationModeType" />
  32. <xs:element name="test" type="isolationModeType" />
  33. </xs:choice>
  34. </xs:sequence>
  35. </xs:complexType>
  36. </xs:element>
  37. <xs:element name="server" minOccurs="0">
  38. <xs:complexType>
  39. <xs:sequence>
  40. <xs:choice maxOccurs="unbounded" minOccurs="1">
  41. <xs:element name="item" type="serverItemType" />
  42. </xs:choice>
  43. </xs:sequence>
  44. </xs:complexType>
  45. </xs:element>
  46. <xs:element name="install" minOccurs="0" maxOccurs="1">
  47. <xs:complexType>
  48. <xs:sequence>
  49. <xs:choice maxOccurs="unbounded">
  50. <xs:element name="host" type="notEmptyType" />
  51. <xs:element name="user" type="notEmptyType" />
  52. <xs:element name="password" type="notEmptyType" />
  53. <xs:element name="dbName" type="notEmptyType" />
  54. <xs:element name="baseUrl" type="notEmptyType" />
  55. <xs:element name="backendName" type="notEmptyType" />
  56. </xs:choice>
  57. </xs:sequence>
  58. </xs:complexType>
  59. </xs:element>
  60. <xs:element name="handler" minOccurs="1" maxOccurs="1" type="handlerTypes" />
  61. </xs:all>
  62. </xs:complexType>
  63. </xs:element>
  64. <xs:simpleType name="reopenBrowserType">
  65. <xs:restriction base="xs:string">
  66. <xs:pattern value="testCase|test" />
  67. </xs:restriction>
  68. </xs:simpleType>
  69. <xs:simpleType name="backendLoginType">
  70. <xs:restriction base="xs:string">
  71. <xs:minLength value="1" />
  72. </xs:restriction>
  73. </xs:simpleType>
  74. <xs:simpleType name="backendLoginUrlType">
  75. <xs:restriction base="xs:string">
  76. <xs:minLength value="1" />
  77. </xs:restriction>
  78. </xs:simpleType>
  79. <xs:simpleType name="appBackendUrlType">
  80. <xs:restriction base="xs:string">
  81. <xs:minLength value="1" />
  82. </xs:restriction>
  83. </xs:simpleType>
  84. <xs:simpleType name="backendPasswordType">
  85. <xs:restriction base="xs:string">
  86. <xs:minLength value="1" />
  87. </xs:restriction>
  88. </xs:simpleType>
  89. <xs:simpleType name="notEmptyType">
  90. <xs:restriction base="xs:string">
  91. <xs:minLength value="1" />
  92. </xs:restriction>
  93. </xs:simpleType>
  94. <xs:simpleType name="isolationModeType">
  95. <xs:restriction base="xs:string">
  96. <xs:pattern value="none|before|after|both" />
  97. </xs:restriction>
  98. </xs:simpleType>
  99. <xs:simpleType name="serverTypeType">
  100. <xs:restriction base="xs:string">
  101. <xs:pattern value="default" />
  102. </xs:restriction>
  103. </xs:simpleType>
  104. <xs:simpleType name="portType">
  105. <xs:restriction base="xs:int" />
  106. </xs:simpleType>
  107. <xs:simpleType name="timeoutType">
  108. <xs:restriction base="xs:int">
  109. </xs:restriction>
  110. </xs:simpleType>
  111. <xs:complexType name="serverItemType">
  112. <xs:choice>
  113. <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" />
  114. </xs:choice>
  115. <xs:attribute name="type" type="serverTypeType" use="optional" />
  116. <xs:attribute name="name" type="xs:string" use="required" />
  117. <xs:attribute name="browser" type="notEmptyType" />
  118. <xs:attribute name="browserName" type="notEmptyType" />
  119. <xs:attribute name="host" type="notEmptyType" />
  120. <xs:attribute name="port" type="portType" />
  121. <xs:attribute name="seleniumServerRequestsTimeout" type="timeoutType" use="optional" />
  122. <xs:attribute name="sessionStrategy" type="notEmptyType" use="optional" />
  123. </xs:complexType>
  124. <xs:simpleType name="enableDisableType">
  125. <xs:restriction base="xs:string">
  126. <xs:pattern value="false|true" />
  127. </xs:restriction>
  128. </xs:simpleType>
  129. <xs:complexType name="specificModuleType">
  130. <xs:sequence>
  131. <xs:choice>
  132. <xs:element name="module" type="notEmptyType" maxOccurs="unbounded" />
  133. </xs:choice>
  134. </xs:sequence>
  135. <xs:attribute name="enabled" type="enableDisableType" />
  136. </xs:complexType>
  137. <xs:complexType name="handlerTypes">
  138. <xs:all>
  139. <xs:element name="webapi" maxOccurs="1" minOccurs="0">
  140. <xs:complexType>
  141. <xs:sequence>
  142. <xs:element type="xs:string" name="token" maxOccurs="1" minOccurs="1"/>
  143. </xs:sequence>
  144. <xs:attribute type="xs:unsignedByte" name="priority" use="required" />
  145. </xs:complexType>
  146. </xs:element>
  147. <xs:element name="curl" maxOccurs="1" minOccurs="0">
  148. <xs:complexType>
  149. <xs:simpleContent>
  150. <xs:extension base="xs:string">
  151. <xs:attribute type="xs:unsignedByte" name="priority" use="required" />
  152. </xs:extension>
  153. </xs:simpleContent>
  154. </xs:complexType>
  155. </xs:element>
  156. <xs:element name="ui" maxOccurs="1" minOccurs="0">
  157. <xs:complexType>
  158. <xs:simpleContent>
  159. <xs:extension base="xs:string">
  160. <xs:attribute type="xs:unsignedByte" name="priority" use="required" />
  161. </xs:extension>
  162. </xs:simpleContent>
  163. </xs:complexType>
  164. </xs:element>
  165. </xs:all>
  166. </xs:complexType>
  167. </xs:schema>