关于项目自动化测试架构的改良计划 - 分离出动作指令信息
发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,但是,我们这些动作指令信息毕竟是让测试用例数据的设计者告诉Engine怎样修改原始数据集合的,所以我们必须把这些信息分离出来,但是刚才一步骤,已经把这些片断移除了,那么怎么把这些信息拿到呢?很简单,不
千家信息网最后更新 2025年01月27日关于项目自动化测试架构的改良计划 - 分离出动作指令信息
但是,我们这些动作指令信息毕竟是让测试用例数据的设计者告诉Engine怎样修改原始数据集合的,所以我们必须把这些信息分离出来,但是刚才一步骤,已经把这些片断移除了,那么怎么把这些信息拿到呢?很简单,不是我们有原始数据么,所以我们就可以对于原始数据的xml字符串,一个testcase,一个testcase的吧这些动作指令解析出来并且存放在相应的Value Object 列表中,以后我们只要根据这些列表中提供的信息就可以正确的对于原来的数据集合进行操作了。
分离信息的类叫XMLModifyInfoExtractor,它负责分离动作:
代码如下:
/** * extract all the modification information and store to member fields. * @param filePath * @throws Exception */ public void extractModifyInfo(String filePath) throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read(new File(filePath)); Element rootElement = document.getRootElement(); String testcaseElementPathValue; Element addElements; Element addElementPath; String addElementPathValue; Element addElementValue; String addElementValueValue; Element updateElements; Element updateElementPath; String updateElementPathValue; Element updateElementValue; String updateElementValueValue; Element removeElements; Element removeElementPath; String removeElementPathValue; //first ,get all theelement List testcaseElementList = rootElement.elements("test_case"); for(Element testcaseElement : testcaseElementList){ testcaseElementPathValue = testcaseElement.getUniquePath(); //get part from the addElements= testcaseElement.element("add_elements"); if(addElements!=null){ //traverse the to get a seris of List addElementList = addElements.elements("add_element"); for(Element addElement : addElementList){ //extract the information from addElementPath = addElement.element("path"); addElementPathValue = addElementPath.getTextTrim(); //extract the information from addElementValue = addElement.element("value"); String xmlValue=addElementValue.asXML(); //remove the and part from this xml addElementValueValue=xmlValue.replace("","").replace(" ",""); addElementInfoList.add (new AddElement(testcaseElementPathValue,addElementPathValue,addElementValueValue)); } } //getpart from the updateElements= testcaseElement.element("update_elements"); if(updateElements!=null){ //traverse the to get a seris of List updateElementList = updateElements.elements("update_element"); for(Element updateElement : updateElementList){ //extract the information from updateElementPath = updateElement.element("path"); updateElementPathValue = updateElementPath.getTextTrim(); //extract the information from updateElementValue = updateElement.element("value"); updateElementValueValue=updateElementValue.getTextTrim(); updateElementInfoList.add (new UpdateElement(testcaseElementPathValue,updateElementPathValue,updateElementValueValue)); } } //get part from the removeElements= testcaseElement.element("remove_elements"); if(removeElements != null){ //traverse the to get a seris of List removeElementList = removeElements.elements("remove_element"); for(Element removeElement : removeElementList){ //extract the information from removeElementPath = removeElement.element("path"); removeElementPathValue = removeElementPath.getTextTrim(); removeElementInfoList.add(new RemoveElement(testcaseElementPathValue,removeElementPathValue)); } } } }
现在经过上述3步骤之后,我们的代码中所有的动作序列的执行内容都被存放在相应变量中了。
信息
数据
动作
原始
指令
代码
步骤
测试
内容
变量
字符
字符串
序列
片断
设计者
设计
架构
项目
自动化
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
自学软件开发需要多长时间
网络安全法六不点
怎么打造世界服务器
烽火服务器怎么在bios装系统
合理使用浏览器数据库
软件开发学习什么东西
微信基础网络安全是什么
access数据库的选项卡
工商局企业数据库
网络技术专利有效期
集成式数据库
数据库插入列的语句
调研居民网络安全意识
浙江ntp时钟服务器设置
拼接处理服务器和拼接处理器
国产实时数据库模型多少钱
超星学习通服务器网络异常
图像数据库创建
磁盘管理时服务器运行失败
欧盟中学网络安全法
手机浏览器服务器模式
广东省网络安全安全联盟
网络安全工作的目标选择题
平谷区智能网络技术售后保障
网络安全周测试题目
中介系统数据库
复旦代理服务器
软件开发招聘问答
写代码和软件开发区别
网络安全安全法课件