得到的配置文件啟動(dòng)自動(dòng)測(cè)試程序,啟動(dòng)測(cè)試程序之后,加載模塊30 2加載并解析配置文件,得到測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo)。以九宮格輸入法為例,假設(shè)測(cè)試字符串為96636,其中每個(gè)數(shù)字代表九宮格內(nèi)對(duì)應(yīng)數(shù)字的按鍵;查詢配置文件,得到這幾個(gè)數(shù)字對(duì)應(yīng)的按鍵的坐標(biāo)。
[0062]模擬模塊303,適于根據(jù)測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo),在輸入法界面的相應(yīng)位置模擬點(diǎn)擊操作。
[0063]測(cè)試模塊304,適于獲取候選詞內(nèi)容,查看候選詞內(nèi)容是否正確。
[0064]在模擬點(diǎn)擊操作之后,輸入法應(yīng)用程序會(huì)在輸入法界面中給出候選詞內(nèi)容,該候選詞內(nèi)容包含至少一個(gè)候選詞。獲取該候選詞內(nèi)容,測(cè)試模塊304比較候選詞內(nèi)容與測(cè)試字符串對(duì)應(yīng)的預(yù)期候選詞內(nèi)容是否一致,若一致,則測(cè)試結(jié)果為正確。
[0065]進(jìn)一步的,該裝置還包括:調(diào)用模塊305,適于調(diào)用預(yù)先在輸入法應(yīng)用程序中配置的特定接口,獲取輸入法應(yīng)用程序返回的候選詞內(nèi)容。在本實(shí)施例中,預(yù)先在輸入法應(yīng)用程序中配置特定接口,該特定接口是僅供測(cè)試APK(即測(cè)試程序)調(diào)用的接口。調(diào)用模塊305通過(guò)調(diào)用該特定接口,能夠讓輸入法應(yīng)用程序?qū)?dāng)前輸入法界面的顯示信息進(jìn)行返回,繼而獲取到輸入法應(yīng)用程序的候選詞的結(jié)果。
[0066]調(diào)用模塊305進(jìn)一步適于:獲取包含預(yù)設(shè)個(gè)數(shù)候選詞的候選詞內(nèi)容;或者,獲取輸入法界面所顯示的候選詞內(nèi)容。具體地,輸入法應(yīng)用程序的特定接口可向測(cè)試APK返回包含預(yù)設(shè)個(gè)數(shù)候選詞的候選詞內(nèi)容,例如返回前5個(gè)候選詞;或者,輸入法應(yīng)用程序的特定接口可向測(cè)試APK返回輸入法界面所顯示的候選詞內(nèi)容,即模擬點(diǎn)擊操作后當(dāng)前輸入法界面所顯示的若干個(gè)候選詞。測(cè)試模塊304通過(guò)比較預(yù)設(shè)個(gè)數(shù)候選詞和/或當(dāng)前輸入法界面所顯示的若干個(gè)候選詞來(lái)確定測(cè)試結(jié)果是否正確。
[0067]配置模塊301進(jìn)一步適于:按照預(yù)設(shè)算法計(jì)算具有特定分辨率的輸入法界面中各個(gè)按鍵的坐標(biāo)。這里,特定分辨率可以為1280*720。
[0068]然而對(duì)于不同的測(cè)試設(shè)備,其界面的分辨率可能是不同的,因此,該裝置還包括:適配模塊306,適于獲取測(cè)試設(shè)備的輸入法界面的分辨率,若測(cè)試設(shè)備的輸入法界面的分辨率與特定分辨率不同,則將測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo)進(jìn)行適配處理。
[0069]適配模塊306進(jìn)一步適于:根據(jù)測(cè)試設(shè)備的輸入法界面的分辨率與特定分辨率的比例差異,將測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo)進(jìn)行縮放處理。舉例來(lái)說(shuō),測(cè)試設(shè)備的輸入法界面的分辨率為1920*1080,其長(zhǎng)度和寬度的像素均高于特定分辨率的長(zhǎng)度和寬度,則根據(jù)這種比例差異,將配置文件所提供的按鍵坐標(biāo)進(jìn)行適當(dāng)放大處理,以適應(yīng)測(cè)試設(shè)備的分辨率要求。
[0070]測(cè)試文件中包含大量的測(cè)試字符串及其對(duì)應(yīng)的預(yù)期候選詞內(nèi)容,在配置模塊301預(yù)先得到的配置文件以及預(yù)先配置特定接口的前提下,啟動(dòng)測(cè)試程序,測(cè)試程序自動(dòng)讀取測(cè)試文件,模擬模塊303和測(cè)試模塊304循環(huán)運(yùn)行,完成測(cè)試文件中所有測(cè)試字符串的測(cè)試工作。
[0071]根據(jù)本實(shí)施例提供的輸入法的測(cè)試裝置,預(yù)先按照預(yù)設(shè)算法計(jì)算輸入法界面中各個(gè)按鍵的坐標(biāo),將各個(gè)按鍵的坐標(biāo)寫(xiě)入到配置文件中;啟動(dòng)測(cè)試程序,加載并解析配置文件,得到測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo);根據(jù)測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo),在輸入法界面的相應(yīng)位置模擬點(diǎn)擊操作;獲取候選詞內(nèi)容,查看候選詞內(nèi)容是否正確。本裝置基于預(yù)先得到的配置文件,在測(cè)試程序運(yùn)行過(guò)程中,解析配置文件能夠得到測(cè)試字符串對(duì)應(yīng)的至少一個(gè)按鍵的坐標(biāo),解決了通過(guò)繪制方法得到的輸入法界面無(wú)法獲取按鍵的坐標(biāo)信息的技術(shù)問(wèn)題;而且,通過(guò)預(yù)先在輸入法應(yīng)用程序中配置特定接口,使得測(cè)試程序在測(cè)試過(guò)程中調(diào)用特定接口就可以方便的獲取候選詞內(nèi)容,進(jìn)而最終能實(shí)現(xiàn)輸入法測(cè)試過(guò)程的完全自動(dòng)化。
[0072]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0073]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0074]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0075]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0076]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0077]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的輸入法的測(cè)試裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0078]應(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ā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。