安卓移動終端的自動化測試防干擾方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及自動化測試技術(shù)領(lǐng)域,特別是設(shè)及一種安卓移動終端的自動化測試防 干擾方法和裝置。
【背景技術(shù)】
[0002] 隨著An化oid手機功能越來越復(fù)雜,An化oid手機軟件測試投入的人力越來越多, 測試成本越來越高。傳統(tǒng)的人工測試很難滿足日益增長的Amlroid手機軟件測試需求。實 施手機自動化測試成為一種趨勢。
[0003] 自動化測試過程中,有一種嚴重干擾自動化測試的情況,當自動化化se在連跑過 程中如果有異常干擾,例如意外來電、或者短信、鬧鈴等彈出或界面跳轉(zhuǎn),將直接導(dǎo)致一大 片化se連跑失敗,而連跑大都在無人看守的夜間進行,出錯后無法人工修正,另外由于連 跑時間較長,被干擾的概率非常高,嚴重影響連跑計劃,直接導(dǎo)致測試失敗,或者導(dǎo)致測試 平臺直接判定測試結(jié)果為異常,運都將影響整體測試的準確率和效率。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種安卓移動終端的自動化測試防干擾方法和裝置,能夠解決現(xiàn)有技 術(shù)存在的在自動化測試過程中受到異常事件干擾導(dǎo)致降低測試準確率和效率的問題。 陽〇化]為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種安卓移動終端的 自動化測試防干擾方法,該方法包括W下步驟:執(zhí)行測試腳本中的測試命令;判斷所述命 令是否執(zhí)行成功;當判斷所述命令未執(zhí)行成功時,則開始檢測所述命令未執(zhí)行成功的原因 是否是異常事件的干擾,所述異常事件為與測試無關(guān)的彈出或跳轉(zhuǎn);若是所述異常事件的 干擾,則自動關(guān)閉或忽略所述異常事件,并重新執(zhí)行所述命令。
[0006] 其中,所述自動關(guān)閉或忽略異常事件的步驟包括:接收后臺指令;解析所述后臺 指令并根據(jù)所述后臺指令控制關(guān)閉或忽略所述異常事件。
[0007] 其中,所述檢測命令未執(zhí)行成功的原因是否是異常事件的干擾的步驟包括:檢測 當前界面是否是所述異常事件的應(yīng)用界面;檢測所述當前界面的包名是否是所述異常事件 的包名;根據(jù)所述界面的檢測結(jié)果和所述包名的檢測結(jié)果判斷所述命令未執(zhí)行成功的原因 是否是所述異常事件的干擾,若所述當前界面是所述異常事件的應(yīng)用界面,并且所述包名 是所述異常事件的包名,則判斷所述命令未執(zhí)行成功的原因為所述異常事件的干擾。
[0008] 其中,若檢測到所述命令未執(zhí)行成功的原因不是所述異常事件的干擾,則判斷自 動化測試的命令執(zhí)行結(jié)果為命令執(zhí)行失敗,并處理所述執(zhí)行結(jié)果。
[0009] 其中,所述異常事件包括來電彈出、短信彈出、鬧鐘響起彈出、備忘錄提示彈出、自 動化測試中倒計時結(jié)束彈出和低電量提示彈出中的至少一種。
[0010] 為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種安卓移動終端 的自動化測試防干擾裝置,該裝置包括執(zhí)行模塊、第一判斷模塊、檢測模塊和防干擾模塊; 所述執(zhí)行模塊用于執(zhí)行測試腳本中的測試命令;所述第一判斷模塊用于判斷所述執(zhí)行模塊 執(zhí)行的所述命令是否成功,當判斷所述命令未執(zhí)行成功時,將判斷結(jié)果發(fā)給所述檢測模塊; 所述檢測模塊用于在接收到所述命令未執(zhí)行成功的判斷結(jié)果后,開始檢測所述命令未執(zhí)行 成功的原因是否是異常事件的干擾,若是,則將檢測結(jié)果發(fā)送給所述防干擾模塊,其中,所 述異常事件為與測試無關(guān)的彈出或跳轉(zhuǎn);所述防干擾模塊用于在接收到所述檢測結(jié)果之 后,自動關(guān)閉或忽略異常事件,并控制重新執(zhí)行所述自動化測試中的所述命令。
[0011] 其中,所述防干擾模塊包括第一接收模塊、第二接收模塊和解析控制模塊;所述第 一接收模塊用于接收所述檢測結(jié)果;所述第二接收模塊用于在所述第一接收模塊接收到所 述檢測結(jié)果后接收后臺指令,并將所述后臺指令發(fā)送給所述解析控制模塊;所述解析控制 模塊用于解析所述后臺指令,并根據(jù)所述后臺指令控制關(guān)閉或忽略所述異常事件。
[0012] 其中,所述檢測模塊包括檢測接收模塊、界面檢測模塊、包名檢測模塊W及第二判 斷模塊;所述檢測接收模塊用于接收所述第一判斷模塊發(fā)來的判斷結(jié)果;所述界面檢測模 塊用于在所述檢測接收模塊接收到所述判斷結(jié)果后,檢測當前界面是否是所述異常事件的 應(yīng)用界面,并將該界面的檢測結(jié)果發(fā)送給所述第二判斷模塊;所述包名檢測模塊用于在所 述檢測接收模塊接收到所述判斷結(jié)果后,檢測所述當前界面的包名是否是所述異常事件的 包名,并將該包名的檢測結(jié)果發(fā)送給所述第二判斷模塊;所述第二判斷模塊用于根據(jù)所述 界面的檢測結(jié)果和所述包名的檢測結(jié)果判斷所述命令未執(zhí)行成功的原因是否是所述異常 事件的干擾,若所述當前界面是所述異常事件的應(yīng)用界面,并且,所述當前界面的包名是所 述異常事件的包名,則判斷所述命令未執(zhí)行成功的原因是所述異常事件的干擾,并將該檢 測所得的結(jié)果發(fā)送給所述防干擾模塊。
[0013] 其中,所述防干擾模塊進一步包括第=判斷模塊和控制模塊;所述第=判斷模塊 用于在接收到所述第二判斷模塊判斷出所述命令未執(zhí)行成功的原因不是所述異常事件的 干擾之后,判斷自動化測試的命令執(zhí)行結(jié)果為命令執(zhí)行失敗,并將該判斷結(jié)果發(fā)送給所述 控制模塊;所述控制模塊用于在接收到所述第=判斷模塊的判斷結(jié)果之后,控制自動化測 試繼續(xù)處理所述執(zhí)行結(jié)果。
[0014] 其中,所述異常事件包括來電彈出、短信彈出、鬧鐘響起彈出、備忘錄提示彈出、自 動化測試中倒計時結(jié)束彈出和低電量提示彈出中的至少一種。
[0015] 本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明通過在自動化測試過程中, 命令未執(zhí)行成功的時候,檢測命令未執(zhí)行成功的原因,如果原因是異常事件的干擾,則自動 排除干擾,即自動關(guān)閉或忽略異常事件,無需人工控制,也能使得自動化測試能得W繼續(xù)進 行,而不會被異常事件的干擾而導(dǎo)致測試失敗,并且不會出現(xiàn)直接判定測試結(jié)果為異常的 情況,提高了整體測試的準確率和效率。
【附圖說明】
[0016] 圖1是本發(fā)明安卓移動終端的自動化測試防干擾方法第一實施例的流程示意圖;
[0017] 圖2是本發(fā)明安卓移動終端的自動化測試防干擾方法第二實施例的流程示意圖;
[0018] 圖3是圖2中檢測命令未執(zhí)行成功的原因是否是異常事件的干擾的步驟的流程示 意圖;
[0019] 圖4是圖2中自動關(guān)閉或忽略異常事件的步驟的流程示意圖;
[0020] 圖5是本發(fā)明安卓移動終端的自動化測試防干擾方法第二實施例的流程示意圖;
[0021] 圖6是本發(fā)明自動化測試防干擾裝置第一實施例的連接框圖;
[0022]圖7是本發(fā)明自動化測試防干擾裝置第二實施例的連接框圖。
【具體實施方式】
[0023] 下面結(jié)合附圖和【具體實施方式】對本發(fā)明進行詳細說明。
[0024] 請參閱圖1,圖1是本發(fā)明安卓移動終端的自動化測試防干擾方法第一實施例的 流程示意圖。
[0025] 具體而言,本實施例的安卓移動終端的自動化測試防干擾方法包括W下步驟:
[0026]S100、執(zhí)行測試腳本中的測試命令。
[0027] 在開啟自動化測試后,開始執(zhí)行一個測試腳本中的測試命令。
[0028] S101、判斷該命令是否執(zhí)行成功。
[0029] 在執(zhí)行該命令后,判斷該命令是否執(zhí)行成功。
[0030] S102、若判斷命令執(zhí)行失敗時,則開始檢測命令未執(zhí)行成功的原因是否是異常事 件的干擾,其中,異常事件為與測試無關(guān)的彈出或跳轉(zhuǎn)。
[0031] 本發(fā)明是在判斷命令未執(zhí)行成功后才開始檢測命令未執(zhí)行成功的原因,而無需在 整個自動化測試過程中都對異常事件進行監(jiān)控,能極大程度地節(jié)約運行資源,能在極限測 試中做到不影響測試內(nèi)容。
[0032] 其中,異常事件包括來電彈出、短信彈出、鬧鐘響起彈出、備忘錄提示彈出、自動化 測試中倒計時結(jié)束彈出和低電量提示彈出中的至少一種。
[0033] S103、若是異常事件的干擾,則自動關(guān)閉或忽略異常事件,并重新執(zhí)行命令。
[0034] 例如,如果是來電彈出,則自動拒絕接聽;如果是鬧鐘響起彈出,則自動關(guān)閉鬧鈴 等。將異常事件關(guān)閉之后,繼續(xù)進行自動化測試,重