一種自動(dòng)化測(cè)試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)一種自動(dòng)化測(cè)試方法及系統(tǒng),方法包括:在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序;為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí);確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面;獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí);根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作。本發(fā)明在不增加新資源的前提下,實(shí)現(xiàn)單個(gè)計(jì)算機(jī)虛擬出多個(gè)虛擬桌面,提升資源利用率。
【專利說(shuō)明】一種自動(dòng)化測(cè)試方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件測(cè)試相關(guān)【技術(shù)領(lǐng)域】,特別是一種自動(dòng)化測(cè)試方法及系統(tǒng)。
【背景技術(shù)】
[0002]在軟件測(cè)試領(lǐng)域中,減少測(cè)試工程師的重復(fù)工作,提高軟件測(cè)試工程師的工作效率,釋放部分人力投入更多、更重要的項(xiàng)目中去,從而達(dá)到提升人效的目的,為此現(xiàn)有技術(shù)通過(guò)自動(dòng)化測(cè)試解決上述問(wèn)題。
[0003]現(xiàn)有的自動(dòng)化測(cè)試,通過(guò)一個(gè)服務(wù)端的轉(zhuǎn)發(fā)器(Hub)服務(wù)來(lái)控制多個(gè)用于運(yùn)行腳本的執(zhí)行終端,達(dá)到加快測(cè)試速度和有效擴(kuò)充測(cè)試環(huán)境的目的。并通過(guò)命令(例如selenium命令)對(duì)測(cè)試用例執(zhí)行步驟進(jìn)行截圖,并最終展示給用戶,并驗(yàn)證腳本是否執(zhí)行成功。
[0004]現(xiàn)有技術(shù)方案中,用于運(yùn)行腳本和產(chǎn)生測(cè)試步驟截圖的執(zhí)行終端,可以是物理機(jī),也可以是虛擬機(jī)。在一定規(guī)模的情況下,部署一套自動(dòng)化測(cè)試平臺(tái)足以支撐軟件企業(yè)目前的自動(dòng)化測(cè)試。但隨著企業(yè)的發(fā)展壯大,其應(yīng)用系統(tǒng)會(huì)越來(lái)越多,如果在原有基礎(chǔ)上去做自動(dòng)化測(cè)試,勢(shì)必需要增加執(zhí)行終端。而增加執(zhí)行終端就意味著要增加物理機(jī)(虛擬機(jī)也是建立在物理機(jī)資源之上的),不管是購(gòu)買(mǎi)也好,還是租賃也好,都會(huì)造成企業(yè)的成本提高。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)現(xiàn)有技術(shù)需要較多物理機(jī)以支持大量的自動(dòng)化測(cè)試的技術(shù)問(wèn)題,提供一種自動(dòng)化測(cè)試方法及系統(tǒng)。
[0006]一種自動(dòng)化測(cè)試方法,包括:
[0007]步驟11,在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量;
[0008]步驟12,為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí);
[0009]步驟13,確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面;
[0010]步驟14,獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí);
[0011]步驟15,根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行步驟13,否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
[0012]一種自動(dòng)化測(cè)試系統(tǒng),包括:
[0013]虛擬桌面啟動(dòng)模塊,用于在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量;
[0014]虛擬桌面標(biāo)識(shí)生成模塊,用于為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí);
[0015]待運(yùn)行應(yīng)用程序確定模塊,用于確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面;
[0016]待運(yùn)行虛擬桌面標(biāo)識(shí)獲取模塊,用于獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí);
[0017]測(cè)試命令發(fā)送模塊,用于根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行待運(yùn)行應(yīng)用程序確定模塊,否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
[0018]本發(fā)明通過(guò)在同一個(gè)計(jì)算機(jī)中啟動(dòng)多個(gè)虛擬桌面,在虛擬桌面中啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,且根據(jù)調(diào)度算法,向每個(gè)虛擬桌面中的應(yīng)用程序發(fā)送測(cè)試命令以運(yùn)行應(yīng)用程序。因此,本發(fā)明在不增加新資源的前提下,實(shí)現(xiàn)單個(gè)計(jì)算機(jī)(執(zhí)行節(jié)點(diǎn))虛擬出多個(gè)虛擬桌面,提升資源利用率;同時(shí),每個(gè)虛擬桌面都是獨(dú)立的,互不干擾,此時(shí)啟動(dòng)應(yīng)用程序執(zhí)行測(cè)試腳本也是獨(dú)立的,變相的增加了用例執(zhí)行節(jié)點(diǎn),提高自動(dòng)化測(cè)試效率。
【專利附圖】
【附圖說(shuō)明】
[0019]圖1為本發(fā)明一種自動(dòng)化測(cè)試方法的工作流程圖;
[0020]圖2為計(jì)算機(jī)采用Windows操作系統(tǒng)的其中一個(gè)實(shí)施例的步驟11的具體工作流程圖;
[0021]圖3為一個(gè)Windows操作系統(tǒng)例子的工作流程圖;
[0022]圖4為計(jì)算機(jī)采用Linux系統(tǒng)的其中一個(gè)實(shí)施例的步驟11的具體工作流程圖;
[0023]圖5為一個(gè)Linux操作系統(tǒng)例子的工作流程圖;
[0024]圖6為本發(fā)明一種自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)模塊圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說(shuō)明。
[0026]如圖1所示為本發(fā)明一種自動(dòng)化測(cè)試方法的工作流程圖,包括:
[0027]步驟11,在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量;
[0028]步驟12,為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí);
[0029]步驟13,確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面;
[0030]步驟14,獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí);
[0031]步驟15,根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行步驟13,否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
[0032]其中,在步驟11中,在同一臺(tái)計(jì)算機(jī)上啟動(dòng)了多個(gè)虛擬桌面。每個(gè)虛擬桌面都是獨(dú)立的,因此在每個(gè)虛擬桌面上所創(chuàng)建的應(yīng)用程序均互不干擾。同時(shí)虛擬桌面其僅是形成了不同的終端桌面,其仍是在同一系統(tǒng)下的多個(gè)虛擬桌面,所以所需要的系統(tǒng)資源較小,能夠在同一個(gè)計(jì)算機(jī)上啟動(dòng)更多的虛擬桌面,從而啟動(dòng)更多的應(yīng)用程序,以滿足大型的自動(dòng)化測(cè)試的需要。每個(gè)應(yīng)用程序在步驟11中啟動(dòng)時(shí),并不執(zhí)行測(cè)試用例,其在接收到測(cè)試命令后才會(huì)根據(jù)不同的測(cè)試命令執(zhí)行相應(yīng)的測(cè)試用例。
[0033]在步驟12中,為每個(gè)虛擬桌面生成一個(gè)虛擬桌面標(biāo)識(shí),由于虛擬桌面是在同一個(gè)系統(tǒng)中啟動(dòng)的,因此為了區(qū)分不同的虛擬桌面,需要生成虛擬桌面標(biāo)識(shí),以便后續(xù)訪問(wèn)。
[0034]步驟13可以通過(guò)一個(gè)調(diào)度中心實(shí)現(xiàn),調(diào)度中心檢測(cè)所保存的測(cè)試用例,并檢測(cè)狀態(tài)為空閑的虛擬桌面,虛擬桌面的狀態(tài)可以由調(diào)度中心維護(hù)。測(cè)試用例可以是預(yù)先確定的,也可以是動(dòng)態(tài)獲取的,動(dòng)態(tài)獲取指的是動(dòng)態(tài)接收前臺(tái)的測(cè)試用例,并由調(diào)度中心執(zhí)行步驟13,將未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面,然后在步驟14中,獲取與待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí),該待運(yùn)行虛擬桌面標(biāo)識(shí)用于在步驟15中訪問(wèn)待運(yùn)行程序。
[0035]在步驟15,測(cè)試命令根據(jù)待執(zhí)行測(cè)試用例決定,對(duì)于不同的測(cè)試用例,其測(cè)試命令可能相同也可能不同。將測(cè)試命令發(fā)送到待運(yùn)行虛擬桌面的應(yīng)用程序后,應(yīng)用程序執(zhí)行所述待執(zhí)行測(cè)試用例,將待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作狀態(tài)。同時(shí),還需要檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有就執(zhí)行步驟13,否則結(jié)束。另外,在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為空閑。
[0036]根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述待運(yùn)行應(yīng)用程序發(fā)送測(cè)試命令,待運(yùn)行應(yīng)用程序接收到測(cè)試命令后運(yùn)行。
[0037]本發(fā)明在不增加新資源的前提下,實(shí)現(xiàn)單個(gè)執(zhí)行節(jié)點(diǎn)(計(jì)算機(jī))虛擬出多個(gè)虛擬桌面,提升資源利用率;同時(shí),每個(gè)虛擬桌面都是獨(dú)立的,互不干擾,此時(shí)啟動(dòng)應(yīng)用程序執(zhí)行測(cè)試腳本也是獨(dú)立的,變相的增加了用例執(zhí)行節(jié)點(diǎn),提高自動(dòng)化測(cè)試效率。
[0038]在其中一個(gè)實(shí)施例中,所述步驟12具體包括:
[0039]為每個(gè)虛擬桌面分別啟動(dòng)不同的端口,所述虛擬桌面標(biāo)識(shí)為所述計(jì)算機(jī)的IP地址與虛擬桌面所啟動(dòng)的端口。
[0040]由于采用的是同一個(gè)計(jì)算機(jī),因此,其IP地址是一樣的,為了區(qū)分不同的虛擬桌面,對(duì)每個(gè)虛擬桌面啟動(dòng)不同的端口,從而可以通過(guò)IP地址加端口進(jìn)行訪問(wèn)。如:虛擬桌面I開(kāi)啟的是1234端口,虛擬桌面2開(kāi)啟的是1235端口(其IP地址是相同的),即:虛擬終端和端口形成映射關(guān)系,通過(guò)調(diào)度算法,采用IP地址加端口的方式進(jìn)行訪問(wèn),從而實(shí)現(xiàn)將自動(dòng)化測(cè)試任務(wù)分配到指定的虛擬終端執(zhí)行。
[0041]如圖2所示為計(jì)算機(jī)采用Windows操作系統(tǒng)的其中一個(gè)實(shí)施例的步驟11的具體工作流程圖,在其中一個(gè)實(shí)施例中,所述計(jì)算機(jī)的操作系統(tǒng)為設(shè)置有多個(gè)系統(tǒng)用戶且已安裝遠(yuǎn)程桌面服務(wù)的Windows操作系統(tǒng),所述系統(tǒng)用戶的數(shù)量大于或等于所述虛擬桌面啟動(dòng)總量,所述步驟11,具體包括:
[0042]步驟31,選擇一個(gè)未進(jìn)行遠(yuǎn)程登錄的系統(tǒng)用戶作為當(dāng)前系統(tǒng)用戶;
[0043]步驟32,模擬所述當(dāng)前系統(tǒng)用戶通過(guò)所述遠(yuǎn)程桌面服務(wù)進(jìn)行遠(yuǎn)程登錄啟動(dòng)虛擬桌面;
[0044]步驟33,在所述當(dāng)前系統(tǒng)用戶遠(yuǎn)程登錄的虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序;
[0045]步驟34,如果所啟動(dòng)的虛擬桌面的數(shù)量小于所述虛擬桌面啟動(dòng)總量,則執(zhí)行步驟31,否則結(jié)束。
[0046]對(duì)于Windows操作系統(tǒng),其并不具有虛擬桌面的功能,本實(shí)施例通過(guò)多個(gè)系統(tǒng)用戶采用連續(xù)的遠(yuǎn)程登錄的方式,實(shí)現(xiàn)了虛擬桌面。
[0047]具體方式如下:倉(cāng)Il建多個(gè)系統(tǒng)用戶(如:userl、user2、user3、user4…),通過(guò)腳本在后臺(tái)啟動(dòng)多個(gè)遠(yuǎn)程桌面(模擬系統(tǒng)用戶登陸遠(yuǎn)程桌面),啟動(dòng)方式如下:啟動(dòng)腳本模擬userl進(jìn)行遠(yuǎn)程登錄,然后userl又啟動(dòng)腳本模擬userf進(jìn)行遠(yuǎn)程登錄,然后userf又啟動(dòng)腳本模擬user3進(jìn)行遠(yuǎn)程登錄,按此操作可以模擬所有系統(tǒng)用戶進(jìn)行遠(yuǎn)程登錄,即先啟動(dòng)userl, userl自啟動(dòng)user2、user2自啟動(dòng)user3….,形成一個(gè)鏈表,即:單個(gè)用戶(userl)產(chǎn)生了多個(gè)虛擬桌面(uSer2、uSer3....),至此實(shí)現(xiàn)了單用戶多個(gè)虛擬桌面的功能。
[0048]如圖3所示為一個(gè)Windows操作系統(tǒng)例子的工作流程圖,包括:
[0049]步驟S301, Windows操作系統(tǒng)的執(zhí)行節(jié)點(diǎn)安裝遠(yuǎn)程桌面服務(wù)(Remote DesktopServices);
[0050]步驟S302,安裝遠(yuǎn)程桌面服務(wù)的License ;
[0051]步驟S303,開(kāi)啟多會(huì)話設(shè)置,允許多個(gè)用戶同時(shí)登錄;
[0052]步驟S304,設(shè)置連接數(shù)(受license限制);
[0053]步驟S305,添加不同的計(jì)算機(jī)用戶;
[0054]步驟S306,通過(guò)不同的用戶連接遠(yuǎn)程桌面,并啟動(dòng)應(yīng)用程序,這樣該應(yīng)用程序就享有該用戶占有的桌面資源,達(dá)到以用戶區(qū)分桌面的目的;
[0055]步驟S307,通過(guò)調(diào)度算法,發(fā)送自動(dòng)化測(cè)試命令到對(duì)應(yīng)已經(jīng)啟動(dòng)的應(yīng)用程序進(jìn)行執(zhí)行,應(yīng)用程序就會(huì)到啟動(dòng)時(shí)分配的桌面去執(zhí)行相關(guān)操作。
[0056]如圖4所示為計(jì)算機(jī)采用Linux操作系統(tǒng)的其中一個(gè)實(shí)施例的步驟11的具體工作流程圖,在其中一個(gè)實(shí)施例中,所述計(jì)算機(jī)的操作系統(tǒng)為已安裝遠(yuǎn)程桌面服務(wù)的Linux操作系統(tǒng),所述步驟11,具體包括:
[0057]步驟41,通過(guò)所述遠(yuǎn)程桌面服務(wù)啟動(dòng)第N個(gè)虛擬桌面,所述N為虛擬桌面的序號(hào);
[0058]步驟42,在第N個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序;
[0059]步驟43,如果所啟動(dòng)的虛擬桌面數(shù)量小于所述虛擬桌面啟動(dòng)總量,則設(shè)置N為另一個(gè)未啟動(dòng)的虛擬桌面的序號(hào),執(zhí)行步驟41,否則結(jié)束。
[0060]Linux操作系統(tǒng)本身就具有虛擬桌面功能,然而,為了更好的管理虛擬桌面,因此也采用遠(yuǎn)程桌面服務(wù)的方式啟動(dòng)每一個(gè)虛擬桌面。
[0061]如圖5所示為一個(gè)Linux操作系統(tǒng)例子的工作流程圖,包括:
[0062]步驟S501,安裝 TigerVNC,使用 yum install vnc-server 即可安裝 vnc 服務(wù),TigerVNC是一種遠(yuǎn)程桌面服務(wù)軟件,通過(guò)該軟件為L(zhǎng)inux操作系統(tǒng)提供遠(yuǎn)程桌面服務(wù);
[0063]步驟S502,啟動(dòng) vncserver:num(如 vncserver: 2), vncserver:num 命令用于啟動(dòng)第num個(gè)虛擬桌面;
[0064]步驟S503,使用 export DISPLAY =:num(如 export DISPLAY =:2),設(shè)置環(huán)境變量,然后啟動(dòng)應(yīng)用程序,其中DISPLAY =:num命令用于將后續(xù)操作設(shè)置在第num個(gè)虛擬桌面,因此當(dāng)輸入該命令后再啟動(dòng)應(yīng)用程序,則該應(yīng)用程序就能在內(nèi)存中訪問(wèn)該虛擬桌面的資源;
[0065]步驟S504,如果還需要啟動(dòng)其他虛擬桌面,則按照步驟S502和S503啟動(dòng)多個(gè)不同編號(hào)虛擬桌面和應(yīng)用程序,就能實(shí)現(xiàn)在單個(gè)機(jī)器上使用多個(gè)獨(dú)立虛擬桌面資源的目的;
[0066]步驟S505,通過(guò)調(diào)度算法,發(fā)送自動(dòng)化測(cè)試命令到對(duì)應(yīng)已經(jīng)啟動(dòng)的應(yīng)用程序進(jìn)行執(zhí)行,應(yīng)用程序就會(huì)到啟動(dòng)時(shí)分配的虛擬桌面去執(zhí)行相關(guān)操作。
[0067]在其中一個(gè)實(shí)施例中,所述虛擬桌面啟動(dòng)總量大于或等于自動(dòng)化測(cè)試所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),且每個(gè)虛擬桌面僅啟動(dòng)一個(gè)所述應(yīng)用程序。
[0068]每個(gè)應(yīng)用程序執(zhí)行一個(gè)測(cè)試用例,因此當(dāng)自動(dòng)化測(cè)試執(zhí)行多個(gè)測(cè)試用例時(shí),需要多個(gè)應(yīng)用程序,使得每個(gè)應(yīng)用程序能夠執(zhí)行一個(gè)測(cè)試用例。虛擬桌面啟動(dòng)總量如果小于所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),則可以通過(guò)在同一虛擬桌面應(yīng)用多個(gè)應(yīng)用程序來(lái)滿足自動(dòng)化測(cè)試所需要的應(yīng)用程序,然而,這樣的方式并不能清晰的區(qū)分不同的應(yīng)用程序,因此,在本實(shí)施例中,通過(guò)確定虛擬桌面啟動(dòng)總量大于或等于自動(dòng)化測(cè)試所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),從而使得每個(gè)應(yīng)用程序都能有一個(gè)虛擬桌面作為平臺(tái),以便清楚的區(qū)分應(yīng)用程序,使得每個(gè)虛擬桌面都只執(zhí)行一個(gè)測(cè)試用例。
[0069]如圖6所示為本發(fā)明一種自動(dòng)化測(cè)試系統(tǒng)的結(jié)構(gòu)模塊圖,包括:
[0070]虛擬桌面啟動(dòng)模塊601,用于在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量;
[0071]虛擬桌面標(biāo)識(shí)生成模塊602,用于為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí);
[0072]待運(yùn)行應(yīng)用程序確定模塊603,用于確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面;
[0073]待運(yùn)行虛擬桌面標(biāo)識(shí)獲取模塊604,用于獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí);
[0074]測(cè)試命令發(fā)送模塊605,用于根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行待運(yùn)行應(yīng)用程序確定模塊,否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
[0075]在其中一個(gè)實(shí)施例中,所述虛擬桌面標(biāo)識(shí)生成模塊602,具體用于:
[0076]為每個(gè)虛擬桌面分別啟動(dòng)不同的端口,所述虛擬桌面標(biāo)識(shí)為所述計(jì)算機(jī)的IP地址與虛擬桌面所啟動(dòng)的端口。
[0077]在其中一個(gè)實(shí)施例中,所述計(jì)算機(jī)的操作系統(tǒng)為設(shè)置有多個(gè)系統(tǒng)用戶且已安裝遠(yuǎn)程桌面服務(wù)的Windows操作系統(tǒng),所述系統(tǒng)用戶的數(shù)量大于或等于所述虛擬桌面啟動(dòng)總量,所述虛擬桌面啟動(dòng)模塊601,具體包括:
[0078]當(dāng)前系統(tǒng)用戶選擇子模塊,選擇一個(gè)未進(jìn)行遠(yuǎn)程登錄的系統(tǒng)用戶作為當(dāng)前系統(tǒng)用戶;
[0079]第一系統(tǒng)遠(yuǎn)程登錄子模塊,模擬所述當(dāng)前系統(tǒng)用戶通過(guò)所述遠(yuǎn)程桌面服務(wù)進(jìn)行遠(yuǎn)程登錄啟動(dòng)虛擬桌面;
[0080]第一系統(tǒng)應(yīng)用程序啟動(dòng)子模塊,在所述當(dāng)前系統(tǒng)用戶遠(yuǎn)程登錄的虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序;
[0081]第一系統(tǒng)虛擬桌面數(shù)量檢測(cè)子模塊,如果所啟動(dòng)的虛擬桌面的數(shù)量小于所述虛擬桌面啟動(dòng)總量,則執(zhí)行當(dāng)前系統(tǒng)用戶選擇子模塊,否則結(jié)束。
[0082]在其中一個(gè)實(shí)施例中,所述計(jì)算機(jī)的操作系統(tǒng)為已安裝遠(yuǎn)程桌面服務(wù)的Linux操作系統(tǒng),所述虛擬桌面啟動(dòng)模塊601,具體包括:
[0083]第二系統(tǒng)遠(yuǎn)程桌面服務(wù)子模塊,通過(guò)所述遠(yuǎn)程桌面服務(wù)啟動(dòng)第N個(gè)虛擬桌面,所述N為虛擬桌面的序號(hào);
[0084]第二系統(tǒng)應(yīng)用程序啟動(dòng)子模塊,在第N個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序;
[0085]第二系統(tǒng)虛擬桌面數(shù)量檢測(cè)子模塊,如果所啟動(dòng)的虛擬桌面數(shù)量小于所述虛擬桌面啟動(dòng)總量,則設(shè)置N為另一個(gè)未啟動(dòng)的虛擬桌面的序號(hào),執(zhí)行第二系統(tǒng)遠(yuǎn)程桌面服務(wù)子豐吳塊,否則結(jié)束。
[0086]在其中一個(gè)實(shí)施例中,所述虛擬桌面啟動(dòng)總量大于或等于自動(dòng)化測(cè)試所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),且每個(gè)虛擬桌面僅啟動(dòng)一個(gè)所述應(yīng)用程序。
[0087]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種自動(dòng)化測(cè)試方法,其特征在于,包括: 步驟(11),在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量; 步驟(12),為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí); 步驟(13),確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面; 步驟(14),獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí); 步驟(15),根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行步驟(13),否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
2.根據(jù)權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其特征在于,所述步驟(12)具體包括: 為每個(gè)虛擬桌面分別啟動(dòng)不同的端口,所述虛擬桌面標(biāo)識(shí)為所述計(jì)算機(jī)的IP地址與虛擬桌面所啟動(dòng)的端口。
3.根據(jù)權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其特征在于,所述計(jì)算機(jī)的操作系統(tǒng)為設(shè)置有多個(gè)系統(tǒng)用戶且已安裝遠(yuǎn)程桌面服務(wù)的Windows操作系統(tǒng),所述系統(tǒng)用戶的數(shù)量大于或等于所述虛擬桌面啟動(dòng)總量,所述步驟(11),具體包括: 步驟(31),選擇一個(gè)未進(jìn)行遠(yuǎn)程登錄的系統(tǒng)用戶作為當(dāng)前系統(tǒng)用戶; 步驟(32),模擬所述當(dāng)前系統(tǒng)用戶通過(guò)所述遠(yuǎn)程桌面服務(wù)進(jìn)行遠(yuǎn)程登錄啟動(dòng)虛擬桌面; 步驟(33),在所述當(dāng)前系統(tǒng)用戶遠(yuǎn)程登錄的虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序; 步驟(34),如果所啟動(dòng)的虛擬桌面的數(shù)量小于所述虛擬桌面啟動(dòng)總量,則執(zhí)行步驟(31),否則結(jié)束。
4.根據(jù)權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其特征在于,所述計(jì)算機(jī)的操作系統(tǒng)為已安裝遠(yuǎn)程桌面服務(wù)的Linux操作系統(tǒng),所述步驟(11),具體包括: 步驟(41),通過(guò)所述遠(yuǎn)程桌面服務(wù)啟動(dòng)第N個(gè)虛擬桌面,所述N為虛擬桌面的序號(hào); 步驟(42),在第N個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序; 步驟(43),如果所啟動(dòng)的虛擬桌面數(shù)量小于所述虛擬桌面啟動(dòng)總量,則設(shè)置N為另一個(gè)未啟動(dòng)的虛擬桌面的序號(hào),執(zhí)行步驟(41),否則結(jié)束。
5.根據(jù)權(quán)利要求1所述的自動(dòng)化測(cè)試方法,其特征在于,所述虛擬桌面啟動(dòng)總量大于或等于自動(dòng)化測(cè)試所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),且每個(gè)虛擬桌面僅啟動(dòng)一個(gè)所述應(yīng)用程序。
6.一種自動(dòng)化測(cè)試系統(tǒng),其特征在于,包括: 虛擬桌面啟動(dòng)模塊,用于在同一臺(tái)計(jì)算機(jī)上啟動(dòng)多個(gè)虛擬桌面,設(shè)置每個(gè)虛擬桌面的狀態(tài)為空閑,在每個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序,所述應(yīng)用程序處于暫停執(zhí)行測(cè)試用例狀態(tài),且在接收到測(cè)試命令后執(zhí)行測(cè)試用例,所述虛擬桌面的啟動(dòng)數(shù)量為虛擬桌面啟動(dòng)總量; 虛擬桌面標(biāo)識(shí)生成模塊,用于為每個(gè)虛擬桌面生成與每個(gè)虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí); 待運(yùn)行應(yīng)用程序確定模塊,用于確定一個(gè)未執(zhí)行的測(cè)試用例作為待執(zhí)行測(cè)試用例,確定一個(gè)狀態(tài)為空閑的虛擬桌面作為待運(yùn)行虛擬桌面; 待運(yùn)行虛擬桌面標(biāo)識(shí)獲取模塊,用于獲取與所述待運(yùn)行虛擬桌面關(guān)聯(lián)的虛擬桌面標(biāo)識(shí)作為待運(yùn)行虛擬桌面標(biāo)識(shí); 測(cè)試命令發(fā)送模塊,用于根據(jù)所述待運(yùn)行虛擬桌面標(biāo)識(shí)向與所述待運(yùn)行虛擬桌面中的所述應(yīng)用程序發(fā)送測(cè)試命令執(zhí)行所述待執(zhí)行測(cè)試用例,將所述待運(yùn)行虛擬桌面的狀態(tài)設(shè)置為工作,檢測(cè)是否還有未執(zhí)行的測(cè)試用例,如果還有未執(zhí)行的測(cè)試用例,則執(zhí)行待運(yùn)行應(yīng)用程序確定模塊,否則結(jié)束,所述待運(yùn)行虛擬桌面的狀態(tài)在所述待執(zhí)行測(cè)試用例執(zhí)行完畢后設(shè)置為空閑。
7.根據(jù)權(quán)利要求6所述的自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述虛擬桌面標(biāo)識(shí)生成模塊,具體用于: 為每個(gè)虛擬桌面分別啟動(dòng)不同的端口,所述虛擬桌面標(biāo)識(shí)為所述計(jì)算機(jī)的IP地址與虛擬桌面所啟動(dòng)的端口。
8.根據(jù)權(quán)利要求6所述的自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述計(jì)算機(jī)的操作系統(tǒng)為設(shè)置有多個(gè)系統(tǒng)用戶且已安裝遠(yuǎn)程桌面服務(wù)的Windows操作系統(tǒng),所述系統(tǒng)用戶的數(shù)量大于或等于所述虛擬桌面啟動(dòng)總量,所述虛擬桌面啟動(dòng)模塊,具體包括: 當(dāng)前系統(tǒng)用戶選擇子模塊,選擇一個(gè)未進(jìn)行遠(yuǎn)程登錄的系統(tǒng)用戶作為當(dāng)前系統(tǒng)用戶;第一系統(tǒng)遠(yuǎn)程登錄子模塊,模擬所述當(dāng)前系統(tǒng)用戶通過(guò)所述遠(yuǎn)程桌面服務(wù)進(jìn)行遠(yuǎn)程登錄啟動(dòng)虛擬桌面; 第一系統(tǒng)應(yīng)用程序啟動(dòng)子模塊,在所述當(dāng)前系統(tǒng)用戶遠(yuǎn)程登錄的虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序; 第一系統(tǒng)虛擬桌面數(shù)量檢測(cè)子模塊,如果所啟動(dòng)的虛擬桌面的數(shù)量小于所述虛擬桌面啟動(dòng)總量,則執(zhí)行當(dāng)前系統(tǒng)用戶選擇子模塊,否則結(jié)束。
9.根據(jù)權(quán)利要求6所述的自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述計(jì)算機(jī)的操作系統(tǒng)為已安裝遠(yuǎn)程桌面服務(wù)的Linux操作系統(tǒng),所述虛擬桌面啟動(dòng)模塊,具體包括: 第二系統(tǒng)遠(yuǎn)程服務(wù)子模塊,通過(guò)所述遠(yuǎn)程桌面服務(wù)啟動(dòng)第N個(gè)虛擬桌面,所述N為虛擬桌面的序號(hào); 第二系統(tǒng)應(yīng)用程序啟動(dòng)子模塊,在第N個(gè)虛擬桌面上啟動(dòng)用于自動(dòng)化測(cè)試的應(yīng)用程序; 第二系統(tǒng)虛擬桌面數(shù)量檢測(cè)子模塊,如果所啟動(dòng)的虛擬桌面數(shù)量小于所述虛擬桌面啟動(dòng)總量,則設(shè)置N為另一個(gè)未啟動(dòng)的虛擬桌面的序號(hào),執(zhí)行第二系統(tǒng)遠(yuǎn)程服務(wù)子模塊,否則結(jié)束。
10.根據(jù)權(quán)利要求6所述的自動(dòng)化測(cè)試系統(tǒng),其特征在于,所述虛擬桌面啟動(dòng)總量大于或等于自動(dòng)化測(cè)試所需要運(yùn)行的應(yīng)用程序個(gè)數(shù),且每個(gè)虛擬桌面僅啟動(dòng)一個(gè)所述應(yīng)用程序。
【文檔編號(hào)】G06F11/36GK104182339SQ201410415908
【公開(kāi)日】2014年12月3日 申請(qǐng)日期:2014年8月21日 優(yōu)先權(quán)日:2014年8月21日
【發(fā)明者】吳建軍, 王崟平 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司