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

本文介绍了一种基于XML的测试套件文件的解析流程。通过自定义DataProviderEngine引擎,该流程包括读取原始XML文件、解析XInclude命名空间、移除配置元素及执行修改操作等步骤,最终将XML字符串转换为JSON对象作为数据提供者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

112402594.png


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

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 <xi:include href> element with the actual xml fragments one by one.

Step 4: After replacing all <xi:include> ,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  <add_elements>,<update_elements>,<remove_elements> ,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 <add_elements>,<update_elements>,<remove_elements> 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.






本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/1221708,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值