千家信息网

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

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,为了基于上文我们的xml文件的架构,对其进行解析,我自己写了一个DataProviderEngine作为解析xml文件的引擎,它主要的架构如下图:具体细节如下,为了节省时间,我直接复制我的英文邮件内容
千家信息网最后更新 2025年02月07日关于项目自动化测试架构的改良计划 - DataProviderEngine架构


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


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

Step 1: The XMLReader read the raw test suite xml file (now we adopt the xml file ,since it is not binary file and easy to edit and version control)

Step 2: After reading ,XMLReader store the xml string into a string variable named " originalXmlString ", this is our starting point.

Step 3: The XIncludeConverter read the originalXmlString ,and resolve the XInclude namespace ,when it resolve this file ,it will replace all the element with the actual xml fragments one by one.

Step 4: After replacing all ,XIncludeConverter will store the new xml string into string variable named "convertedXmlString".

Step 5: The XMLManipulator read the convertedXmlString ,and remove all the user configuration part from such as ,, ,since these information is used for letting test case end user configure how to operate the base data to meet special requirements,so these part shouldn't exist in final data.

Step 6:After removing all config elements ,The XMLManipulator store the xml string into a new string variable named " removeAllConfXmlString"

Step 7:Since the configuration information are removed in Step 5-6 ,but they still exist in original xml string ,so XMLModifyInfoExtractor read all the ,, part from original xml string ,and smartly match which corresponding testcase data it will operate .

Step 8:After analyzing all the user modification requirement ,the XMLModifyInfoExtractor store these modification info into 3 arraylists , addElementInfoList,updateElementInfoList,removeElementInfoList.

Step 9:Now it is time to begin modifying the xml ,so the XMLManipulator read the "removeAllConfXmlString" in Step 6 .

Step 10:Then XMLManipulator use all the modification info in Step 8 ,and do modification operation one by one : addElementToXML() ,updateElementFromXML(),removeElementFromXML()

Step 11: after finish all the modification ,XMLManipulator store the final xml string into string variable named "modifiedXmlString"

Step 12: Finally it convert the xml formatted string to a jsonobject and it now can be used as a data provider which can be consumed in each test case.




0