一種支持多語言的測試流程生成、調(diào)試、執(zhí)行系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及工業(yè)自動化測試領(lǐng)域,特別是一種支持多語言的測試流程生成、調(diào)試、 執(zhí)行系統(tǒng)。
【背景技術(shù)】
[0002] 傳統(tǒng)的當前工業(yè)測試行業(yè)中的自動化測試系統(tǒng)中的測試流程都只支持一種語言, 甚至是自定格式的語言,不支持多種常規(guī)語言,且流程編輯器中并沒有錯誤驗證、智能提示 等功能,編寫測試流程的門檻較高,編寫測試流程的難度較大。另外,現(xiàn)有的測試流程編輯 技術(shù)基本不支持功能擴展,使得流程功能很局限,僅能完成基本測試功能,無法完成特定需 求的測試需求。大多測試流程的執(zhí)行不支持調(diào)試功能,且不支持邊修改邊執(zhí)行,極大的制約 了測試流程的開發(fā)效率。因此當前行業(yè)中工業(yè)自動化測試系統(tǒng)中測試流程功能的不足,從 測試流程的設(shè)計,到開發(fā),到執(zhí)行與調(diào)試,各個環(huán)節(jié)中會不同程度的影響到整個測試任務(wù)的 測試效率及資源投入。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明解決的技術(shù)問題是:克服現(xiàn)有技術(shù)的不足,提供了一種支持多語言的測試 流程生成、調(diào)試、執(zhí)行系統(tǒng),增強自動化測試系統(tǒng)中測試流程的易用性、通用性和擴展性,降 低測試流程地開發(fā)難度,增強了測試流程的測試能力。
[0004] 本發(fā)明的技術(shù)解決方案是:一種支持多語言的測試流程生成、調(diào)試、執(zhí)行系統(tǒng),包 括流程設(shè)計模塊、調(diào)試及執(zhí)行模塊、接口模塊、日志模塊、數(shù)據(jù)監(jiān)視模塊,其中
[0005] 流程設(shè)計模塊,包括視圖單元、變量管理單元、節(jié)點工具箱單元、布局單元、撤銷重 做單元、檢索單元、節(jié)點編輯單元;
[0006] 節(jié)點工具箱單元,存儲節(jié)點,接收外部添加指令將節(jié)點添加到視圖單元并建立節(jié) 點連接關(guān)系;所述的節(jié)點包括內(nèi)置流程節(jié)點、擴展流程節(jié)點,其中,各個內(nèi)置流程節(jié)點、擴展 流程節(jié)點及連接關(guān)系構(gòu)成測試流程,內(nèi)置流程節(jié)點包括開始節(jié)點、延時節(jié)點、表達式節(jié)點、 分支節(jié)點、交互節(jié)點、提示節(jié)點、賦值節(jié)點、子流程節(jié)點、結(jié)束節(jié)點,擴展流程節(jié)點為節(jié)點擴 展接口接收外部滿足用戶需求并添加到流程節(jié)點工具箱單元中的節(jié)點;所述的開始節(jié)點為 測試流程開始執(zhí)行節(jié)點;所述的延時節(jié)點為測試流程執(zhí)行或調(diào)試過程中停頓設(shè)置時長的節(jié) 點;所述的表達式節(jié)點為測試流程中配置有函數(shù)表達式的節(jié)點;所述的分支節(jié)點為設(shè)有判 斷條件,并根據(jù)判斷條件來判斷執(zhí)行下一節(jié)點的節(jié)點;所述交互節(jié)點為能夠配置交互信息 的節(jié)點,當執(zhí)行到節(jié)點時,彈出交互信息輸入窗,并根據(jù)輸入的交互信息執(zhí)行下一節(jié)點;所 述的提示節(jié)點為執(zhí)行到該節(jié)點時彈出對應(yīng)提示信息提示框的節(jié)點;所述的賦值節(jié)點為測試 流程中給變量賦值節(jié)點;所述的子流程節(jié)點為將一個其他測試流程作為一個流程節(jié)點的節(jié) 點;所述的結(jié)束節(jié)點為執(zhí)行到該節(jié)點后測試流程結(jié)束退出;
[0007] 視圖單元,顯示各個節(jié)點及節(jié)點連接關(guān)系;在流程執(zhí)行時,顯示節(jié)點的調(diào)試執(zhí)行情 況、屬性變化;所述的節(jié)點的屬性為節(jié)點中的函數(shù)表達式;
[0008] 布局單元,根據(jù)外部指令調(diào)節(jié)顯示單元中內(nèi)置流程節(jié)點或擴展流程節(jié)點的位置、 圖層、大小、角度;
[0009] 節(jié)點編輯單元,使用變量管理單元調(diào)整后的變量、表達式擴展接口擴展的對象及 函數(shù)編輯內(nèi)置流程節(jié)點或擴展流程節(jié)點的屬性,其中,節(jié)點的屬性支持外部表達式編輯;
[0010] 撤銷重做單元,撤銷布局單元或節(jié)點編輯單元在顯示單元中的動作,恢復(fù)撤銷布 局單元或節(jié)點編輯單元在顯示單元中的動作前布局單元或節(jié)點編輯單元在顯示單元中的 動作;
[0011] 變量管理單元,接收外部指令對變量進行增加、刪除、修改;
[0012] 調(diào)試及執(zhí)行模塊,包括調(diào)試單元、執(zhí)行單元;
[0013] 執(zhí)行單元,當接收外部發(fā)送的測試流程開始指令時,從開始節(jié)點按照節(jié)點連接關(guān) 系開始執(zhí)行,當接收外部發(fā)送的測試流程停止指令時,在當前執(zhí)行節(jié)點終止,當節(jié)點連接關(guān) 系執(zhí)行完畢時,執(zhí)行終止;
[0014] 調(diào)試單元,從外部獲取斷點位置信息并監(jiān)測暫停指令、繼續(xù)指令、下一步指令、進 入指令、跳出指令、跳過指令、斷點清除指令,按照斷點位置信息在對應(yīng)的節(jié)點前設(shè)置斷點; 當監(jiān)測到暫停指令時,在當前調(diào)試節(jié)點的下一節(jié)點暫停,當監(jiān)測到繼續(xù)指令時,繼續(xù)調(diào)試執(zhí) 行下一節(jié)點,當監(jiān)測到下一步指令時,調(diào)試執(zhí)行當前節(jié)點后暫停,當監(jiān)測到進入指令且當前 節(jié)點是容器節(jié)點時,進入當前容器節(jié)點并在容器節(jié)點中的第一個節(jié)點前暫停,當監(jiān)測到進 入指令且當前節(jié)點不是容器節(jié)點時,調(diào)試執(zhí)行當前節(jié)點后暫停,當監(jiān)測到跳出指令且當前 節(jié)點在容器節(jié)點內(nèi)時,調(diào)試執(zhí)行當前容器節(jié)點內(nèi)其余節(jié)點,并在當前容器節(jié)點的下一個節(jié) 點前暫停,當監(jiān)測到跳出指令且當前節(jié)點不在容器節(jié)點內(nèi)時,調(diào)試執(zhí)行當前節(jié)點后暫停,當 監(jiān)測到跳過指令時,不調(diào)試執(zhí)行當前節(jié)點并在下一節(jié)點前暫停,當監(jiān)測到斷點清除指令時, 清除所有的斷點;所述的斷點為測試流程中設(shè)置暫停的內(nèi)置流程節(jié)點或擴展流程節(jié)點,當 調(diào)試到設(shè)置斷點的內(nèi)置流程節(jié)點或擴展流程節(jié)點時,調(diào)試暫停執(zhí)行;所述的容器節(jié)點為內(nèi) 部包含至少兩個節(jié)點的節(jié)點結(jié)構(gòu)體;
[0015] 數(shù)據(jù)監(jiān)視模塊,監(jiān)視執(zhí)行過程或調(diào)試過程并實時顯示。
[0016] 日志模塊,在執(zhí)行過程或調(diào)試過程中記錄節(jié)點的調(diào)試執(zhí)行情況、屬性變化;
[0017] 接口模塊,包括節(jié)點擴展接口、變量類型擴展接口、表達式擴展接口;
[0018] 節(jié)點擴展接口,接收外部滿足用戶需求的節(jié)點屬性,根據(jù)節(jié)點屬性生成節(jié)點,并作 為擴展流程節(jié)點并添加到流程節(jié)點工具箱單元,其中,節(jié)點包括節(jié)點名稱屬性、圖標屬性、 檢索函數(shù)、自檢函數(shù)、節(jié)點初始化函數(shù)、節(jié)點執(zhí)行函數(shù)、反初始化函數(shù)、編輯器獲取接口;
[0019] 變量類型擴展接口,接收外部滿足用戶需求的變量類型;
[0020] 表達式擴展接口,接收外部滿足用戶需求的表達式對象及函數(shù);
[0021] 集成接口,與外部測試系統(tǒng)連接,并將測試流程發(fā)送給外部測試系統(tǒng)執(zhí)行。
[0022] 所述的變量類型包括布爾、數(shù)字、字符串、數(shù)組、整數(shù)、浮點、字節(jié)。
[0023] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0024] (1)本發(fā)明通過流程節(jié)點擴展接口的工作方法,克服了現(xiàn)有技術(shù)不易增加自定義 測試功能的缺點,使得測試功能的擴充簡單方便;
[0025] (2)本發(fā)明通過變量類型擴展接口的工作方法,克服了現(xiàn)有技術(shù)無法增加特定數(shù) 據(jù)類型的缺點,提高了測試流程的兼容性;
[0026] (3)本發(fā)明通過表達式擴展接口的工作方法,克服了現(xiàn)有技術(shù)不能配置動態(tài)計算 值,且無法擴展函數(shù)的缺點,具有計算靈活的優(yōu)點;
[0027] (4)本發(fā)明通過調(diào)試單元的工作過程,克服了現(xiàn)有技術(shù)對測試流程調(diào)試難和糾錯 難的缺點,使得測試流程調(diào)試具有分布調(diào)試的優(yōu)點;
[0028] (5)本發(fā)明通過流程設(shè)計模塊下的各個單元的工作方式,克服了現(xiàn)有技術(shù)的測試 過程或流程編寫門檻高和難度大的缺點,使測試流程的編寫更簡明易懂。
【附圖說明】
[0029] 圖1為本發(fā)明一種支持多語言的測試流程生成、調(diào)試、執(zhí)行系統(tǒng)結(jié)構(gòu)原理圖。
【具體實施方式】
[0030] 本發(fā)明提出一種支持多語言的測試流程生成、調(diào)試、執(zhí)行系統(tǒng),該系統(tǒng)基于面向接 口程序設(shè)計模式,提供基本節(jié)點、變量類型、表達式等通用接口定義,方便擴展,實現(xiàn)了工業(yè) 測試自動化。本發(fā)明用戶需求包括
[0031] (1)提供通用的測試流程生成、執(zhí)行、調(diào)試功能
[0032] 支持流程節(jié)點復(fù)制、粘貼、剪切、撤銷、重做、對齊、節(jié)點相同尺寸、間隔相同等基本 功能;支持斷點調(diào)試、單步調(diào)試、編譯執(zhí)行、修改后繼續(xù)執(zhí)行、從指定的節(jié)點啟動執(zhí)行等功 能。
[0033] (2)支持多種腳本語言擴展
[0034] 支持多種語言腳本語言的擴展及接入,比如IronPython、JavaScript等。
[0035] (3)提供基本測試流程節(jié)點及支持節(jié)點擴展
[0036] 基本的測試流程節(jié)點包括:開始節(jié)點、結(jié)束節(jié)點、延時節(jié)點、賦值節(jié)點、表達式節(jié) 點、交互節(jié)點、分支節(jié)點、提示節(jié)點、指令節(jié)點、子流程節(jié)點、序列節(jié)點、IronPython腳本節(jié) 點、JavaScript腳本節(jié)點,同時,本發(fā)明系統(tǒng)能夠針對不同的測試業(yè)務(wù)要求能夠擴展?jié)M足自 身需求的測試節(jié)點。
[0037] (4)支持表達式擴展
[0038] 可根據(jù)算法需求擴展自定義的表達式函數(shù)和表達式對象,可在節(jié)點屬性編輯中使 用表達式,下面結(jié)合附圖對本發(fā)明系統(tǒng)進行詳細說明。
[0039] -種支持多語言的測試流程生成、調(diào)試、執(zhí)行系統(tǒng)如圖1所示,包括流程設(shè)計模 塊、調(diào)試及執(zhí)行模塊、接口模塊、日志模塊、數(shù)據(jù)監(jiān)視模塊,其中
[0040] 流程設(shè)計模塊,包括視圖單元、變量管理單元、節(jié)點工具箱單元、布局單元、撤銷重 做單元、檢索單元、節(jié)點編輯單元;
[0041] 流程節(jié)點工具箱單元,包括內(nèi)置流程節(jié)點、擴展流程節(jié)點,接收外部添加指令將內(nèi) 置流程節(jié)點、擴展流程節(jié)點添加到視圖單元并建立連接關(guān)系;其中,本發(fā)明系統(tǒng)的內(nèi)置流程 節(jié)點如下:
[0042]
[0044] 視圖單元,顯示各個內(nèi)置流程節(jié)點、擴展流程節(jié)點及連接關(guān)系;當流程執(zhí)行時顯示 各個內(nèi)置流程節(jié)點、擴展流程節(jié)點的運行狀態(tài);
[0045] 布局單元,根據(jù)外部指令調(diào)節(jié)顯示單元中內(nèi)置流程節(jié)點及擴展流程節(jié)點的位置、 圖層、大小、角度;
[0046] 節(jié)點編輯單元,編輯內(nèi)置流程節(jié)點及擴展流程節(jié)點的屬性,其中,內(nèi)置流程節(jié)點及 擴展流程節(jié)點的部分屬性支持表達式編輯。在屬性支持表達式編輯時,可接收外部表達式 輸入,表達式中可使用通過變量管理單元增加的變量,及通過表達式擴展接口擴展的對象 和函數(shù),如延時節(jié)點中的延時時長可接受表達式編輯;
[0047] 撤銷重做單元,撤銷布局單元、節(jié)點編輯單元在顯示單元中的動作,恢復(fù)撤銷布 局單元、節(jié)點編輯單元在顯示單元中的動作前布局單元、節(jié)點編輯單元在顯示單元中的動 作;
[0048] 變量管理單元,接收外部指令對變量進行增加、刪除、修改處理,其中,本發(fā)明系統(tǒng) 支持的變量類型如下:
[0051] 調(diào)試及執(zhí)行模塊,包括調(diào)試單元、執(zhí)行單元;
[0052] 執(zhí)行單元,當接收外部發(fā)送的開始指令時,從開始節(jié)點按照節(jié)點連接關(guān)系開始執(zhí) 行,當接收外部發(fā)送的停止指令時,在當前執(zhí)行