Difference between revisions of "Test Space XML Schema"
(Created page with '==Test Space XSD== The following xsd describes the schema accepted by the Test Space uploader. <pre> <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.or…') |
|||
Line 1: | Line 1: | ||
+ | ==Example of Minimal XML to be Uploaded== | ||
+ | The following shows a more-or-less minimum required xml document that can be uploaded to Test Space. | ||
+ | |||
+ | Additional test_suite and test_case attributes can be added as desired. | ||
+ | |||
+ | <pre> | ||
+ | <?xml version="1.0" encoding="UTF-8" ?> | ||
+ | <reporter product_version="external" schema_version="1.0"> | ||
+ | <test_suite name="MyTestSuite" start_time="0"> | ||
+ | <test_case name="MyTest" status="passed"> | ||
+ | </test_case> | ||
+ | <test_case name="MyTest1" status="failed"> | ||
+ | </test_case> | ||
+ | </test_suite> | ||
+ | </reporter> | ||
+ | </pre> | ||
+ | |||
==Test Space XSD== | ==Test Space XSD== | ||
The following xsd describes the schema accepted by the Test Space uploader. | The following xsd describes the schema accepted by the Test Space uploader. | ||
Line 10: | Line 27: | ||
<xs:element maxOccurs="unbounded" ref="test_suite"/> | <xs:element maxOccurs="unbounded" ref="test_suite"/> | ||
</xs:sequence> | </xs:sequence> | ||
− | <xs:attribute name="product_version" | + | <xs:attribute name="product_version" default="external_tool" type="xs:NMTOKEN"/> |
− | <xs:attribute name="schema_version" | + | <xs:attribute name="schema_version" fixed="1.0" type="xs:decimal"/> |
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Line 23: | Line 40: | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="description" use="optional"/> | <xs:attribute name="description" use="optional"/> | ||
− | <xs:attribute name="failed" use=" | + | <xs:attribute name="failed" use="optional" type="xs:integer"/> |
− | <xs:attribute name="in_progress" use=" | + | <xs:attribute name="in_progress" use="optional" type="xs:integer"/> |
− | <xs:attribute name="linked" use=" | + | <xs:attribute name="linked" use="optional" type="xs:boolean"/> |
<xs:attribute name="name" use="required" type="xs:NCName"/> | <xs:attribute name="name" use="required" type="xs:NCName"/> | ||
− | <xs:attribute name="not_applicable" use=" | + | <xs:attribute name="not_applicable" use="optional" type="xs:integer"/> |
− | <xs:attribute name="passed" use=" | + | <xs:attribute name="passed" use="optional" type="xs:integer"/> |
− | <xs:attribute name="start_time" | + | <xs:attribute name="start_time" default="0" type="xs:dateTime"/> |
− | <xs:attribute name="unknown" use=" | + | <xs:attribute name="unknown" use="optional" type="xs:integer"/> |
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Line 40: | Line 57: | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="description" use="optional"/> | <xs:attribute name="description" use="optional"/> | ||
− | <xs:attribute name="duration" use=" | + | <xs:attribute name="duration" use="optional" type="xs:decimal"/> |
− | <xs:attribute name="explicit_duration" use=" | + | <xs:attribute name="explicit_duration" use="optional" type="xs:boolean"/> |
− | <xs:attribute name="metric" use=" | + | <xs:attribute name="metric" use="optional" type="xs:decimal"/> |
− | <xs:attribute name="metric_units" use=" | + | <xs:attribute name="metric_units" use="optional"/> |
<xs:attribute name="name" use="required" type="xs:NCName"/> | <xs:attribute name="name" use="required" type="xs:NCName"/> | ||
− | <xs:attribute name="start_time" use=" | + | <xs:attribute name="start_time" use="optional" type="xs:dateTime"/> |
− | <xs:attribute name="status" use="required" | + | <xs:attribute name="status" use="required"/> |
+ | <xs:restriction base="xs:string"> | ||
+ | <xs:enumeration value="passed"/> | ||
+ | <xs:enumeration value="failed"/> | ||
+ | <xs:enumeration value="in_progress"/> | ||
+ | <xs:enumeration value="not_applicable"/> | ||
+ | </xs:restriction> | ||
+ | </xs:attribute> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Line 66: | Line 90: | ||
<xs:attribute name="default_file_name" use="required" type="xs:boolean"/> | <xs:attribute name="default_file_name" use="required" type="xs:boolean"/> | ||
<xs:attribute name="description" use="optional"/> | <xs:attribute name="description" use="optional"/> | ||
− | <xs:attribute name="file" use=" | + | <xs:attribute name="file" use="optional"/> |
− | <xs:attribute name="file_name" use=" | + | <xs:attribute name="file_name" use="optional"/> |
− | <xs:attribute name="level" use="required" | + | <xs:attribute name="level" use="required"> |
− | <xs:attribute name="link_file" use=" | + | <xs:restriction base="xs:string"> |
− | <xs:attribute name="mime_type" use=" | + | <xs:enumeration value="info"/> |
+ | <xs:enumeration value="error"/> | ||
+ | <xs:enumeration value="warning"/> | ||
+ | </xs:restriction> | ||
+ | </xs:attribute> | ||
+ | <xs:attribute name="link_file" use="optional" type="xs:boolean"/> | ||
+ | <xs:attribute name="mime_type" use="optional"/> | ||
<xs:attribute name="name" use="required" type="xs:NCName"/> | <xs:attribute name="name" use="required" type="xs:NCName"/> | ||
</xs:complexType> | </xs:complexType> |
Revision as of 17:20, 30 May 2012
Example of Minimal XML to be Uploaded
The following shows a more-or-less minimum required xml document that can be uploaded to Test Space.
Additional test_suite and test_case attributes can be added as desired.
<?xml version="1.0" encoding="UTF-8" ?> <reporter product_version="external" schema_version="1.0"> <test_suite name="MyTestSuite" start_time="0"> <test_case name="MyTest" status="passed"> </test_case> <test_case name="MyTest1" status="failed"> </test_case> </test_suite> </reporter>
Test Space XSD
The following xsd describes the schema accepted by the Test Space uploader.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="reporter"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" ref="test_suite"/> </xs:sequence> <xs:attribute name="product_version" default="external_tool" type="xs:NMTOKEN"/> <xs:attribute name="schema_version" fixed="1.0" type="xs:decimal"/> </xs:complexType> </xs:element> <xs:element name="test_suite"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="test_suite"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="test_case"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="annotation"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="custom_data"/> </xs:sequence> <xs:attribute name="description" use="optional"/> <xs:attribute name="failed" use="optional" type="xs:integer"/> <xs:attribute name="in_progress" use="optional" type="xs:integer"/> <xs:attribute name="linked" use="optional" type="xs:boolean"/> <xs:attribute name="name" use="required" type="xs:NCName"/> <xs:attribute name="not_applicable" use="optional" type="xs:integer"/> <xs:attribute name="passed" use="optional" type="xs:integer"/> <xs:attribute name="start_time" default="0" type="xs:dateTime"/> <xs:attribute name="unknown" use="optional" type="xs:integer"/> </xs:complexType> </xs:element> <xs:element name="test_case"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="annotation"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="custom_data"/> </xs:sequence> <xs:attribute name="description" use="optional"/> <xs:attribute name="duration" use="optional" type="xs:decimal"/> <xs:attribute name="explicit_duration" use="optional" type="xs:boolean"/> <xs:attribute name="metric" use="optional" type="xs:decimal"/> <xs:attribute name="metric_units" use="optional"/> <xs:attribute name="name" use="required" type="xs:NCName"/> <xs:attribute name="start_time" use="optional" type="xs:dateTime"/> <xs:attribute name="status" use="required"/> <xs:restriction base="xs:string"> <xs:enumeration value="passed"/> <xs:enumeration value="failed"/> <xs:enumeration value="in_progress"/> <xs:enumeration value="not_applicable"/> </xs:restriction> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="custom_data"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="name" use="required" type="xs:NCName"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> <xs:element name="annotation"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="comment"/> <xs:element minOccurs="0" maxOccurs="unbounded" ref="custom_data"/> </xs:sequence> <xs:attribute name="default_file_name" use="required" type="xs:boolean"/> <xs:attribute name="description" use="optional"/> <xs:attribute name="file" use="optional"/> <xs:attribute name="file_name" use="optional"/> <xs:attribute name="level" use="required"> <xs:restriction base="xs:string"> <xs:enumeration value="info"/> <xs:enumeration value="error"/> <xs:enumeration value="warning"/> </xs:restriction> </xs:attribute> <xs:attribute name="link_file" use="optional" type="xs:boolean"/> <xs:attribute name="mime_type" use="optional"/> <xs:attribute name="name" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="comment"> <xs:complexType mixed="true"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" ref="custom_data"/> </xs:sequence> <xs:attribute name="label" use="required" type="xs:NCName"/> <xs:attribute name="priority" use="required" type="xs:NCName"/> </xs:complexType> </xs:element> </xs:schema>