本發明涉及自動化測試技術領域,更具體地說,涉及面向多執行技術的自動化測試集中調度執行方法及系統。
背景技術:
自動化測試調度技術主要是將批量的自動化測試任務根據執行機狀態批量分發到各個自動化測試執行機上執行。
目前,業界的自動化測試調度方案主要步驟是首先監測執行機狀態,然后根據執行機情況,將批量提交的測試腳本分配給相應的執行機,從而實現分布式執行。
由于現有方案的著眼點在于批量分發功能,主要是針對單一自動化測試工具進行的,針對于多種不同工具下的自動化測試腳本缺乏調度功能,同時缺乏腳本的屬性管理與調度,使得針對多工具技術、多執行屬性的腳本執行靈活性差,執行成本高。因此,在自動化測試集中調度的過程中,如何提高執行靈活性且降低執行成本是一項亟待解決的問題。
技術實現要素:
有鑒于此,本發明的目的在于提供一種面向多執行技術的自動化測試集中調度執行方法,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高執行靈活性且降低執行成本。
為實現上述目的,本發明提供如下技術方案:
一種面向多執行技術的自動化測試集中調度執行方法,包括:
維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本;
基于所述執行屬性監控腳本執行機的運行狀態,獲取自動化腳本,并發送所述自動化腳本;
基于接收到的所述自動化腳本,解析出所述自動化腳本的信息,調用相應的執行工具生成執行結果和執行日志;
保存所述執行結果和執行日志。
優選地,所述維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本包括:
配置腳本的執行屬性,并將配置結果保存至數據庫中的腳本屬性表中;
配置腳本執行機的屬性。
優選地,所述基于所述執行屬性監控腳本執行機的運行狀態,獲取自動化腳本,并發送所述自動化腳本包括:
將用戶批量發起的自動化測試腳本按照先到先服務的原則放入腳本執行隊列當中,逐一對隊列中的腳本屬性信息進行分析,獲取腳本執行所需的屬性;
監控腳本執行機的狀態,對于空閑腳本執行機,獲取其所支持的腳本執行屬性;
針對腳本執行機所支持的腳本屬性,從腳本隊列頭開始依次查找適合該腳本執行機執行的自動化腳本;
查找到對應的自動化腳本,將其從隊列中取出,并發送到空閑腳本執行機上執行。
優選地,所述基于接收到的所述自動化腳本,解析出所述自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志包括:
接收并解析所述自動化腳本,獲取到腳本執行信息和執行工具信息;
基于所述腳本執行信息生成可執行的自動化測試腳本文件;
基于腳本執行工具信息調起相應的自動化測試執行工具并執行腳本;
返回執行的結果和執行日志。
一種面向多執行技術的自動化測試集中調度執行系統,包括:
屬性配置模塊,用于維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本;
自動化測試集中調度模塊,用于基于所述執行屬性監控腳本執行機的運行狀態,獲取自動化腳本,并發送所述自動化腳本;
自動化測試執行引擎,用于基于接收到的所述自動化腳本,解析出所述自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志;
所述自動化測試集中調度模塊,還用于保存所述執行結果和執行日志。
優選地,所述屬性配置模塊具體用于:
配置腳本的執行屬性,并將配置結果保存至數據庫中的腳本屬性表中;
配置腳本執行機的屬性。
優選地,所述自動化測試集中調度模塊具體用于:
將用戶批量發起的自動化測試腳本按照先到先服務的原則放入腳本執行隊列當中,逐一對隊列中的腳本屬性信息進行分析,獲取腳本執行所需的屬性;
監控腳本執行機的狀態,對于空閑腳本執行機,獲取其所支持的腳本執行屬性;
針對腳本執行機所支持的腳本屬性,從腳本隊列頭開始依次查找適合該腳本執行機執行的自動化腳本;
查找到符合屬性的自動化腳本,將其從隊列中取出,并發送到空閑腳本執行機上執行。
優選地,所述自動化執行引擎具體用于:
接收并解析所述自動化腳本,獲取到腳本執行信息和執行工具信息;
基于所述腳本執行信息生成可執行的自動化測試腳本文件;
基于腳本執行工具信息調起相應的自動化測試執行工具并執行腳本;
返回執行的結果和執行日志。
由上述技術方案可知,本實施例提供了一種網絡流量特征分析方法,當需要面向多工具執行技術進行自動化測試集中調度時,首先維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本,然后根據執行屬性監控腳本執行機的運行狀態,獲取自動化腳本并發送自動化腳本,根據接收到的自動化腳本解析出自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志,最后保存執行結果和執行日志,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高了執行靈活性且降低了執行成本。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
圖1為本發明公開的一種面向多執行技術的自動化測試集中調度執行方法實施例1的方法流程圖;
圖2為本發明公開的一種面向多執行技術的自動化測試集中調度執行方法實施例2的方法流程圖;
圖3為本發明公開的一種面向多執行技術的自動化測試集中調度執行系統實施例3的結構示意圖;
圖4為本發明公開的一種面向多執行技術的自動化測試集中調度執行系統實施例4的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
為了更加特定地強調實施的獨立性,本說明書涉及許多模塊或單元。舉例而言,模塊或單元可由硬件電路實現,該硬件電路包括特制vlsi電路或門陣列,比如邏輯芯片、晶體管,或其它組件。模塊或單元也可在可編程的硬設備中實現,比如場效可編程門陣列、可編程陣列邏輯、可編程邏輯設備等等。
模塊或單元也可在藉由各種形式的處理器所執行的軟件中實現。比如說,一可執行碼模塊可包括一個或多個實體的或邏輯的計算機指令區塊,該區塊可能形成為,比如說,對象、程序或函數。然而,鑒別模塊或單元的可執行部分不需要物理上放置在一起,但可由存于不同位置的不同指令所組成,當邏輯上組合在一起時,形成模塊或單元且達到該模塊或單元所要求的目的。
實際上,可執行碼模塊或單元可以是一單一指令或多個指令,甚至可以分布在位于不同的程序的數個不同的碼區段,并且橫跨數個存儲設備。同樣地,操作數據可被辨識及顯示于此模塊或單元中,并且可以以任何合適的形式實施且在任何合適的數據結構形式內組織。操作數據可以集合成單一數據集,或可分布在具有不同的存儲設備的不同的位置,且至少部分地只以電子信號方式存在于一系統或網絡。
本說明書所提及的“實施例”或類似用語表示與實施例有關的特性、結構或特征,包括在本發明的至少一實施例中。因此,本說明書所出現的用語“在一實施例中”、“在實施例中”以及類似用語可能但不必然都指向相同實施例。
再者,本發明所述特性、結構或特征可以以任何方式結合在一個或多個實施例中。以下說明將提供許多特定的細節,比如編程序、軟件模塊、用戶選擇、網絡交易、數據庫查詢、數據庫結構、硬件模塊、硬件電路、硬件芯片等例子,以提供對本發明實施例的了解。然而相關領域的普通技術人員將看出本發明,即使沒有利用其中一個或多個特定細節,或利用其它方法、組件、材料等亦可實施。另一方面,為避免混淆本發明,公知的結構、材料或操作并沒有詳細描述。
如圖1所示,為本發明公開的一種面向多執行技術的自動化測試集中調度執行方法實施例1的流程圖,本方法包括以下步驟:
s101、維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本;
當需要面向多工具執行技術進行自動化測試集中調度時,首先對腳本屬性進行維護,同時對腳本執行機的屬性進行維護,并將執行腳本進行發送。
s102、基于執行屬性監控腳本執行機的運行狀態,獲取自動化腳本,并發送所述自動化腳本;
根據接收到的執行腳本對腳本執行機的運行狀態進行監控,為空閑執行機匹配相應的自動化腳本,并將獲得到的自動化腳本進行發送。
s103、基于接收到的所述自動化腳本,解析出所述自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志;
根據接收到的自動化腳本,解析調起命令,并調用相應的自動化測試執行工具生成執行結果和執行日志,將生成的執行結果和執行日志進行發送。
s104、保存所述執行結果和執行日志。
將接收到的執行結果和執行日志進行保存。
綜上所述,在上述實施例中,當需要面向多工具執行技術進行自動化測試集中調度時,首先維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本,然后根據執行屬性監控腳本執行機的運行狀態,獲取自動化腳本并發送自動化腳本,根據接收到的自動化腳本解析出自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志,最后保存執行結果和執行日志,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高了執行靈活性且降低了執行成本。
如圖2所述,為本發明公開的一種面向多執行技術的自動化測試集中調度執行方法實施例2的流程圖,本方法包括以下步驟:
s201、配置腳本的執行屬性,并將配置結果保存至數據庫中的腳本屬性表中;
當需要面向多工具執行技術進行自動化測試集中調度時,首先對腳本屬性進行維護,在對腳本屬性進行維護時,用戶對各自腳本的執行屬性,如腳本執行所需操作系統、瀏覽器、執行工具、執行時間等,進行配置,并保存到數據庫中的腳本屬性表中。所存儲的數據信息可供自動化測試集中調度模塊作為動態調度的條件,同時自動化測試執行引擎模塊根據相關的腳本屬性信息組織自動化測試腳本并調起相應的自動化測試執行工具。
s202、配置腳本執行機的屬性;
為使自動化測試集中調度模塊能夠為自動化腳本匹配適合的執行機去執行,自動化測試執行機也需要進行相應的屬性配置,包括執行機ip、執行機所支持的操作系統、瀏覽器、執行工具等信息。
s203、將用戶批量發起的自動化測試腳本按照先到先服務的原則放入腳本執行隊列當中,逐一對隊列中的腳本屬性信息進行分析,獲取腳本執行所需的屬性;
當完成了腳本屬性的維護和執行機屬性的維護后,進一步將用戶批量發起的自動化測試腳本按照先到先服務的原則放入到腳本執行隊列當中,然后逐一的對隊列中的腳本屬性信息進行分析,獲取到腳本執行所需的屬性。
s204、監控腳本執行機的狀態,對于空閑腳本執行機,獲取其所支持的腳本執行屬性;
然后對腳本執行機的狀態進行狀態,判斷執行機是否為“空閑”,當執行機為空閑時,獲取該空閑執行機的屬性。
s205、針對腳本執行機所支持的腳本屬性,從腳本隊列頭開始依次查找適合該腳本執行機執行的自動化腳本;
然后根據腳本執行機所支持的腳本屬性,從腳本隊列的頭開始依次查找適合該腳本執行機構執行的自動化腳本。
s206、查找到符合屬性的自動化腳本,將其從隊列中取出,并發送到空閑腳本執行機上執行;
s207、接收并解析所述自動化腳本,獲取到腳本執行信息和執行工具信息;
s208、基于所述腳本執行信息生成可執行的自動化測試腳本文件;
s209、基于腳本執行工具信息調起相應的自動化測試執行工具并執行腳本;
s210、返回執行的結果和執行日志;
s211、保存所述執行結果和執行日志。
將接收到的執行結果保存到數據庫的任務執行表中,將執行日志保存到文件服務器中。
綜上所述,在上述實施例中,當需要面向多工具執行技術進行自動化測試集中調度時,首先維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本,然后根據執行屬性監控腳本執行機的運行狀態,獲取自動化腳本并發送自動化腳本,根據接收到的自動化腳本解析出自動化腳本的信息,調用執行工具生成執行結果和執行日志,最后保存執行結果和執行日志,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高了執行靈活性且降低了執行成本。
如圖3所示,為本發明公開的一種面向多工具的自動化集中調度執行系統實施例3的結構示意圖,本系統包括:
屬性配置模塊301,用于維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本;
當需要面向多工具執行技術進行自動化測試集中調度時,首先對腳本屬性進行維護,同時對腳本執行機的屬性進行維護,并將執行腳本進行發送。
自動化測試集中調度模塊302,用于基于執行屬性監控腳本執行機的運行狀態,獲取自動化腳本,并發送所述自動化腳本;
根據接收到的執行腳本對腳本執行機的運行狀態進行監控,為空閑執行機匹配相應的自動化腳本,并將獲得到的自動化腳本進行發送。
自動化測試執行引擎303,用于基于接收到的所述自動化腳本,解析出所述自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志;
根據接收到的自動化腳本,解析調起命令,并調用相應的自動化測試執行工具生成執行結果和執行日志,將生成的執行結果和執行日志進行發送。
自動化測試集中調度模塊302,還用于保存所述執行結果和執行日志。
將接收到的執行結果和執行日志進行保存。
綜上所述,在上述實施例中,當需要面向多工具進行自動化集中調度時,首先維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本,然后根據執行屬性監控腳本執行機的運行狀態,獲取自動化腳本并發送自動化腳本,根據接收到的自動化腳本解析出自動化腳本的信息,調用執行工具生成執行結果和執行日志,最后保存執行結果和執行日志,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高了執行靈活性且降低了執行成本。
如圖4所述,為本發明公開的一種面向多執行技術的自動化測試集中調度執行系統實施例4的結構示意圖,本系統包括:
屬性配置模塊401,用于配置腳本的執行屬性,并將配置結果保存至數據庫中的腳本屬性表中;
當需要面向多工具執行技術進行自動化測試集中調度時,首先對腳本屬性進行維護,在對腳本屬性進行維護時,用戶對各自腳本的執行屬性,如腳本執行所需操作系統、瀏覽器、執行工具、執行時間等,進行配置,并保存到數據庫中的腳本屬性表中。所存儲的數據信息可供自動化測試集中調度模塊作為動態調度的條件,同時自動化測試執行引擎模塊根據相關的腳本屬性信息組織自動化測試腳本并調起相應的自動化測試執行工具。
屬性配置模塊401,還用于配置腳本執行機的屬性;
為使自動化測試集中調度模塊能夠為自動化腳本匹配適合的執行機去執行,自動化測試執行機也需要進行相應的屬性配置,包括執行機ip、執行機所支持的操作系統、瀏覽器、執行工具等信息。
自動化測試集中調度模塊402,用于將用戶批量發起的自動化測試腳本按照先到先服務的原則放入腳本執行隊列當中,逐一對隊列中的腳本屬性信息進行分析,獲取腳本執行所需的屬性;
當完成了腳本屬性的維護和執行機屬性的維護后,進一步將用戶批量發起的自動化測試腳本按照先到先服務的原則放入到腳本執行隊列當中,然后逐一的對隊列中的腳本屬性信息進行分析,獲取到腳本執行所需的屬性。
自動化測試集中調度模塊402,還用于監控腳本執行機的狀態,對于空閑腳本執行機,獲取其所支持的腳本執行屬性;
然后對腳本執行機的狀態進行狀態,判斷執行機是否為“空閑”,當執行機為空閑時,獲取該空閑執行機的屬性。
自動化測試集中調度模塊402,還用于針對腳本執行機所支持的腳本屬性,從腳本隊列頭開始依次查找適合該腳本執行機執行的自動化腳本;
然后根據腳本執行機所支持的腳本屬性,從腳本隊列的頭開始依次查找適合該腳本執行機構執行的自動化腳本。
自動化測試集中調度模塊402,還用于查找到符合屬性的自動化腳本,將其從隊列中取出,并發送到空閑腳本執行機上執行;
自動化測試執行引擎403,用于接收并解析所述自動化腳本,獲取到腳本執行信息和執行工具信息;
自動化測試執行引擎403,還用于基于所述腳本執行信息生成可執行的自動化測試腳本文件;
自動化測試執行引擎403,還用于基于腳本執行工具信息調起相應的自動化測試執行工具并執行腳本;
自動化測試執行引擎403,還用于返回執行的結果和執行日志;
自動化測試集中調度模塊402,還用于保存所述執行結果和執行日志。
將接收到的執行結果保存到數據庫的任務執行表中,將執行日志保存到文件服務器中。
綜上所述,在上述實施例中,當需要面向多工具執行技術進行自動化測試集中調度時,首先維護自動化腳本和腳本執行機的執行屬性,并發送執行腳本,然后根據執行屬性監控腳本執行機的運行狀態,獲取自動化腳本并發送自動化腳本,根據接收到的自動化腳本解析出自動化腳本的信息,調用相應的自動化測試執行工具生成執行結果和執行日志,最后保存執行結果和執行日志,通過整合不同自動化測試工具資源,支持多種自動化測試工具執行技術,根據不同的自動化腳本屬性進行動態批量調度,提高了執行靈活性且降低了執行成本。
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本發明。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發明的精神或范圍的情況下,在其它實施例中實現。因此,本發明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。