塊5001。
[0157] 所述操作執(zhí)行結(jié)果賦值模塊504可W包括;測(cè)試指令轉(zhuǎn)化模塊5041,操作執(zhí)行結(jié) 果獲取模塊5042。
[015引下面分別詳細(xì)介紹各模塊的功能W及各模塊之間的關(guān)系。
[0159] 終端狀態(tài)賦值模塊500,用于在所述操作執(zhí)行結(jié)果賦值模塊504獲取使用測(cè)試應(yīng) 用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試指令操作執(zhí)行結(jié)果之前,通過(guò)所述測(cè)試應(yīng)用獲取所述終端的終 端狀態(tài),并將所述終端狀態(tài)賦值給所述測(cè)試應(yīng)用中預(yù)設(shè)的第二變量。
[0160] 優(yōu)選地,所述測(cè)試應(yīng)用可W包括Monk巧Runner等。
[0161] 優(yōu)選地,所述終端狀態(tài),可W包括;啟動(dòng)裝載狀態(tài)、空狀態(tài)、離線狀態(tài)、在線狀態(tài)、恢 復(fù)狀態(tài)和未授權(quán)狀態(tài)等。
[0162] 優(yōu)選地,所述第二變量可W包括枚舉類型的全局變量。
[0163] 優(yōu)選地,所述終端狀態(tài)賦值模塊500 ;可W包括:
[0164] 終端狀態(tài)獲取模塊5001,用于修改所述測(cè)試應(yīng)用中的第二函數(shù),并通過(guò)修改后的 第二函數(shù)獲取所述終端的終端狀態(tài)。
[0165] 優(yōu)選地,所述第二函數(shù)可W為MonkeyRunner中的胖3;[1化扣0]1]16(31:;[0]1函數(shù)。
[0166] 優(yōu)選地,所述終端狀態(tài)獲取模塊5001可W在所述第二函數(shù)中增加第一靜態(tài)變量 和第二靜態(tài)變量。
[0167] 其中,所述第一靜態(tài)變量用于存儲(chǔ)終端的標(biāo)識(shí)信息;所述第二靜態(tài)變量用于存儲(chǔ) 終端的連接超時(shí)信息。
[0168] 第二異常處理模塊502,用于調(diào)用所述測(cè)試應(yīng)用中預(yù)設(shè)的處理所述終端狀態(tài)的終 端狀態(tài)處理類,通過(guò)所述終端狀態(tài)處理類獲取所述第二變量,并根據(jù)所述第二變量對(duì)所述 終端狀態(tài)指示的異常狀態(tài)進(jìn)行異常處理。
[0169] 優(yōu)選地,所述第二異常處理模塊502可W當(dāng)所述終端狀態(tài)為離線狀態(tài)時(shí),重新建 立所述測(cè)試應(yīng)用與所述終端之間的連接,直至所述終端狀態(tài)為在線狀態(tài)。
[0170] 操作執(zhí)行結(jié)果賦值模塊504,用于獲取使用測(cè)試應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試指 令操作執(zhí)行結(jié)果,并將所述測(cè)試指令操作執(zhí)行結(jié)果賦值給所述測(cè)試應(yīng)用中預(yù)設(shè)的第一變 量。
[0171] 優(yōu)選地,所述測(cè)試指令操作執(zhí)行結(jié)果,可W包括;測(cè)試指令操作執(zhí)行成功、測(cè)試指 令操作執(zhí)行失敗、所述測(cè)試應(yīng)用與所述終端之間Scoket連接成功和所述測(cè)試應(yīng)用與所述 終端之間Socket連接失敗等。
[0172] 優(yōu)選地,所述第一變量可W包括枚舉類型的全局變量。
[0173] 優(yōu)選地,所述操作執(zhí)行結(jié)果賦值模塊504,可W包括:
[0174] 測(cè)試指令轉(zhuǎn)化模塊5041,用于使用所述測(cè)試應(yīng)用中預(yù)設(shè)的第一函數(shù),將所述測(cè)試 應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試命令轉(zhuǎn)化為所述終端所支持的測(cè)試指令,并發(fā)送至所述終 玉山 乂而。
[0175] 操作執(zhí)行結(jié)果獲取模塊5042,用于獲取所述終端執(zhí)行所述測(cè)試指令后返回的測(cè)試 指令操作執(zhí)行結(jié)果。
[0176] 第一異常處理模塊506,用于調(diào)用所述測(cè)試應(yīng)用中預(yù)設(shè)的處理所述測(cè)試指令操作 執(zhí)行結(jié)果的執(zhí)行結(jié)果處理類,通過(guò)所述執(zhí)行結(jié)果處理類獲取所述第一變量,并根據(jù)所述第 一變量對(duì)所述測(cè)試指令操作執(zhí)行結(jié)果指示的執(zhí)行異常的測(cè)試指令操作進(jìn)行異常處理。
[0177] 優(yōu)選地,所述執(zhí)行結(jié)果處理類,可W包括動(dòng)態(tài)代理類。其中,所述動(dòng)態(tài)代理類可W 為MonkeyDeviceProxy類。
[0178] 優(yōu)選地,所述第一異常處理模塊506可W當(dāng)所述測(cè)試指令執(zhí)行結(jié)果為執(zhí)行失敗 時(shí),使用所述測(cè)試應(yīng)用重新發(fā)送測(cè)試指令至所述終端,令所述終端重新執(zhí)行所述測(cè)試指令, 直至測(cè)試指令執(zhí)行結(jié)果為執(zhí)行成功;或當(dāng)所述測(cè)試指令執(zhí)行結(jié)果為Socket連接失敗時(shí), 重新建立所述測(cè)試應(yīng)用與所述終端之間的Socket連接,直至測(cè)試指令操作執(zhí)行結(jié)果為 Socket連接成功。
[0179] 綜上所述,本發(fā)明實(shí)施例通過(guò)在測(cè)試應(yīng)用中預(yù)設(shè)第一變量和執(zhí)行結(jié)果處理類對(duì)測(cè) 試應(yīng)用進(jìn)行修改,增加了第一變量和執(zhí)行結(jié)果處理類,將獲取到的測(cè)試指令操作執(zhí)行結(jié)果 賦值給第一變量,再通過(guò)執(zhí)行結(jié)果處理類獲取第一變量并根據(jù)第一變量對(duì)執(zhí)行異常的測(cè)試 指令操作進(jìn)行異常處理,解決了現(xiàn)有數(shù)據(jù)處理方案中部分操作不能獲取操作執(zhí)行結(jié)果,無(wú) 法處理操作過(guò)程中發(fā)生的異常情況,提高了數(shù)據(jù)處理的可靠性。
[0180] 在此提供的數(shù)據(jù)處理方案不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相 關(guān)。各種通用系統(tǒng)也可W與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造具有本發(fā)明 方案的系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng) 明白,可W利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的 描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0181] 在此處所提供的說(shuō)明書中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施 例可W在沒有該些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu) 和技術(shù),W便不模糊對(duì)本說(shuō)明書的理解。
[0182] 類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在 上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施 例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖;即所要求保 護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如權(quán)利 要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具 體實(shí)施方式的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為 本發(fā)明的單獨(dú)實(shí)施例。
[0183] 本領(lǐng)域那些技術(shù)人員可W理解,可W對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地 改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??蒞把實(shí)施例中的模塊或單 元或組件組合成一個(gè)模塊或單元或組件,W及此外可W把它們分成多個(gè)子模塊或子單元或 子組件。除了該樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可W采用任 何組合對(duì)本說(shuō)明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征W及如此公開 的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(包括伴 隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可W由提供相同、等同或相似目的的替代 特征來(lái)代替。
[0184] 此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例 中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的 范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一 都可WW任意的組合方式來(lái)使用。
[0185]本發(fā)明的各個(gè)部件實(shí)施例可硬件實(shí)現(xiàn),或者W在一個(gè)或者多個(gè)處理器上運(yùn)行 的軟件模塊實(shí)現(xiàn),或者W它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可W在實(shí)踐中使用 微處理器或者數(shù)字信號(hào)處理器值S巧來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)處理方案中的一些 或者全部部件的一些或者全部功能。本發(fā)明還可W實(shí)現(xiàn)為用于執(zhí)行該里所描述的方法的一 部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。該樣的實(shí)現(xiàn)本 發(fā)明的程序可W存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可W具有一個(gè)或者多個(gè)信號(hào)的形式。該樣 的信號(hào)可W從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者W任何其他形式提供。
[0186] 應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng) 域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中, 不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞"包含"不排除存在 未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞"一"或"一個(gè)"不排除存在多個(gè)該 樣的元件。本發(fā)明可W借助于包括有若干不同元件的硬件W及借助于適當(dāng)編程的計(jì)算機(jī)來(lái) 實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,該些裝置中的若干個(gè)可W是通過(guò)同一個(gè)硬件 項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、W及第=等的使用不表示任何順序。可將該些單詞解釋為 名稱。
[0187] 本發(fā)明公開了A1、一種數(shù)據(jù)處理方法,包括:
[018引獲取使用測(cè)試應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試指令操作執(zhí)行結(jié)果,并將所述測(cè)試指 令操作執(zhí)行結(jié)果賦值給所述測(cè)試應(yīng)用中預(yù)設(shè)的第一變量;
[0189] 調(diào)用所述測(cè)試應(yīng)用中預(yù)設(shè)的處理所述測(cè)試指令操作執(zhí)行結(jié)果的執(zhí)行結(jié)果處理類, 通過(guò)所述執(zhí)行結(jié)果處理類獲取所述第一變量,并根據(jù)所述第一變量對(duì)所述測(cè)試指令操作執(zhí) 行結(jié)果指示的執(zhí)行異常的測(cè)試指令操作進(jìn)行異常處理。
[0190]A2、根據(jù)A1所述的方法,其中,所述獲取使用測(cè)試應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試 指令操作執(zhí)行結(jié)果,包括:
[0191] 使用所述測(cè)試應(yīng)用中預(yù)設(shè)的第一函數(shù),將所述測(cè)試應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試 命令轉(zhuǎn)化為所述終端所支持的測(cè)試指令,并發(fā)送至所述終端;
[0192] 獲取所述終端執(zhí)行所述測(cè)試指令后返回的測(cè)試指令操作執(zhí)行結(jié)果。
[0193]A3、根據(jù)A1或A2所述的方法,其中,所述測(cè)試指令操作執(zhí)行結(jié)果,包括:
[0194] 測(cè)試指令操作執(zhí)行成功、測(cè)試指令操作執(zhí)行失敗、所述測(cè)試應(yīng)用與所述終端之間 Scoket連接成功和所述測(cè)試應(yīng)用與所述終端之間Socket連接失敗。
[0195]A4、根據(jù)A3所述的方法,其中,所述根據(jù)所述第一變量對(duì)所述測(cè)試指令操作執(zhí)行 結(jié)果指示的執(zhí)行異常的測(cè)試指令操作進(jìn)行異常處理,包括:
[0196] 當(dāng)所述測(cè)試指令執(zhí)行結(jié)果為執(zhí)行失敗時(shí),使用所述測(cè)試應(yīng)用重新發(fā)送測(cè)試指令至 所述終端,令所述終端重新執(zhí)行所述測(cè)試指令,直至測(cè)試指令執(zhí)行結(jié)果為執(zhí)行成功;或
[0197] 當(dāng)所述測(cè)試指令執(zhí)行結(jié)果為Socket連接失敗時(shí),重新建立所述測(cè)試應(yīng)用與所述 終端之間的Socket連接,直至測(cè)試指令操作執(zhí)行結(jié)果為Socket連接成功。
[019引 A5、根據(jù)A1所述的方法,其中,所述獲取使用測(cè)試應(yīng)用對(duì)終端進(jìn)行測(cè)試時(shí)的測(cè)試 指令操作執(zhí)行結(jié)果之前,所述方法還包括:
[0199] 通過(guò)所述測(cè)試應(yīng)用獲取所述終端的終端狀態(tài),并將所述終端狀態(tài)賦值給所述測(cè)試 應(yīng)用中預(yù)設(shè)的第二變量;
[0200] 調(diào)用所述測(cè)試應(yīng)用中