一種多功能腳本運(yùn)行方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及安卓設(shè)備的自動化測試領(lǐng)域,特別是涉及一種適用于不同安卓設(shè)備的多功能腳本的運(yùn)行方法和系統(tǒng)。
【背景技術(shù)】
[0002]安卓(Android)系統(tǒng)是當(dāng)前智能手機(jī)及平板電腦等終端上應(yīng)用最廣泛的操作系統(tǒng)之一,目前關(guān)于安卓系統(tǒng)測試的方法主要通過向安卓系統(tǒng)發(fā)送隨機(jī)的用戶事件流,如按鍵輸入、觸摸屏輸入、手勢輸入等,實(shí)現(xiàn)對正在開發(fā)的應(yīng)用程序進(jìn)行壓力測試。由于現(xiàn)有技術(shù)的測試方法是一種隨機(jī)測試方法,無法滿足有針對性的用例測試需求,同時功能有限,執(zhí)行測試用例需要投入大量的人力和時間。
[0003]目前,關(guān)于安卓自動化測試的方法,比較常見的是采用Monkey測試工具的自動化測試,Monkey自動化測試是安卓系統(tǒng)自帶的一種方法,通過Monkey程序模擬用戶觸摸屏幕、滑動Trackball、按鍵等操作來對設(shè)備上的程序進(jìn)行壓力測試,檢測程序多久的時間會發(fā)生異常。其是一種隨機(jī)測試方法,無法根據(jù)測試人員自定義的方法進(jìn)行操作。
[0004]此外,谷歌公司公開了一種Uiautomator的自動化測試,其根據(jù)測試人員自定義的步驟,可以對所有的操作進(jìn)行自動化測試,操作比較簡單;但是,使用Uiautomator進(jìn)行自動化測試,其兼容性比較差,不同的安卓設(shè)備需要編寫不同的腳本來運(yùn)行,并且,其對安卓的版本要求也較高:安卓系統(tǒng)的版本要高于4.0,否則無法根據(jù)控件ID進(jìn)行操作,因此,相對來說功能較為局限。
【發(fā)明內(nèi)容】
[0005]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種多功能腳本運(yùn)行方法和系統(tǒng),用于解決現(xiàn)有技術(shù)中安卓設(shè)備自動化測試時腳本運(yùn)行的兼容性差,無法智能匹配不同類型的安卓設(shè)備的問題。
[0006]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種多功能腳本運(yùn)行方法,應(yīng)用于不同種類的安卓設(shè)備的自動化測試,所述多功能腳本運(yùn)行方法包括:步驟S10,生成運(yùn)行腳本;其中,所述運(yùn)行腳本適用于不同種類的安卓設(shè)備;步驟S20,將待運(yùn)行腳本的安卓設(shè)備與電腦相連,并將其屏幕投射至所述電腦上;步驟S30,將所述運(yùn)行腳本和解析處理包導(dǎo)入待運(yùn)行腳本的安卓設(shè)備;步驟S40,啟動所述解析處理包,并調(diào)用所述運(yùn)行腳本對待運(yùn)行腳本的安卓設(shè)備進(jìn)行運(yùn)行。
[0007]可選地,所述步驟SlO生成運(yùn)行腳本包括:步驟S11,將不同種類的安卓設(shè)備與電腦相連;步驟S12,針對不同種類的安卓設(shè)備,按照相同類型操作,分別錄制不同的操作腳本;步驟S13,依據(jù)多個操作腳本,生成一個所述運(yùn)行腳本。
[0008]可選地,所述步驟Sll還包括將安卓設(shè)備的屏幕投射至所述電腦上,以實(shí)現(xiàn)通過對其在所述電腦上的投影上進(jìn)行操作來完成對安卓設(shè)備的操作。
[0009]可選地,所述步驟S12中的相同類型操作直接在安卓設(shè)備上完成,或者在其對應(yīng)的所述電腦的投影上完成。
[0010]可選地,所述步驟S12包括:對多個不同種類的安卓設(shè)備執(zhí)行一個相同類型操作,且,相同類型操作包括一個或多個操作步驟;依據(jù)操作步驟和安卓設(shè)備的種類,利用XML對其頁面進(jìn)行解析,獲取并保存頁面中每個控件的屬性;并依據(jù)獲取的頁面中的控件的屬性錄制生成相應(yīng)的操作腳本。
[0011]可選地,所述控件的屬性包括控件的坐標(biāo)范圍、ID、文本和類型。
[0012]可選地,所述運(yùn)行腳本包括一組或多組運(yùn)行子腳本,每一組運(yùn)行子腳本包括一個操作步驟下的多個不同種類安卓設(shè)備的控件的屬性,且所述運(yùn)行腳本中的運(yùn)行子腳本是按照操作步驟的順序保存的。
[0013]可選地,所述步驟S40中,啟動所述解析處理包,并調(diào)用所述運(yùn)行腳本對待運(yùn)行腳本的安卓設(shè)備進(jìn)行運(yùn)行包括:所述解析處理包調(diào)用所述運(yùn)行腳本,并按照所述運(yùn)行腳本中運(yùn)行子腳本的順序進(jìn)行:對待運(yùn)行腳本的安卓設(shè)備按照操作步驟執(zhí)行,該操作步驟是運(yùn)行子腳本對應(yīng)的操作步驟;獲取待運(yùn)行腳本的安卓設(shè)備的頁面中每個控件的屬性;將獲取的控件的屬性與該運(yùn)行子腳本進(jìn)行匹配:如果存在匹配,則繼續(xù)按照上述步驟進(jìn)行下一組運(yùn)行子腳本對應(yīng)類型的操作的運(yùn)行,直至完成所述運(yùn)行腳本中所有的運(yùn)行子腳本的操作步驟;如果不存在匹配,則停止運(yùn)行。
[0014]本發(fā)明還公開了一種多功能腳本運(yùn)行系統(tǒng),應(yīng)用于不同種類的安卓設(shè)備的自動化測試,所述多功能腳本運(yùn)行系統(tǒng)包括生成單元、導(dǎo)入單元和運(yùn)行單元;所述生成單元用于生成在相同類型操作下不同種類的安卓設(shè)備的運(yùn)行腳本;所述導(dǎo)入單元用于將所述運(yùn)行腳本和解析處理包導(dǎo)入待運(yùn)行腳本的安卓設(shè)備;所述運(yùn)行單元用于啟動所述解析處理包,并調(diào)用所述運(yùn)行腳本對待運(yùn)行腳本的安卓設(shè)備進(jìn)行運(yùn)行。
[0015]可選地,所述生成單元包括腳本錄制子單元和運(yùn)行腳本生成子單元;所述腳本錄制子單元用于針對不同種類的安卓設(shè)備,按照相同類型操作,利用XML分別錄制不同的操作腳本;所述運(yùn)行腳本生成子單元用于根據(jù)所述腳本錄制子單元錄制的不同種類的安卓設(shè)備的相同類型操作的操作腳本,生成一個所述運(yùn)行腳本。
[0016]如上所述,本發(fā)明的一種多功能腳本運(yùn)行方法和系統(tǒng),應(yīng)用于不同種類的安卓設(shè)備,結(jié)合手機(jī)控件運(yùn)行方法,并在此基礎(chǔ)上進(jìn)行擴(kuò)展和衍生,其在安卓控件的基礎(chǔ)上,通過XML記錄和保存不同種類的安卓設(shè)備的控件信息,進(jìn)行多重腳本錄制,生成運(yùn)行腳本,并且運(yùn)行腳本的兼容性和健壯性好,其不受屏幕分辨率、背景變化及圖片變化的影響;本發(fā)明能夠橫向的支持不同安卓版本設(shè)備、不同廠商及Π設(shè)計的風(fēng)格模式;本發(fā)明利用簡單的方法,實(shí)現(xiàn)了一套腳本兼容多個安卓設(shè)備的能力,能夠達(dá)到良好的兼容性,節(jié)省了人力和投入時間。
【附圖說明】
[0017]圖1顯示為本發(fā)明實(shí)施例公開的一種多功能腳本運(yùn)行方法的流程示意圖。
[0018]圖2顯示為本發(fā)明實(shí)施例公開的一種多功能腳本運(yùn)行方法中生成的運(yùn)行腳本的示意圖。
[0019]圖3顯示為本發(fā)明實(shí)施例公開的一種多功能腳本運(yùn)行系統(tǒng)的結(jié)構(gòu)示意圖。
[0020]元件標(biāo)號說明
[0021]SlO ?S40步驟
[0022]Sll ?S13步驟
[0023]300多功能腳本運(yùn)行系統(tǒng)
[0024]310生成單元
[0025]311腳本錄制子單元
[0026]312運(yùn)行腳本生成子單元
[0027]320導(dǎo)入單元
[0028]330運(yùn)行單元
【具體實(shí)施方式】
[0029]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0030]請參閱附圖。需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0031]本發(fā)明公開的一種應(yīng)用于不同種類的安卓設(shè)備的自動化測試的多功能腳本運(yùn)行方法和系統(tǒng)。不同種類的安卓設(shè)備指不同安卓版本的安卓設(shè)備、不同廠家生產(chǎn)的安卓設(shè)備、不同型號的安卓設(shè)備、或者不同Π設(shè)計的風(fēng)格模式下的安卓設(shè)備。其中,安卓設(shè)備指的是安裝了安卓操作系統(tǒng)的移動設(shè)備。并且,移動設(shè)備包括存儲器、存儲器控制器、一個或多個處理器(CPU)、接口電路、RF (射頻)電路、音頻電路、揚(yáng)聲器、麥克風(fēng)、輸入/輸出(I/O)子系統(tǒng)、觸摸顯示屏、其他輸出或控制設(shè)備,以及外部端口。這些組件通過一條或多條通信總線或信號線進(jìn)行通信。設(shè)備可以是任何便攜式電子設(shè)備,包括但不限于平板電腦、智能手機(jī)、個人數(shù)字助理(PDA)等等,還可能包括其中兩項或多項的組合。應(yīng)當(dāng)理解,本發(fā)明中列舉的設(shè)備只是便攜式電子設(shè)備的一個實(shí)例,該設(shè)備的組件可以比圖示中給出的具有更多或更少的組件,或具有不同的組件配置。圖中所示的各種組件可以用硬件、軟件或軟硬件的組合來實(shí)現(xiàn),包括一個或多個信號處理和/或?qū)S眉呻娐贰?