一種脫離PC的Android自動化測試錄屏機制及錄屏系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自動化測試技術(shù)領(lǐng)域,特別是一種脫離PC的Android自動化測試錄屏機制及其應(yīng)用該方法的系統(tǒng)。
【背景技術(shù)】
[0002]自動化測試是通過自動化測試工具或其他手段,按照測試工程師的預(yù)定計劃進(jìn)行自動的測試,從而達(dá)到提高軟件質(zhì)量的目的。測試工程師最常用的手段就是通過編寫自動化測試腳本,讓被測程序按制定好的用例去執(zhí)行,通過對比測試結(jié)果和預(yù)期結(jié)果發(fā)現(xiàn)被測程序的缺陷。當(dāng)發(fā)生預(yù)期結(jié)果與測試結(jié)果不一致時,保留異?,F(xiàn)場相關(guān)數(shù)據(jù)尤為重要,數(shù)據(jù)保存得越全,則越利于研發(fā)人員修復(fù)被測程序的缺陷或漏洞。
[0003]現(xiàn)有的自動化測試機制,并未有一套完善的針對腳本運行情況的監(jiān)控機制,一旦腳本的運行過程中發(fā)生錯誤,只是通過截圖、保存日志等方式保存錯誤現(xiàn)場相關(guān)數(shù)據(jù),這種方式有兩個比較大的弊端,一是數(shù)據(jù)保存不完整,現(xiàn)有機制僅是保存錯誤發(fā)生時間點當(dāng)前時刻的數(shù)據(jù),然而一條腳本的運行失敗有可能是一系列的操作引起的,僅保存錯誤時間點的數(shù)據(jù)并無法充分說明問題;二是數(shù)據(jù)不夠直觀,不利于錯誤誘因推斷。測試人員單憑幾張截圖或是相關(guān)日志去判斷錯誤誘因,需要憑經(jīng)驗和推理,給程序缺陷或漏洞的定位和推斷帶來一定的難度。如果能對錯誤發(fā)生時間點的相鄰時間段的運行進(jìn)行監(jiān)測,將運行情況通過錄屏的方式保存下來,將大大方便定位,雖然目前有一些PC端的工具能對手機進(jìn)行錄屏,但是在跑自動化測試腳本往往需要脫離PC運行?;谝陨媳尘?,本發(fā)明提出了一種脫離PC的Android自動化測試錄屏機制。
【發(fā)明內(nèi)容】
[0004]本發(fā)明為解決上述問題,提供了一種脫離PC的Android自動化測試錄屏機制及錄屏系統(tǒng),達(dá)到有效的、完整的、直觀的保存錯誤現(xiàn)場相關(guān)數(shù)據(jù)的目的,解決現(xiàn)有機制所存在的弊端。
[0005]為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案為:
[0006]—種脫離PC的Android自動化測試錄屏機制,其包括以下步驟:
[0007]10.啟動自動化測試腳本,并運行錄屏程序?qū)λ龅淖詣踊瘻y試腳本的運行情況進(jìn)行監(jiān)聽;
[0008]20.將所述的錄屏程序的監(jiān)聽結(jié)果進(jìn)行錄制,并生成錄屏緩存文件;
[0009]30.判斷所述的自動化測試腳本的運行是否發(fā)生異常,若否,則結(jié)束錄屏并清空所述的錄屏緩存文件;若是,則對發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行保存。
[0010]優(yōu)選的,所述的步驟10進(jìn)一步包括:
[0011]11.運行錄屏程序,通過待測試的Android應(yīng)用程序開啟線程進(jìn)行不間斷錄屏;
[0012]12.通過待測試的Android應(yīng)用程序啟動所述的自動化測試腳本;
[0013]13.所述的錄屏程序根據(jù)腳本運行情況反饋機制對所述的自動化測試腳本的運行情況進(jìn)行監(jiān)聽。
[0014]優(yōu)選的,所述的步驟20中生成錄屏緩存文件后,是采用先進(jìn)先出、后進(jìn)后出的堆棧結(jié)構(gòu)的緩沖機制將生成的錄屏緩存文件存入緩沖區(qū)域,每個錄屏緩存文件具有預(yù)設(shè)的固定時長。
[0015]優(yōu)選的,所述的步驟30中判斷所述的自動化測試腳本的運行是否發(fā)生異常,是指在所述的自動化測試腳本停止運行時,通過腳本運行情況反饋機制判斷該自動化測試腳本是否發(fā)生異常:
[0016]31.若所述的自動化測試腳本為正常停止運行,則結(jié)束錄屏并清空所述的錄屏緩存文件;
[0017]32.若所述的自動化測試腳本為異常停止運行,則對發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行保存;
[0018]33.根據(jù)所述的發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行異常誘因判斷和分析。
[0019]另外,本發(fā)明還提供一種脫離PC的Android自動化測試錄屏系統(tǒng),其包括:
[0020]腳本運行模塊A,用于啟動自動化測試腳本;
[0021]錄屏模塊B,用于運行錄屏程序?qū)λ龅淖詣踊瘻y試腳本的運行情況進(jìn)行監(jiān)聽,并將所述的錄屏程序的監(jiān)聽結(jié)果進(jìn)行錄制;
[0022]緩存模塊C,用于將所錄制的錄屏程序的監(jiān)聽結(jié)果生成錄屏緩存文件;
[0023]分析模塊D,用于判斷所述的自動化測試腳本的運行是否發(fā)生異常,若否,則結(jié)束錄屏并清空所述的錄屏緩存文件;若是,則對發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行保存;
[0024]存儲模塊E,用于保存所述的發(fā)生異常時間點相關(guān)的錄屏緩存文件。
[0025]本發(fā)明的有益效果是:
[0026]本發(fā)明的一種脫離PC的Android自動化測試錄屏機制及錄屏系統(tǒng),其通過啟動自動化測試腳本,并運行錄屏程序?qū)λ龅淖詣踊瘻y試腳本的運行情況進(jìn)行監(jiān)聽,將所述的錄屏程序的監(jiān)聽結(jié)果進(jìn)行錄制,并生成錄屏緩存文件,然后判斷所述的自動化測試腳本的運行是否發(fā)生異常,若否,則結(jié)束錄屏并清空所述的錄屏緩存文件;若是,則對發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行保存;從而僅保存發(fā)生異常時間點附近的錄屏緩存文件,過濾其他不必要信息,不僅節(jié)約了存儲空間,而且節(jié)約了后續(xù)的異常誘因的分析工作量,使得測試分析工作更有針對性,測試異常處理的效率更高。
【附圖說明】
[0027]此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
[0028]圖1為本發(fā)明一種脫離PC的Android自動化測試錄屏機制的流程簡圖;
[0029]圖2為本發(fā)明一種脫離PC的Android自動化測試錄屏系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0030]為了使本發(fā)明所要解決的技術(shù)問題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖及實施例對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0031]如圖1所示,本發(fā)明的一種脫離PC的Android自動化測試錄屏機制,其包括以下步驟:
[0032]10.啟動自動化測試腳本,并運行錄屏程序?qū)λ龅淖詣踊瘻y試腳本的運行情況進(jìn)行監(jiān)聽;
[0033]20.將所述的錄屏程序的監(jiān)聽結(jié)果進(jìn)行錄制,并生成錄屏緩存文件;
[0034]30.判斷所述的自動化測試腳本的運行是否發(fā)生異常,若否,則結(jié)束錄屏并清空所述的錄屏緩存文件;若是,則對發(fā)生異常時間點相關(guān)的錄屏緩存文件進(jìn)行保存。
[0035]所述的自動化測試腳本按照指定格式進(jìn)行腳本編輯,或者通過測試工具導(dǎo)入按照指定格式外編輯的測試腳本,并設(shè)定測試用例及其執(zhí)行的次數(shù)、執(zhí)行的時間間隔以及兩個測試用例之間執(zhí)行的時間間隔等;同時還可設(shè)定測試過程中進(jìn)行系統(tǒng)資源監(jiān)控的參數(shù)。
[0036]所述的錄屏程序可以是一種使用常用程序語言,例如c語言開發(fā)出來且獨立于待測試應(yīng)用程序的可執(zhí)行文件;本實施例中,所述的錄屏程序是一個獨立的Android應(yīng)用程序,在進(jìn)行Android終端應(yīng)用程序的測試方法時,用