关于项目自动化测试架构的改良计划-分离出动作指令信息
但是,我们这些动作指令信息毕竟是让测试用例数据的设计者告诉Engine怎样修改原始数据集合的,所以我们必须把这些信息分离出来,但是刚才一步骤,已经把这些片断移除了,那么怎么把这些信息拿到呢?很简单,不是我们有原始数据么,所以我们就可以对于原始数据的xml字符串,一个testcase,一个testcase的吧这些动作指令解析出来并且存放在相应的Value Object 列表中,以后我们只要根据这些列表中提供的信息就可以正确的对于原来的数据集合进行操作了。
榆社网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
分离信息的类叫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步骤之后,我们的代码中所有的动作序列的执行内容都被存放在相应变量中了。
分享文章:关于项目自动化测试架构的改良计划-分离出动作指令信息
浏览路径:http://scyanting.com/article/gisdid.html