国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng)及方法

      文檔序號:6482109閱讀:119來源:國知局
      專利名稱:一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及軟件測試領(lǐng)域,特別是涉及一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試 系統(tǒng)及方法。
      背景技術(shù)
      在處理器的開發(fā)過程中,需要對該處理器的各種已開發(fā)出的功能進(jìn)行測試。 由于這些功能是以協(xié)議的形式與外界交互,因此可通過協(xié)議對這些功能進(jìn)行測 試;而且協(xié)議是控制軟件和處理器進(jìn)行交互的渠道,所以可以先開發(fā)出一套控 制軟件,然后再通過控制軟件對處理器進(jìn)行測試。但是該方法有以下缺點(diǎn)第 一,開發(fā)一套控制軟件的時間周期比較長,這樣必然會影響處理器的測試和開 發(fā);第二,控制軟件比較復(fù)雜,在進(jìn)行處理器的測試之前本身就可能有很多問 題,如果用不完善的控制軟件對處理器進(jìn)行測試,這本身就是不可靠的;第三, 該方法不夠靈活,如果處理器的功能有變動,那么控制軟件將可能會有比較大 的改動。
      考慮到靈活性和開發(fā)的時間,現(xiàn)有技術(shù)中可以使用命令的方式來測試各項(xiàng) 功能并將執(zhí)行后的效果通過字符的形式表現(xiàn)出來,這里的每條命令對應(yīng)于協(xié)議 里的某一條。因此,當(dāng)增加功能或修改功能時,只要增加一條命令或者修改一 條命令就可以了。但是該方法有個缺點(diǎn)如果要大量執(zhí)行同一條命令或者讓一 些命名按某種邏輯執(zhí)行,這個方法是很難做到的。

      發(fā)明內(nèi)容
      為了克服現(xiàn)有技術(shù)的缺點(diǎn)和不足,本發(fā)明的目的在于提供一種可編程的網(wǎng) 絡(luò)服務(wù)自動化測試系統(tǒng),具有可編程能力、擴(kuò)展性好、開發(fā)周期短等優(yōu)點(diǎn),有 效的提高了測試效率和可靠性。
      本發(fā)明目的是通過下述技術(shù)方案實(shí)現(xiàn)的, 一種可編程的網(wǎng)絡(luò)服務(wù)自動化測 試系統(tǒng),包括
      數(shù)據(jù)處理子系統(tǒng),用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文件,解析出DOM樹并 發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊,以及根據(jù)XML文件描述的規(guī)則將類結(jié)構(gòu) 體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;
      界面顯示子系統(tǒng),用于初始化數(shù)據(jù)處理子系統(tǒng)和腳本分析子系統(tǒng)、提供命 令菜單、接收用戶輸入的命令或腳本程序并把其輸出到腳本分析子系統(tǒng)、以及 接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息;
      腳本分析子系統(tǒng),用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序 并對其進(jìn)行分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需要服 務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)在已注冊命令中査找相應(yīng)的描述命令,并將這 些需要服務(wù)器執(zhí)行的命令及其描述命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換, 當(dāng)數(shù)據(jù)處理子系統(tǒng)根據(jù)描述命令描述的規(guī)則將所述需要服務(wù)器執(zhí)行的命令由數(shù) 據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本分析子系統(tǒng)再把這些 需要服務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試,接收服務(wù)器返回的執(zhí)行結(jié)果 并將執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)處理子系統(tǒng)將執(zhí)行結(jié)果 由網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本分析子系統(tǒng)再把 轉(zhuǎn)換后的執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng);若用戶輸入的命令或用戶輸入的腳 '本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)直接執(zhí)行相應(yīng)的命令 并將執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng)。
      所述數(shù)據(jù)處理子系統(tǒng)包括
      數(shù)據(jù)轉(zhuǎn)換模塊,用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性 信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文f牛,并根據(jù)XML文件描 述的規(guī)則將類結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;
      XML文件處理模塊,用于從所述的XML文件中讀取描述命令、參數(shù)數(shù)據(jù) 結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息,解析成DOM 樹;所述數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊,以便于 以后遍歷。
      所述類結(jié)構(gòu)體為用0€++描述的類結(jié)構(gòu)體。
      所述界面顯示子系統(tǒng)為界面顯示模塊,用于初始化數(shù)據(jù)處理子系統(tǒng)和腳本 分析子系統(tǒng),提供命令菜單、接收用戶輸入的命令或腳本程序并把其輸出到腳 本分析子系統(tǒng),以及接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息。
      所述腳本分析子系統(tǒng)包括
      腳本模塊,用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序并進(jìn)行分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行,則 腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在已注冊命令中查找相應(yīng)的描述命 令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù)據(jù)處理子系統(tǒng) 根據(jù)描述命令描述的規(guī)則把需服務(wù)器執(zhí)行的命令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成 網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命令的函數(shù)把這些需服務(wù)器執(zhí)行的 命令發(fā)送到通信模塊,并等待接收通信模塊的執(zhí)行結(jié)果,腳本模塊接收通信模 塊的執(zhí)行結(jié)果后把執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù)據(jù)處理子系統(tǒng)將執(zhí)行 結(jié)果由網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊把數(shù)據(jù) 結(jié)構(gòu)表現(xiàn)形式的執(zhí)行結(jié)果輸出到界面顯示子系統(tǒng);若用戶輸入的命令或用戶輸
      入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接執(zhí)行命令并將執(zhí)
      行結(jié)果發(fā)送到界面顯示子系統(tǒng);
      通信模塊,用于接收腳本模塊的命令并發(fā)送到服務(wù)器執(zhí)行測試,并將服務(wù) 器返回的執(zhí)行結(jié)果發(fā)送到腳本模塊,其中所述腳本模塊的命令是指需服務(wù)器執(zhí) 行的命令,它們是以網(wǎng)絡(luò)字節(jié)流為表現(xiàn)形式由腳本模塊發(fā)送到通信模塊的。
      所述腳本模塊存有一個或多個測試腳本;
      所述測試腳本包括TCL腳本。
      本發(fā)明的另一目的在于提供一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,包括 以下步驟
      51、 初始化系統(tǒng),XML文件處理模塊讀取XML文件,將XML文件中的命令 與腳本模塊中執(zhí)行命令的函數(shù)綁定;連接服務(wù)器;
      52、 界面顯示模塊接收用戶輸入的命令或腳本程序并發(fā)送到腳本模塊;
      53、 若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行, 則腳本模塊對所述的命令進(jìn)行分析,并與在已注冊命令中査找到的相應(yīng)描述命 令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊,經(jīng)數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)描述命令描述的規(guī)則把需服 務(wù)器執(zhí)行的命令轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流,由通信模塊發(fā)送到服務(wù)器,進(jìn)入S4;若用 戶輸入的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模 塊直接執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示模塊,返回步驟S2;
      54、 服務(wù)器執(zhí)行命令并進(jìn)行測試,把執(zhí)行結(jié)果經(jīng)通信模塊發(fā)送到腳本模塊, 腳本模塊把執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,再把 執(zhí)行結(jié)果發(fā)送到界面顯示模塊;
      55、 判斷用戶是否繼續(xù)輸入命令或腳本程序,是則進(jìn)入S2,否則結(jié)束操作。 所述步驟S1包括511、 初始化系統(tǒng);
      512、 系統(tǒng)確認(rèn)用戶是否要修改XML文件,是則進(jìn)入S13,否則直接進(jìn)入S14;
      513、 在XML文件中錄入或者修改描述命令,加載包含該描述命令的XML 文件;
      514、 系統(tǒng)調(diào)用XML文件處理模塊,XML文件處理模塊從XML文件中讀取 描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀 態(tài)碼信息,解析成DOM樹,數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本模塊進(jìn)行命令注 冊;
      515、 連接服務(wù)器。 所述步驟S3包括
      S31 、若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行, 則腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在己注冊命令中査找相應(yīng)的描述命 令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊,進(jìn)入S32;若用戶輸入 的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接 執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示模塊,返回步驟S2;
      S32、當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)XML文件描述的規(guī)則將所述的需服務(wù)器執(zhí)行的命 令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命 令的函數(shù)把這些需服務(wù)器執(zhí)行的命令發(fā)送到通信模塊,通信模塊再把這些需服 務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試。
      所述步驟S4包括
      541、 通信模塊等待服務(wù)器返回執(zhí)行結(jié)果;
      542、 如果通信模塊在等待的過程中超出了預(yù)設(shè)的等待時間,那么通信模塊 將向界面顯示模塊發(fā)出提示信息,提示執(zhí)行該命令超時;否則,通信模塊把以 網(wǎng)絡(luò)字節(jié)流為表現(xiàn)形式的執(zhí)行結(jié)果發(fā)送到腳本模塊,腳本模塊首先將執(zhí)行結(jié)果 發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊把執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流表現(xiàn) 形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊再把表現(xiàn)形式為數(shù)據(jù)結(jié)構(gòu)的執(zhí)行 結(jié)果發(fā)送到界面顯示模塊。
      與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果
      第一、開發(fā)周期短該系統(tǒng)主要任務(wù)是解析執(zhí)行命令、數(shù)據(jù)收發(fā),其中命 令解析利用開源的TCL庫,相對于處理器控制軟件來說,該系統(tǒng)功能簡單,開 發(fā)周期會比較短;第二、具有可編程能力由于采用了TCL庫,所以相對于處理器控制軟件 來說,該系統(tǒng)具有一定的可編程能力,可以模仿控制軟件使用時的功能組合;
      第三、擴(kuò)展性好該系統(tǒng)把需服務(wù)器執(zhí)行的命令的描述保存在XML文件里, 當(dāng)執(zhí)行該命令的時候,根據(jù)XML文件的描述來把命令封裝成網(wǎng)絡(luò)字節(jié)流數(shù)據(jù) 包,使用了統(tǒng)一的命令封裝方法;當(dāng)要改變或者增加命令時,只要通過修改命 令格式或者注冊新的命令,而不需修改這些命令的封裝方法,這樣便把具體的 命令和封裝方法分離出來,使該系統(tǒng)具有可擴(kuò)展性。


      圖l是本發(fā)明一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng)的模塊結(jié)構(gòu)圖; 圖2是本發(fā)明一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方 去的流程圖。
      具體實(shí)施例方式
      下面結(jié)合實(shí)施例及附圖,對本發(fā)明作進(jìn)一步地詳細(xì)說明,但本發(fā)明的實(shí)施 方式不限于此。
      如圖1所示, 一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),包括
      數(shù)據(jù)處理子系統(tǒng),用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效 性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文件,解析出DOM樹并 發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊,以及根據(jù)XML文{牛描述的規(guī)則將類結(jié)構(gòu) 體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;
      界面顯示子系統(tǒng),用于初始化數(shù)據(jù)處理子系統(tǒng)和腳本分析子系統(tǒng)、提供命 令菜單、接收用戶輸入的命令或腳本程序并把其輸出到腳本分析子系統(tǒng)、以及 接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息;
      腳本分析子系統(tǒng),用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序 并對其進(jìn)行分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需要服 務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)在已注冊命令中査找相應(yīng)的描述命令,并將這 些需要服務(wù)器執(zhí)行的命令及其描述命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換, 當(dāng)數(shù)據(jù)處理子系統(tǒng)根據(jù)描述命令描述的規(guī)則將所述需要服務(wù)器執(zhí)行的命令由數(shù) 據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本分析子系統(tǒng)再把這些 需服務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試,接收服務(wù)器返回的執(zhí)行結(jié)果并 將執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)處理子系統(tǒng)將執(zhí)行結(jié)果由 網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本分析子系統(tǒng)再把轉(zhuǎn)換后的執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng);若用戶輸入的命令或用戶輸入的腳本 程序里的命令是不需服務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)直接執(zhí)行相應(yīng)的命令并 將執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng)。
      所述數(shù)據(jù)處理子系統(tǒng)包括
      數(shù)據(jù)轉(zhuǎn)換模塊,用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性
      信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文件,并根據(jù)XML文件描 述的規(guī)則將類結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;所述數(shù)據(jù)轉(zhuǎn)換模 塊由界面顯示模塊配置XML文件名稱并初始化;
      XML文件處理模塊,用于從所述的XML文件中讀取描述命令、參數(shù)數(shù)據(jù) 結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息,解析成DOM 樹;所述數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊,以便于 以后遍歷。
      所述類結(jié)構(gòu)體為用 <:化++描述的類結(jié)構(gòu)體。
      所述界面顯示子系統(tǒng)為界面顯示模塊,用于初始化數(shù)據(jù)轉(zhuǎn)換模塊、腳本模 塊和通信模塊,提供命令菜單、接收用戶輸入的命令或腳本程序并把其輸出到 腳本分析子系統(tǒng),以及接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息。
      所述腳本分析子系統(tǒng)包括
      腳本模塊,用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序并進(jìn)行 分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行,則 腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在已注冊命令中査找相應(yīng)的描述命
      令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù)據(jù)處理子系統(tǒng) 的數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)描述命令描述的規(guī)則把需服務(wù)器執(zhí)行的命令由數(shù)據(jù)結(jié)構(gòu)的 表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命令的函數(shù)把這些 需服務(wù)器執(zhí)行的命令一起發(fā)送到通信模塊,并等待接收通信模塊的執(zhí)行結(jié)果, 腳本模塊接收通信模塊的執(zhí)行結(jié)果后把執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù) 據(jù)處理子系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換模塊將執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù) 結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊把數(shù)據(jù)結(jié)構(gòu)表現(xiàn)形式的執(zhí)行結(jié)果輸出到界面顯示 子系統(tǒng);若用戶輸入的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行 的,則腳本模塊直接執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng);
      通信模塊,用于接收腳本模塊的命令并發(fā)送到服務(wù)器執(zhí)行測試,并將服務(wù) 器返回的執(zhí)行結(jié)果發(fā)送到腳本模塊,其中所述腳本模塊的命令是指需服務(wù)器執(zhí) 行的命令,它們是以網(wǎng)絡(luò)字節(jié)流為表現(xiàn)形式由腳本模塊發(fā)送到通信模塊的;所述通信模塊由界面顯示模塊配置服務(wù)器IP和端口等參數(shù)并初始化。
      所述腳本模塊存有一個或多個測試腳本;所述測試腳本包括TCL腳本。XML 文件處理模塊從XML文件中讀取命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、 返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息,解析成DOM樹;所述數(shù)據(jù)轉(zhuǎn)換模塊將 DOM樹發(fā)送到腳本模塊,利用TCL腳本進(jìn)行命令自動注冊,界面顯示模塊接 收命令或腳本程序的輸入,并將命令名字和參數(shù)組成的字符串傳遞給腳本模塊 的TCL解析器去分析,當(dāng)用戶輸入的命令或用戶輸入的腳本程序里的命令是需 服務(wù)器執(zhí)行,則TCL解析器會根據(jù)命令的名字在已注冊的命令中查找到相應(yīng)的 描述命令,腳本模塊利用自帶的執(zhí)行命令的函數(shù)把和協(xié)議相關(guān)的命令及其描述 命令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換后,腳本模塊把這些需服務(wù)器執(zhí)行的命令發(fā) 送到通信模塊,經(jīng)通信模塊送到服務(wù)器去執(zhí)行測試。
      如圖2所示, 一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,包括以下步驟
      51、 初始化系統(tǒng);
      52、 系統(tǒng)確認(rèn)用戶是否要修改XML文件,是則進(jìn)入S3,否則直接進(jìn)入S4;
      53、 在XML文件中錄入或者修改描述命令,加載包含該描述命令的XML文
      件;
      54、 系統(tǒng)調(diào)用XML文件處理模塊,XML文件處理模塊從XML文件中讀取描 述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài) 碼信息,解析成DOM樹,數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本模塊進(jìn)行命令注冊;
      55、 連接服務(wù)器;
      56、 界面顯示模塊接收用戶輸入的命令或腳本程序并發(fā)送到腳本模塊;
      57、 若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行, 則腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在已注冊命令中查找相應(yīng)的描述命 令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊,進(jìn)入S8;若用戶輸入 的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接 執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示模塊,返回歩驟S6;
      58、 當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)XML文件描述的規(guī)則將^f述的需服務(wù)器執(zhí)行的命 令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命 令的函數(shù)把這些需服務(wù)器執(zhí)行的命令一起發(fā)送到通信模塊,通信模塊再把這些 需服務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試;
      59、 通信模塊等待服務(wù)器返回執(zhí)行結(jié)果;510、 如果通信模塊在等待的過程中超出了預(yù)設(shè)的等待時間,那么通信模塊 向界面顯示模塊發(fā)出提示信息,提示執(zhí)行該命令超吋;否則,通信模塊把以網(wǎng) 絡(luò)字節(jié)流為表現(xiàn)形式的執(zhí)行結(jié)果發(fā)送到腳本模塊,腳本模塊首先將執(zhí)行結(jié)果發(fā) 送到數(shù)據(jù)轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊把執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流表現(xiàn)形 式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊再把表現(xiàn)形式為數(shù)據(jù)結(jié)構(gòu)的執(zhí)行結(jié) 果發(fā)送到界面顯示模塊;
      511、 判斷用戶是否繼續(xù)輸入命令或腳本程序,是則進(jìn)入S6,否則結(jié)束操作。 上述實(shí)施例為本發(fā)明較佳的實(shí)施方式,但本發(fā)明的實(shí)施方式并不受所述實(shí)
      施例的限制,其他的任何未背離本發(fā)明的精神實(shí)質(zhì)與原理下所作的改變、修飾、 替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1、一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在于,包括數(shù)據(jù)處理子系統(tǒng),用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文件,解析出DOM樹并發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊,以及根據(jù)XML文件描述的規(guī)則將類結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;界面顯示子系統(tǒng),用于初始化數(shù)據(jù)處理子系統(tǒng)和腳本分析子系統(tǒng)、提供命令菜單、接收用戶輸入的命令或腳本程序并把其輸出到腳本分析子系統(tǒng)、以及接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息;腳本分析子系統(tǒng),用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序并對其進(jìn)行分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需要服務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)在已注冊命令中查找相應(yīng)的描述命令,并將這些需要服務(wù)器執(zhí)行的命令及其描述命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)處理子系統(tǒng)根據(jù)描述命令描述的規(guī)則將所述需要服務(wù)器執(zhí)行的命令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本分析子系統(tǒng)再把這些需要服務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試,接收服務(wù)器返回的執(zhí)行結(jié)果并將執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng)進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)處理子系統(tǒng)將執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本分析子系統(tǒng)再把轉(zhuǎn)換后的執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng);若用戶輸入的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本分析子系統(tǒng)直接執(zhí)行相應(yīng)的命令并將執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng)。
      2、 根據(jù)權(quán)利要求l所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在 于,所述數(shù)據(jù)處理子系統(tǒng)包括數(shù)據(jù)轉(zhuǎn)換模塊,用于加載包含描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性 信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息的XML文件,并根據(jù)XML文件描 述的規(guī)則將類結(jié)構(gòu)體的數(shù)據(jù)結(jié)構(gòu)和網(wǎng)絡(luò)字節(jié)流進(jìn)行相互轉(zhuǎn)換;XML文件處理模塊,用于從所述的XML文件中讀取描述命令、參數(shù)數(shù)據(jù) 結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀態(tài)碼信息,解析成DOM 樹;所述數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本分析子系統(tǒng)進(jìn)行命令注冊。
      3、 根據(jù)權(quán)利要求1或2所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在于,所述類結(jié)構(gòu)體為用(:"++描述的類結(jié)構(gòu)體。
      4、 根據(jù)權(quán)利要求l所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在 于,所述界面顯示子系統(tǒng)為界面顯示模塊,用于初始化數(shù)據(jù)處理子系統(tǒng)和腳本 分析子系統(tǒng),提供命令菜單、接收用戶輸入的命令或腳本程序并把其輸出到腳 本分析子系統(tǒng),以及接收腳本分析子系統(tǒng)的執(zhí)行結(jié)果、顯示提示信息。
      5、 根據(jù)權(quán)利要求l所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在于,所述腳本分析子系統(tǒng)包括腳本模塊,用于從界面顯示子系統(tǒng)讀取用戶輸入的命令或腳本程序并進(jìn)行 分析,若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行,則 腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在已注冊命令中查找相應(yīng)的描述命 令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù)據(jù)處理子系統(tǒng) 根據(jù)描述命令描述的規(guī)則把需服務(wù)器執(zhí)行的命令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成 網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命令的函數(shù)把這些需服務(wù)器執(zhí)行的 命令一起發(fā)送到通信模塊,并等待接收通信模塊的執(zhí)行結(jié)果,腳本模塊接收通 信模塊的執(zhí)行結(jié)果后把執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)處理子系統(tǒng),當(dāng)數(shù)據(jù)處理子系統(tǒng)將 執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊把數(shù)據(jù)結(jié)構(gòu)表現(xiàn)形式的執(zhí)行結(jié)果輸出到界面顯示子系統(tǒng);若用戶輸入的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示子系統(tǒng);通信模塊,用于接收腳本模塊的命令并發(fā)送到服務(wù)器執(zhí)行測試,并將服務(wù) 器返回的執(zhí)行結(jié)果發(fā)送到腳本模塊,其中所述腳本模塊的命令是指需服務(wù)器執(zhí) 行的命令,它們是以網(wǎng)絡(luò)字節(jié)流為表現(xiàn)形式由腳本模塊發(fā)送到通信模塊的。
      6、 根據(jù)權(quán)利要求5所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),其特征在 于,所述腳本模塊存有一個或多個測試腳本;所述測試腳本包括TCL腳本。
      7、 一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,其特征在于,包括以下步驟S1、 初始化系統(tǒng),XML文件處理模塊讀取XML文件,將XML文件中的命令 與腳本模塊中執(zhí)行命令的函數(shù)綁定;連接服務(wù)器;S2、 界面顯示模塊接收用戶輸入的命令或腳本程序并發(fā)送到腳本模塊;S3、 若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行, 則腳本模塊對所述的命令進(jìn)行分析,并與在已注冊命令中査找到的相應(yīng)描述命 令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊,經(jīng)數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)描述命令描述的規(guī)則把需服 務(wù)器執(zhí)行的命令轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流,由通信模塊發(fā)送到服務(wù)器,進(jìn)入S4;若用 戶輸入的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示模塊,返回步驟S2;,54、 服務(wù)器執(zhí)行命令并進(jìn)行測試,把執(zhí)行結(jié)果經(jīng)通信模塊發(fā)送到腳本模塊,腳本模塊把執(zhí)行結(jié)果發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,再把執(zhí)行結(jié)果發(fā)送到界面顯示模塊;,55、 判斷用戶是否繼續(xù)輸入命令或腳本程序,是則進(jìn)入S2,否則結(jié)束操作。,
      8、 根據(jù)權(quán)利要求7所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,其特征在 于,所述步驟S1包括,511、 初始化系統(tǒng);,512、 系統(tǒng)確認(rèn)用戶是否要修改XML文件,是則進(jìn)入S13,否則直接進(jìn)入S14;,513、 在XML文件中錄入或者修改描述命令,加載包含該描述命令的XML 文件;,514、 系統(tǒng)調(diào)用XML文件處理模塊,XML文件處理模塊從XML文件中讀取 描述命令、參數(shù)數(shù)據(jù)結(jié)構(gòu)、參數(shù)范圍有效性信息、返回結(jié)果數(shù)據(jù)結(jié)構(gòu)和返回狀 態(tài)碼信息,解析成DOM樹,數(shù)據(jù)轉(zhuǎn)換模塊將DOM樹發(fā)送到腳本模塊進(jìn)行命令注 冊;,515、 連接服務(wù)器。
      9、 根據(jù)權(quán)利要求7所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,其特征在 于,所述步驟S3包括,531、 若用戶輸入的命令或用戶輸入的腳本程序里的命令是需服務(wù)器執(zhí)行, 則腳本模塊根據(jù)所述的需服務(wù)器執(zhí)行的命令在已注冊命令中查找相應(yīng)的描述命 令,并與需服務(wù)器執(zhí)行的命令一起發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊,進(jìn)入S32;若用戶輸入 的命令或用戶輸入的腳本程序里的命令是不需服務(wù)器執(zhí)行的,則腳本模塊直接 執(zhí)行命令并將執(zhí)行結(jié)果發(fā)送到界面顯示模塊,返回步驟S2;,532、 當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊根據(jù)XML文件描述的規(guī)則將所述的需服務(wù)器執(zhí)行的命 令由數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式轉(zhuǎn)換成網(wǎng)絡(luò)字節(jié)流的表現(xiàn)形式后,腳本模塊中執(zhí)行命 令的函數(shù)把這些需服務(wù)器執(zhí)行的命令發(fā)送到通信模塊,通信模塊再把這些需服 務(wù)器執(zhí)行的命令發(fā)送到服務(wù)器去執(zhí)行測試。
      10、 根據(jù)權(quán)利要求7所述一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試方法,其特征在 于,所述步驟S4包括,541、 通信模塊等待服務(wù)器返回執(zhí)行結(jié)果;,542、 如果通信模塊在等待的過程中超出了預(yù)設(shè)的等待時間,那么通信模塊將向界面顯示模塊發(fā)出提示信息,提示執(zhí)行該命令超時;否則,通信模塊把以 網(wǎng)絡(luò)字節(jié)流為表現(xiàn)形式的執(zhí)行結(jié)果發(fā)送到腳本模塊,腳本模塊首先將執(zhí)行結(jié)果 發(fā)送到數(shù)據(jù)轉(zhuǎn)換模塊進(jìn)行轉(zhuǎn)換,當(dāng)數(shù)據(jù)轉(zhuǎn)換模塊把執(zhí)行結(jié)果由網(wǎng)絡(luò)字節(jié)流表現(xiàn) 形式轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)的表現(xiàn)形式后,腳本模塊再把表現(xiàn)形式為數(shù)據(jù)結(jié)構(gòu)的執(zhí)行 結(jié)果發(fā)送到界面顯示模塊。
      全文摘要
      本發(fā)明公開了一種可編程的網(wǎng)絡(luò)服務(wù)自動化測試系統(tǒng),包括數(shù)據(jù)處理子系統(tǒng)、界面顯示子系統(tǒng)、腳本分析子系統(tǒng);所述數(shù)據(jù)處理子系統(tǒng)進(jìn)一步包括數(shù)據(jù)轉(zhuǎn)換模塊、XXL文件處理模塊,所述界面顯示子系統(tǒng)包括界面顯示模塊,所述腳本分析子系統(tǒng)進(jìn)一步包括腳本模塊、通信模塊。本發(fā)明還公開了一種可編程的網(wǎng)絡(luò)服務(wù)自動化方法,包括以下步驟初始化系統(tǒng),讀取XML文件,接收用戶輸入的命令或腳本程序并發(fā)送到腳本模塊;腳本模塊對命令進(jìn)行分析,查找到相應(yīng)的描述命令并轉(zhuǎn)換后,經(jīng)通信模塊發(fā)送到服務(wù)器;服務(wù)器執(zhí)行命令后把執(zhí)行結(jié)果經(jīng)通信模塊、腳本模塊發(fā)送到界面顯示模塊;本發(fā)明開發(fā)周期短、具有可編程能力、擴(kuò)展性好,更好的滿足市場需求。
      文檔編號G06F11/36GK101609427SQ200910041130
      公開日2009年12月23日 申請日期2009年7月15日 優(yōu)先權(quán)日2009年7月15日
      發(fā)明者劉明華 申請人:廣東威創(chuàng)視訊科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1