麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種軟件自動化測試系統及方法

文檔序號:6438531閱讀:514來源:國知局
專利名稱:一種軟件自動化測試系統及方法
技術領域
本發明涉及一種軟件自動化測試系統及方法,具體地說,涉及基于圖形視圖的軟件自動化測試系統及方法,通過該系統或方法,用戶可以很輕松地完成絕大多數類型軟件的自動化功能測試。
背景技術
傳統的軟件自動化測試工具或框架都是以純代碼的形式實現業務流程控制,這導致了以下幾個問題開發和維護測試腳本的成本很高;實施自動化測試對工程師的編碼能力有著很苛刻的要求;只能采用函數封裝或類封裝的方法實現腳本分層,增加了腳本的復雜程度。正因為這些原因,許多項目團隊對軟件自動化測試望而卻步。使用本發明提出的基于圖形視圖的軟件自動化測試框架平臺及方法,用戶可以將每一個步驟封裝在一個獨立的、基于圖形視圖的業務節點中,這些節點可以在測試場景界面中隨意拖動,通過添加有向連線進行連接,從而構建出一個完整的業務流程。業務節點可以在當前場景或不同場景中隨意復制粘貼,只要簡單修改連線順序就可以構建一個新的業務流程。這種業務流程構建方式就像繪制流程圖一樣直觀和方便。另外,參數化是自動化測試中一個非常重要的環節。使用傳統工具實現這一工作往往十分繁瑣,需要設置很多選項,并使腳本變得復雜和難以維護。使用本發明提出的基于圖形視圖的軟件自動化測試框架平臺及方法,參數化可以簡單地通過拖動鼠標,繪制一個循環體的方式實現(循環體的覆蓋范圍就是參數化的作用范圍)。接下來只要在循環體對應的數據表格中填入參數名稱和數值,參數化就完成了。最后,傳統的軟件自動化測試工具一般根據對象的句柄等屬性值來進行對象識別,而且對于不同的對象類型,往往需要不同的插件支持。對于一些采用了非標準控件的被測程序,傳統工具就顯得力不從心了。而在本發明提出的基于圖形視圖的軟件自動化測試框架平臺及方法中,對象識別是采用先進的計算機視覺技術來完成的,這不僅使得自動化測試腳本的開發和維護難度大大降低,還使得傳統自動化測試方法中讓人頭痛的跨應用對象識別、非標準對象識別、結果捕獲等問題得以迎刃而解。

發明內容
本發明的軟件自動化測試系統包括腳本編輯模塊、場景組織模塊、參數化模塊、 調試和運行模塊、測試報告輸出模塊。所述腳本編輯模塊提供一個標準的文本編輯界面,借此可快捷輸入自動化測試常用函數;腳本編輯模塊還允許用戶使用復制粘貼或拖放的方式在腳本中加入圖片;另外, 通過腳本編輯模塊還可以快速截圖,使得腳本中圖像片段的獲取、存儲和處理更加方便。場景組織模塊提供一個用于搭建測試場景的圖形視圖界面,借此可以創建多種圖形元素,并且可以拖動、復制、剪切、粘貼、刪除該圖形元素,還可以將多個圖形元素用有向連線連接起來,從而構成一個完整的測試過程。所述場景組織模塊的核心父類是Qt ( 一種跨平臺的C++圖形用戶界面庫)中用于組織二維圖元的QGraphicdcene類(用于組織二維圖元的類)。參數化模塊提供參數表格編輯界面,借此可以進行參數信息導入、導出、循環次數設定、參數表格規模設定。所述參數化模塊中表達參數表格的核心父類是Qt中QTextTable 類(用于表達參數表格的類)。調試和運行模塊能夠整合處理場景中的腳本信息,生成Python (—種面向對象、 直譯式計算機程序設計語言)腳本文件和圖片文件,并調用外部接口運行腳本。測試報告輸出模塊提供輸出測試結果的專用函數,并依據用戶的需要生成 HTML (Hypertext Markup Language,即超文本標記語言,是用于描述網頁文檔的一種標記語言)格式的測試報告文件和文本格式的測試腳本運行日志文件。所述測試報告輸出模塊具有維護框架平臺的日志文件的功能。根據本發明的軟件自動化測試系統,其基于圖形視圖的軟件自動化測試方法包括如下步驟步驟1,場景組織模塊進行業務流分解;步驟2,腳本編輯模塊開發業務節點;步驟3,場景組織模塊構建業務流;步驟4,對腳本進行必要的參數化(由參數化模塊、調試和運行模塊完成);步驟5,調試和運行模塊調試運行業務流;步驟6,測試報告輸出模塊輸出測試報告。以上步驟與各模塊的對應關系如圖14所示。在所述步驟1中,為了提高腳本的可復用性,或是為了實現協作式開發,首先通過場景組織模塊,把一個業務流程分解為N個步驟,每個步驟用一個業務節點來封裝和實現; 分解的策略和顆粒度完全由用戶根據實際需要決定。在所述步驟2中,完成業務流程分解后,在測試場景中加入業務節點,在腳本編輯模塊提供的腳本編輯界面上開發可視化測試腳本。所述腳本遵循Python 2. 5格式規范,在腳本中可以使用任何Python 2. 5支持的系統函數或純Python模塊。腳本編輯模塊在SIKULI API (基于圖像腳本語言SIKULI的一套應用程序編程接口)的基礎上擴展了一批自動化測試專用函數,形成了獨有的一套 APKApplication Programming hterface,應用程序編程接口),其中的所有函數均在腳本編輯界面上以快捷方式的形式列出,雙擊鼠標即可在腳本中加入指定的函數。在使用SIKULI API函數的時候,可以將硬盤中的圖片文件(支持常見的png、jpg、 gif、bmp等格式)復制粘貼、拖動到腳本中作為函數的參數;也可以將其它格式文檔(如 Word, PowerPoint)中的圖像片段以復制粘貼的方式插入到腳本中。開發完成的可視化測試腳本如圖2所示。此外,腳本編輯模塊還提供了快速截圖功能,使得腳本中圖像片段的獲取、存儲和處理更加方便。快速截圖功能示意圖如圖3所示。腳本編輯模塊的核心父類是Qt中用于純文本或富文本編輯的QTextEdit類(用于純文本或富文本編輯的類)。在所述步驟3中,完成業務節點中腳本的開發后,可以在場景組織模塊提供的圖形視圖界面中將多個業務節點用有向連線連接起來,從而構建一個完整的業務流。構建完成的業務流如圖4所示。場景組織模塊的核心父類是Qt中用于組織二維圖元的QGraphicdcene 類。場景中的業務節點、有向連線、循環體等的核心父類是Qt中用于表示二維圖元的 QGraphicsItem類(用于表示二維圖元的類)。在所述步驟4中,完成業務流的構建后,可以根據測試的需要,使用參數化模塊對腳本進行必要的參數化。在測試場景中繪制一個循環體,通過縮放、移動等操作調整其覆蓋范圍,將與參數化有關的業務節點包含在這一范圍內,如圖5所示;之后雙擊循環體打開參數表格編輯界面,編輯各個參數的名稱和取值,如圖6所示;最后修改業務節點中的腳本,將需要參數化的常量替換為參數名。參數化模塊中表達參數表格的核心父類是Qt中QTextTable類。為了實現循環嵌套,每一個業務節點對象中都有一個循環體列表,記錄該業務節點在哪些循環體范圍內。在生成可執行的Python腳本時,調試和運行模塊將根據各個業務節點的循環體列表計算出循環的作用范圍,確定語句的縮進量,并在Python腳本中加入FOR循環結構(Python中用于流程控制的一種語法結構)。這一算法的原理示意圖如圖7所示。在所述步驟5中,完成必要的參數化之后,運行整個業務流。調試和運行模塊將業務流中各個業務節點的腳本信息整合起來,加入API函數定義、Python模塊引入、異常處理等信息,生成臨時腳本文件和臨時圖片文件。之后調用SIKULI (—種圖形腳本語言)腳本運行接口來執行腳本。調試和運行模塊的工作流程如圖8所示。在業務流運行完成后,在步驟6中,測試報告輸出模塊將根據用戶需要生成一份 HTML格式的測試報告(是否生成報告取決于業務流中是否加入了報告節點),將腳本中報告函數(包括testfassed、testFailed, testlnfo)定義的測試結果信息打印到測試報告中。生成的測試報告如圖9所示。另外測試報告輸出模塊還負責維護框架平臺的日志文件。日志文件中的信息有以下兩種腳本運行中產生的所有異常信息;用戶使用printLog函數自定義的日志信息。日志文件的保存位置為框架平臺臨時目錄SF temp下的log文件夾,單個日志文件只保存當天的運行日志信息,日志文件名即當天日期,如“2011-05-16. log”。


圖1為本發明的軟件自動化測試系統結構方框圖;圖2為在本發明基于圖形視圖的軟件自動化測試系統平臺上開發的可視化測試腳本示例;圖3為本發明基于圖形視圖的軟件自動化測試框架系統提供的快速截圖功能使用示例;圖4為在本發明基于圖形視圖的軟件自動化測試系統平臺上搭建的業務流示例;圖5為在本發明基于圖形視圖的軟件自動化測試系統平臺上實現參數化的操作示例;圖6為本發明基于圖形視圖的軟件自動化測試系統平臺提供的參數表格編輯窗口示意圖7為本發明基于圖形視圖的軟件自動化測試系統平臺根據圖形視圖生成腳本循環結構的算法示意圖;圖8為本發明基于圖形視圖的軟件自動化測試系統平臺的調試和運行模塊的工作流程圖;圖9為本發明基于圖形視圖的軟件自動化測試系統平臺生產的測試報告示例;圖10為本發明的軟件自動化測試方法流程圖;圖11為示例業務流程的說明;圖12為本發明基于圖形視圖的軟件自動化測試框架平臺實現循環嵌套的場景示意圖;圖13為在業務流中加入報告節點的示意圖;圖14為本發明的軟件自動化測試方法各個步驟與執行該步驟的各模塊的對應關系圖。
具體實施例方式本發明中使用到的部分術語圖元指測試場景中的圖形視圖構件,圖元的種類目前有業務節點、有向連線、循環體三種。在本發明的基于圖形視圖的軟件自動化測試框架平臺中,對圖元的操作類似于在Visio 等流程圖軟件中對圖形組件的操作。業務節點指測試場景中的一種圖元,可以通過鼠標拖放改變其位置。業務節點中包含腳本信息。一個業務節點可以對應一個測試步驟、一個測試用例或一個子業務流程,顆粒度的劃分由用戶根據需要決定。業務流指由一系列業務節點通過有向連線連接起來所形成的節點序列,代表由這些業務節點組裝而成的一個完整的業務流程。一個業務流中最少有兩個業務節點,而且具有唯一的起點和終點。報告節點一種特殊的業務節點。將其加入業務流的唯一目的是在運行業務流后,生成一份 HTML格式的測試報告。循環體指測試場景中的一種圖元,外觀為矩形,可以通過拖拽四角和四邊中點改變其形狀,也可以通過鼠標拖放改變其位置。循環體中包含腳本的參數信息和循環執行次數配置信息,其作用域由其在場景中的覆蓋區域決定。有向連線指測試場景中的一種圖元,外形為直線型箭頭。在本發明的基于圖形視圖的軟件自動化測試框架平臺中,用這種圖元連接兩個業務節點,表示這兩個節點在業務流上的先后關系。循環體層級
指循環體在圖形視圖上的層次水平,層級高的循環體會覆蓋層級低的循環體。在本發明的基于圖形視圖的軟件自動化測試框架平臺中,用層級表示循環的內外層嵌套關系,層級越高的循環體其嵌套深度也越大。場景編輯模式指某種特定的場景編輯效果。一般通過工具欄來選擇和切換。在本發明的基于圖形視圖的軟件自動化測試框架平臺中,目前提供五種場景編輯模式,包括默認模式、增加業務節點模式、連線模式、增加循環模式、增加報告節點模式。腳本層和場景層在本發明的基于圖形視圖的軟件自動化測試框架平臺中,自動化測試工程的建設分為兩個層次腳本層和場景層。腳本層的主要任務是開發測試腳本,實現諸如鼠標點擊、 鍵盤輸入、輸出觀察等一系列基本的測試動作,從而完成一個相對獨立的業務環節;場景層的主要任務是通過圖形視圖的手段將一系列業務節點聯系起來,構成一條完整的業務流, 并完成參數化和循環設置,以實現一個或多個完整的測試過程。SIKULI在自動化軟件測試領域中應用計算機視覺技術,是近兩年來在業界逐漸引起關注的一個前沿課題,并且已經出現了一些成功的案例——SIKULI正是其中的優秀典范。這個開源項目提供了一套用于可視化編程的API,使得“用截圖來編程”成為了可能。如圖1所示,本發明的基于圖形視圖的軟件自動化測試框架平臺包括腳本編輯模塊、場景組織模塊、參數化模塊、調試和運行模塊、測試報告輸出模塊。該框架平臺的開發基于 Qt 4. 7. O0腳本編輯模塊給出了一個標準的文本編輯界面,并在此基礎上提供了自動化測試常用函數快捷輸入功能,鼠標雙擊函數快捷方式即可在腳本中插入此函數;腳本編輯模塊還允許用戶使用復制粘貼或拖放的方式在腳本中加入圖片;另外,腳本編輯模塊還提供了快速截圖功能,使得腳本中圖像片段的獲取、存儲和處理更加方便。場景組織模塊給出了一個用于搭建測試場景的圖形視圖界面,在這里用戶可以創建多種圖形元素,并對圖形元素進行拖動、復制、剪切、粘貼、刪除等操作,還可以將多個圖形元素(每個圖形元素代表一定的測試步驟或內容)用有向連線連接起來,從而構成一個完整的測試過程。所述場景組織模塊的核心父類是Qt中用于組織二維圖元的 QGraphicsScene 類。參數化模塊給出了一個參數表格編輯界面,并提供參數信息導入、導出、循環次數設定、參數表格規模設定等功能。所述參數化模塊中表達參數表格的核心父類是Qt中 QTextTable 類。調試和運行模塊用于對場景中的腳本信息進行整合處理,生成Python腳本文件和圖片文件,并調用外部接口運行腳本。測試報告輸出模塊提供了輸出測試結果的專用函數,并依據用戶的需要生成HTML 格式的測試報告文件和文本格式的測試腳本運行日志文件。所述測試報告輸出模塊具有維護框架平臺的日志文件的功能。如圖10所示,本發明的軟件自動化測試系統,其基于圖形視圖的軟件自動化測試方法包括如下步驟
步驟1,業務流分解(由場景組織模塊完成);步驟2,開發業務節點(由腳本編輯模塊完成);步驟3,構建業務流(由場景組織模塊完成);步驟4,參數化(由參數化模塊、調試和運行模塊完成);步驟5,調試和運行模塊調試運行業務流;步驟6,測試報告輸出模塊輸出測試報告。以上步驟與各模塊的對應關系如圖14所示。在所述步驟1中,為了提高腳本的可復用性,或是為了實現協作式開發,用戶可以首先把一個業務流程分解為N個步驟,每個步驟用一個業務節點來封裝和實現。分解的策略和顆粒度完全由用戶根據實際需要決定。在所述步驟2中,完成業務流程分解后,用戶可以在測試場景中加入業務節點,在腳本編輯模塊提供的腳本編輯界面上開發可視化測試腳本。腳本遵循Python 2. 5格式規范,用戶可以在腳本中使用任何Python 2. 5支持的系統函數或純Python模塊。腳本編輯模塊在SIKULI API的基礎上擴展了一批自動化測試專用函數,形成了自己獨有的一套API, 其中的所有函數均在腳本編輯界面上以快捷方式的形式列出,雙擊鼠標即可在腳本中加入指定的函數。在使用SIKULI API函數的時候,用戶可以通過復制粘貼、拖動等方式將硬盤中的圖片文件(支持常見的png、jpg、gif、bmp等格式)直接插入到腳本中作為函數的參數;也可以將其它格式文檔(如Word、PowerPoint)中的圖像片段以復制粘貼的方式插入到腳本中。開發完成的可視化測試腳本如圖2所示。此外,腳本編輯模塊還提供了快速截圖功能,使得腳本中圖像片段的獲取、存儲和處理更加方便。快速截圖功能示意圖如圖3所示。腳本編輯模塊的核心父類是Qt中用于純文本或富文本編輯的QTextEdit類。完成業務節點中腳本的開發后,用戶可以在場景組織模塊提供的圖形視圖界面中將多個業務節點用有向連線連接起來,從而構建一個完整的業務流。構建完成的業務流如圖4所示。場景組織模塊的核心父類是Qt中用于組織二維圖元的QGraphicdcene 類。場景中的業務節點、有向連線、循環體等的核心父類是Qt中用于表示二維圖元的 QGraphicsItem 類。完成業務流的構建后,在所述步驟4中,用戶可以根據測試的需要對腳本進行必要的參數化。這時用戶可以在測試場景中繪制一個循環體,通過縮放、移動等操作調整其覆蓋范圍,將與參數化有關的業務節點包含在這一范圍內,如圖5所示;之后雙擊循環體打開參數表格編輯界面,編輯各個參數的名稱和取值,如圖6所示;最后修改業務節點中的腳本,將需要參數化的常量替換為參數名。參數化模塊中表達參數表格的核心父類是Qt中 QTextTable 類。為了實現循環嵌套,每一個業務節點對象中都有一個循環體列表,記錄該業務節點在哪些循環體范圍內。在生成可執行的Python腳本時,調試和運行模塊將根據各個業務節點的循環體列表計算出循環的作用范圍,確定語句的縮進量,并在Python腳本中加入 FOR循環結構。這一算法的原理示意圖如圖7所示。完成必要的參數化之后,在所述步驟5中,用戶就可以運行整個業務流了。調試和運行模塊將業務流中各個業務節點的腳本信息整合起來,加入API函數定義、Python模塊引入、異常處理等信息,生成臨時腳本文件和臨時圖片文件。之后調用SIKULI腳本運行接口來執行腳本。調試和運行模塊的工作流程如圖8所示。在業務流運行完成后,在所述步驟6中,測試報告輸出模塊將根據用戶需要生成一份HTML格式的測試報告(是否生成報告取決于業務流中是否加入了報告節點),將腳本中報告函數(包括testfassecUtestFailecUtesthfo)定義的測試結果信息打印到測試報告中。生成的測試報告如圖9所示。另外測試報告輸出模塊還負責維護框架平臺的日志文件。日志文件中的信息有以下兩種腳本運行中產生的所有異常信息;用戶使用printLog 函數自定義的日志信息。日志文件的保存位置為框架平臺臨時目錄SF_temp下的log文件夾,單個日志文件只保存當天的運行日志信息,日志文件名即當天日期,如“2011-05-16. log,,。現舉例說明如下用戶要對一個網上銀行繳納電話費的交易流程進行自動化測試。首先對這個業務流程進行分解,將其劃分為“登錄”、“查詢”、“交易”、“退出”四個步驟。 各個步驟的操作說明和預期結果如圖11所示。用戶為每一個步驟創建一個業務節點,在腳本編輯模塊提供的腳本編輯界面上開發可視化測試腳本,以實現該步驟對應的操作和結果檢查。完成的腳本如圖2所示。編寫腳本的過程中,用戶可以隨時調用調試與運行模塊執行當前業務節點中的腳本。調試與運行模塊將根據腳本信息生成臨時Python腳本文件和臨時圖片文件,繼而調用SIKULI腳本運行接口來執行腳本。完成各個業務節點的開發后,用戶需要在場景組織模塊提供的圖形視圖界面中將這四個業務節點用有向連線連接起來,從而構建一個完整的業務流。構建完成的業務流如圖4所示。如果用戶希望測試多個月份的繳費情況,則需要對“查詢”、“交易”兩個業務節點中的月份信息進行參數化。這時用戶可以在測試場景中繪制一個循環體,將“查詢”和“交易”兩個業務節點囊括在循環區域內,如圖5所示;然后,用戶可以雙擊循環體打開參數表格編輯界面,編輯月份參數的名稱和取值,如圖6所示;最后修改業務節點中的腳本,將月份常量替換為參數名“time”。如果用戶還希望測試這樣的情形多個不同用戶分別對多個時間段進行繳費。這不僅意味著需要將“登陸”節點中的用戶名和密碼進行參數化,還意味著需要實現循環嵌套。這時,用戶可以通過在上面場景的基礎上再添加一重循環體(循環嵌套的內外層關系是通過循環體在視圖上的層級關系來表達的),如圖12所示。至此,用戶就可以運行整個業務流了。調試和運行模塊將業務流中各個業務節點的腳本信息整合起來,加入API函數定義、Python模塊引入、異常處理等信息,生成臨時腳本文件和臨時圖片文件。之后調用SIKULI腳本運行接口來執行腳本。調試和運行模塊的工作流程如圖8所示。如果用戶希望在運行業務流之后生成一份測試報告,則需要在業務流中加入報告節點,如圖13所示。測試報告將根據用戶在腳本中的設定輸出測試結果信息。
權利要求
1.一種基于圖形視圖的軟件自動化測試系統,其特征在于包括腳本編輯模塊、場景組織模塊、參數化模塊、調試和運行模塊、測試報告輸出模塊。
2.根據權利要求1所述的軟件自動化測試系統,其中,所述腳本編輯模塊提供一個標準的文本編輯界面,借此能夠快捷輸入自動化測試常用函數;所述腳本編輯模塊允許用戶使用復制粘貼或拖放的方式在腳本中加入圖片,通過腳本編輯模塊能夠快速截圖,使得腳本中圖像片段的獲取、存儲和處理更加方便。
3.根據權利要求1所述的軟件自動化測試系統,其中,所述的場景組織模塊提供一個用于搭建測試場景的圖形視圖界面,借此創建多種圖形元素,并且能夠拖動、復制、剪切、粘貼、刪除該圖形元素,還能夠將多個圖形元素用有向連線連接起來,從而構成一個完整的測試過程;所述場景組織模塊的核心父類是Qt中的QGraphicdcene類。
4.根據權利要求1所述的軟件自動化測試系統,其中,所述的參數化模塊提供參數表格編輯界面,借此進行參數信息導入、導出、循環次數設定、參數表格規模設定;所述參數化模塊的核心父類是Qt中QTextTable類。
5.根據權利要求1所述的軟件自動化測試系統,其中,所述的調試和運行模塊能夠整合處理場景中的腳本信息,生成Python腳本文件和圖片文件,并調用外部接口運行腳本。
6.根據權利要求1所述的軟件自動化測試系統,其中,所述的測試報告輸出模塊提供輸出測試結果的專用函數,并依據用戶的需要生成HTML格式的測試報告文件和文本格式的測試腳本運行日志文件;所述測試報告輸出模塊具有維護框架平臺的日志文件的功能。
7.一種基于圖形視圖的軟件自動化測試方法,其特征在于包括如下步驟 步驟1,場景組織模塊進行業務流分解;步驟2,腳本編輯模塊開發業務節點; 步驟3,場景組織模塊構建業務流; 步驟4,對腳本進行必要的參數化; 步驟5,調試和運行模塊調試運行業務流; 步驟6,測試報告輸出模塊輸出測試報告。
8.根據權利要求7所述的軟件自動化測試方法,其中,在所述步驟1中,為了提高腳本的復用性,或是為了實現協作式開發,首先通過場景組織模塊,把一個業務流程分解為N個步驟,每個步驟用一個業務節點來封裝和實現;分解的策略和顆粒度完全由用戶根據實際需要決定;在所述步驟2中,在測試場景中加入業務節點,在腳本編輯模塊提供的腳本編輯界面上開發可視化測試腳本;在所述步驟3中,在場景組織模塊提供的圖形視圖界面中將多個業務節點用有向連線連接起來,從而構建一個完整的業務流;在所述步驟4中,根據測試的需要,使用參數化模塊對腳本進行必要的參數化,S卩,在測試場景中繪制一個循環體,通過縮放、移動操作調整其覆蓋范圍,將與參數化有關的業務節點包含在這一范圍內;然后在打開的參數表格編輯界面編輯各個參數的名稱和取值;最后修改業務節點中的腳本,將需要參數化的常量替換為參數名;在所述步驟5中,運行整個業務流,調試和運行模塊將業務流中各個業務節點的腳本信息整合起來,加入API函數定義、Python模塊引入、異常處理信息,生成臨時腳本文件和臨時圖片文件,然后調用SIKULI腳本運行接口來執行腳本;在所述步驟6中,所述測試報告輸出模塊將根據用戶需要生成一份HTML格式的測試報告,將腳本中報告函數定義的測試結果信息打印到測試報告中。
9.根據權利要求8所述的軟件自動化測試方法,其中,在所述步驟2中,所述腳本遵循Python 2. 5格式規范,在腳本中使用任何Python 2. 5 支持的系統函數或純Python模塊;所述腳本編輯模塊在SIKULI API的基礎上擴展了一批自動化測試專用函數,形成了獨有的一套API,其中的所有函數均在腳本編輯界面上以快捷方式的形式列出,雙擊鼠標即可在腳本中加入指定的函數;在使用SIKULI API函數的時候,將硬盤中的圖片文件復制粘貼、拖動到腳本中作為函數的參數;或者將其它格式文檔中的圖像片段以復制粘貼的方式插入到腳本中;所述腳本編輯模塊能夠快速截圖,所述腳本編輯模塊的核心父類是Qt中的QTextEdit類;在所述步驟3中,所述場景組織模塊的核心父類是Qt中用于組織二維圖元的 QGraphicsScene類;場景中的業務節點、有向連線、循環體等的核心父類是Qt中的 QGraphicsItem 類;在所述步驟4中,參數化模塊中表達參數表格的核心父類是Qt中QTextTable類;為了實現循環嵌套,每一個業務節點對象中都有一個循環體列表,記錄該業務節點在哪些循環體范圍內;在生成可執行的Python腳本時,調試和運行模塊將根據各個業務節點的循環體列表計算出循環的作用范圍,確定語句的縮進量,并在Python腳本中加入FOR循環結構。
全文摘要
本發明提供一種基于圖形視圖的軟件自動化測試系統和方法。所述系統包括腳本編輯模塊、場景組織模塊、參數化模塊、調試和運行模塊、測試報告輸出模塊。所述方法包括步驟場景組織模塊進行業務流分解;腳本編輯模塊開發業務節點;場景組織模塊構建業務流;對腳本進行必要的參數化;調試和運行模塊調試運行業務流;測試報告輸出模塊輸出測試報告。
文檔編號G06F11/36GK102521120SQ20111036297
公開日2012年6月27日 申請日期2011年11月16日 優先權日2011年11月16日
發明者周海旭 申請人:中國民航信息網絡股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 定襄县| 北宁市| 弥渡县| 连城县| 榆树市| 乌苏市| 敦煌市| 石城县| 云和县| 贡山| 芒康县| 定兴县| 洞头县| 海安县| 新蔡县| 祁连县| 石狮市| 岳普湖县| 新晃| 黄石市| 皮山县| 松江区| 乌鲁木齐市| 丰台区| 烟台市| 会泽县| 芮城县| 高平市| 定陶县| 洛南县| 桓仁| 石楼县| 长宁区| 栖霞市| 万年县| 海口市| 弥勒县| 米泉市| 台安县| 敦化市| 福安市|