我有单元测试代码,需要遍历HTML块,并确认解析器代码工作正常。
目前,我们将测试用例存储在XML中。但我们面临的挑战是必须在html段上手工创建CDATA标记。
我应该使用json还是其他格式?
我们的数据是utf8,包括许多非拉丁字母。我们手动创建这些测试用例,在VSCode中手动创建xml。我们目前的工作流程是打开一个现有的测试用例,并将其保存在一个新名称下,粘贴相关的新数据。
请告知。
示例:
下面的XML
是一个示例测试文件。
我们的XML的XSD
在下面。“RawPayload”元素是来自HTTPGET的原始响应,其中包括HTML和其他内容(标头)(目前我们将整个元素放在CDATA标记中)。“ParsedOutput”元素是一个多行文本块,其中包含许多不同的字母。它是未标记的文本,目前不在CDATA块中。
示例XML:
<?xml version="1.0" encoding="utf-8"?>
<TestCase>
<TestSuiteVersion>1</TestSuiteVersion>
<TestName>SampleTest-2</TestName>
<TestEnabled>true</TestEnabled>
<TestURL>https://www.testserver.com/ict/1256-l/</TestURL>
<RawPayload><![CDATA[
<!DOCTYPE html>
<html lang="he"><head><meta charset="utf-8"><meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1" name="viewport">sh({
... snip ...</div></div></body></html>
]]></RawPayload>
<ParsedOutput>to avenge( ×ת)
×Ö´× Ö°×§Ö¹× ~ ×× ×§××
</ParsedOutput>
<TestSuiteVersion>1</TestSuiteVersion>
</TestCase>
XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="TestCase">
<xs:complexType>
<xs:sequence>
<xs:element name="TestSuiteVersion" type="xs:int" minOccurs="1" />
<xs:element name="TestName" type="xs:string" minOccurs="1" />
<xs:element name="TestEnabled" type="xs:boolean" minOccurs="1" />
<xs:element name="TestURL" type="xs:anyURI" minOccurs="1" />
<xs:element name="RawPayload" type="xs:string" minOccurs="1" />
<xs:element name="ParsedOutput" type="xs:dateTime" minOccurs="1" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>