关于项目自动化测试架构的改良计划——DataProviderEngine架构


为了基于上文我们的xml文件的架构,对其进行解析,我自己写了一个DataProviderEngine作为解析xml文件的引擎,它主要的架构如下图:

关于项目自动化测试架构的改良计划——DataProviderEngine架构


具体细节如下,为了节省时间,我直接复制我的英文邮件内容了:

<强> 步骤1:XMLReader阅读原始xml文件测试套件(现在我们采用xml文件,因为它不是二进制文件,容易编辑和版本控制)

<强> 步骤2:阅读后,XMLReader xml字符串存储到一个字符串变量命名为“originalXmlString”,这是我们的起点。

<强> 步骤3:originalXmlString XIncludeConverter读,并解决XInclude名称空间,它解决这个文件时,它将取代所有的& lt; xi:包括href>元素与实际xml片段。

<强> 步骤4:在更换所有& lt; xi: include>,XIncludeConverter将新的xml字符串存储到字符串变量命名为“convertedXmlString”。

<强> 第五步:convertedXmlString XMLManipulator读,并删除所有用户配置等部分,& lt; add_elements> & lt; update_elements> & lt; remove_elements>,因为这些信息是用来让最终用户测试用例配置如何操作基础数据,以满足客人的特殊需求,所以这些部分不应该存在于最终的数据。

<强> 第六步:删除所有配置元素后,XMLManipulator xml字符串存储到一个新的字符串变量命名为“removeAllConfXmlString”

<强> 第七步:自配置信息被删除在步骤5 - 6中,但他们仍然存在于原始xml字符串,所以XMLModifyInfoExtractor读& lt; add_elements> & lt; update_elements> & lt; remove_elements>从原始xml字符串,潇洒地匹配相应的testcase数据操作。

<强> 第八步:在分析所有用户修改要求,XMLModifyInfoExtractor存储这些信息修改成3 arraylists addElementInfoList, updateElementInfoList removeElementInfoList。

<强> 步骤9:现在是时候开始修改xml,所以XMLManipulator读“removeAllConfXmlString”,在步骤6。

<强> 第十步:然后,XMLManipulator,在步骤8中使用所有的修改信息,并做修改操作一个接一个:addElementToXML (), updateElementFromXML (), removeElementFromXML ()

<强> 11步:完成所有修改后,XMLManipulator最终的xml字符串存储到字符串变量命名为“modifiedXmlString”

<强> 12步:最后将xml格式的字符串转换成jsonobject,现在可以用作数据提供商可以在每个测试用例。




关于项目自动化测试架构的改良计划——DataProviderEngine架构