关于项目自动化测试架构的改良计划-分离出动作指令信息

但是,我们这些动作指令信息毕竟是让测试用例数据的设计者告诉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 the  element
        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));
            }
                 
            }
                 
            //get  part 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