中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于項目自動化測試架構的改良計劃 - 分離出動作指令信息

發布時間:2020-06-26 05:04:24 來源:網絡 閱讀:304 作者:charles_wang888 欄目:軟件技術


但是,我們這些動作指令信息畢竟是讓測試用例數據的設計者告訴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 the <test_case> element
        List<Element> testcaseElementList = rootElement.elements("test_case");
        for(Element testcaseElement : testcaseElementList){
                 
            testcaseElementPathValue = testcaseElement.getUniquePath();
                 
            //get <add_elements> part from the <test_case>
            addElements= testcaseElement.element("add_elements");
            if(addElements!=null){
                     
            //traverse the <add_elements> to get a seris of <add_element>
            List<Element> addElementList = addElements.elements("add_element");
            for(Element addElement : addElementList){
                //extract the <path> information from <add_element>
                addElementPath = addElement.element("path");
                addElementPathValue = addElementPath.getTextTrim();
                //extract the <value> information from <add_element>
                addElementValue = addElement.element("value");
                     
                     
                String xmlValue=addElementValue.asXML();
                //remove the <value> and </value> part from this xml
                addElementValueValue=xmlValue.replace("<value>","").replace("</value>","");
                addElementInfoList.add
                (new AddElement(testcaseElementPathValue,addElementPathValue,addElementValueValue));
            }
                 
            }
                 
            //get <update_elements> part from the <test_case>
            updateElements= testcaseElement.element("update_elements");
            if(updateElements!=null){
                     
                 
            //traverse the <update_elements> to get a seris of <update_element>
            List<Element> updateElementList = updateElements.elements("update_element");
            for(Element updateElement : updateElementList){
                //extract the <path> information from <update_element>
                updateElementPath = updateElement.element("path");
                updateElementPathValue = updateElementPath.getTextTrim();
                //extract the <value> information from <update_element>
                updateElementValue = updateElement.element("value");
                updateElementValueValue=updateElementValue.getTextTrim();
                     
                updateElementInfoList.add
                (new UpdateElement(testcaseElementPathValue,updateElementPathValue,updateElementValueValue));
            }
                 
            }
                         
                 
            //get <remove_elements> part from the <test_case>
            removeElements= testcaseElement.element("remove_elements");
            if(removeElements != null){
                     
                 
            //traverse the <remove_elements> to get a seris of <remove_element>
            List<Element> removeElementList = removeElements.elements("remove_element");
            for(Element removeElement : removeElementList){
                //extract the <path> information from <remove_element>
                removeElementPath = removeElement.element("path");
                removeElementPathValue = removeElementPath.getTextTrim();
                     
                removeElementInfoList.add(new RemoveElement(testcaseElementPathValue,removeElementPathValue));
            }
                 
            }
        }
             
                         
    }


現在經過上述3步驟之后,我們的代碼中所有的動作序列的執行內容都被存放在相應變量中了。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

进贤县| 侯马市| 河津市| 光山县| 康定县| 石家庄市| 津市市| 南漳县| 三台县| 重庆市| 西林县| 云和县| 天峻县| 海南省| 交城县| 沐川县| 额济纳旗| 迭部县| 通化县| 康马县| 中超| 崇文区| 扬中市| 三明市| 陈巴尔虎旗| 如皋市| 绥芬河市| 屏南县| 衡水市| 清徐县| 黔西县| 通城县| 津南区| 洛宁县| 沧州市| 青海省| 怀宁县| 固安县| 安义县| 长白| 宿迁市|