安卓軟件的操作錄制裝置和方法
【專利摘要】本發(fā)明提供了一種安卓軟件的操作錄制裝置,包括:終端連接單元,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,獲取連接成功的設(shè)備信息;特性信息解析單元,用于取出關(guān)鍵信息;操作坐標(biāo)獲取單元,用于獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo);面向?qū)ο竽_本生成單元,用于將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;時(shí)序圖錄制單元,用于錄制相應(yīng)的時(shí)序圖。本發(fā)明還提供了一種安卓軟件的操作錄制方法。通過(guò)本發(fā)明的技術(shù)方案,可以在現(xiàn)有的軟件操作錄制方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜多對(duì)象類型的軟件操作錄制,建立復(fù)雜對(duì)象類型參與的軟件操作錄制的通用、統(tǒng)一錄制思路。
【專利說(shuō)明】安卓軟件的操作錄制裝置和方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體地,涉及一種安卓軟件的操作錄制裝置和一種安卓軟件的操作錄制方法。
[0003]
【背景技術(shù)】
[0004]在Android手機(jī)上進(jìn)行自動(dòng)化測(cè)試的時(shí)候,測(cè)試腳本的編寫比較復(fù)雜。自動(dòng)化腳本需求在一個(gè)應(yīng)用程序發(fā)布、正在被使用和隨后需要推出更新時(shí)更為緊迫。所有現(xiàn)存的特點(diǎn)需要每次推出更新時(shí)被測(cè)試,要確保在升級(jí)代碼的時(shí)候沒有回歸誤差。編寫方式顯然不能滿足上述要求。
[0005]自動(dòng)化測(cè)試對(duì)測(cè)試人員的技術(shù)要求較高,自動(dòng)化測(cè)試推廣的初期往往是由開發(fā)人員兼任,普通測(cè)試人員很難快速的寫出測(cè)試腳本。
[0006]因此,需要一種新的軟件操作錄制技術(shù),可以在現(xiàn)有的軟件操作錄制方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜多對(duì)象類型的軟件操作錄制,建立復(fù)雜對(duì)象類型參與的軟件操作錄制的通用、統(tǒng)一錄制思路。
[0007]
【發(fā)明內(nèi)容】
[0008]本發(fā)明正是基于上述問題,提出了一種新的軟件操作錄制技術(shù),可以在現(xiàn)有的軟件操作錄制方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜多對(duì)象類型的軟件操作錄制,建立復(fù)雜對(duì)象類型參與的軟件操作錄制的通用、統(tǒng)一錄制思路。
[0009]有鑒于此,本發(fā)明提出了一種安卓軟件的操作錄制裝置,包括:終端連接單元102,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息;特性信息解析單元104,用于基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率;操作坐標(biāo)獲取單元106,用于基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo);面向?qū)ο竽_本生成單元108,用于將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ);時(shí)序圖錄制單元110,用于基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。在該技術(shù)方案中,可以在android操作系統(tǒng)的智能手機(jī)上,錄制用戶的操作行為動(dòng)作;將兩種錄制模式結(jié)合使用相得益彰,使得錄制結(jié)果準(zhǔn)確快速。
[0010]在上述技術(shù)方案中,優(yōu)選地,所述終端連接單元102,具體包括:調(diào)試及驅(qū)動(dòng)模塊1022,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接及反饋模塊1024,用于基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。在該技術(shù)方案中,可以面向?qū)ο蟮哪_本,一次錄制到處回放。
[0011]在上述技術(shù)方案中,優(yōu)選地,所述操作坐標(biāo)獲取單元106,具體包括:事件流方式取坐標(biāo)模塊1062,用于基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖;PC屏幕點(diǎn)擊取坐標(biāo)模塊1064,用于基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在PC端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。在該技術(shù)方案中,可以以多種方式識(shí)別動(dòng)作,保證錄制過(guò)程完整、準(zhǔn)確。
[0012]在上述技術(shù)方案中,優(yōu)選地,所述面向?qū)ο竽_本生成單元108生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句;和/或,所述事件流方式取坐標(biāo)模塊1062進(jìn)行截圖的操作,進(jìn)一步包括:單擊操作屏幕截圖;和/或,滑動(dòng)操作屏幕截圖;和/或,功能鍵操作屏幕截圖。
[0013]在上述技術(shù)方案中,優(yōu)選地,所述時(shí)序圖錄制單元110,具體包括:手機(jī)直接錄制模塊1102,用于基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖;屏幕點(diǎn)擊錄制模塊1104,用于基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。在該技術(shù)方案中,可以以錄制的方式生成腳本,代替以往人工編寫腳本的方式。
[0014]根據(jù)本發(fā)明的又一個(gè)方面,還提出了一種安卓軟件的操作錄制方法,包括:步驟202:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息;步驟204:基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率;步驟206:基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo);步驟208:將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ);步驟210:基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。在該技術(shù)方案中,可以在android操作系統(tǒng)的智能手機(jī)上,錄制用戶的操作行為動(dòng)作;將兩種錄制模式結(jié)合使用相得益彰,使得錄制結(jié)果準(zhǔn)確快速。
[0015]在上述技術(shù)方案中,優(yōu)選地,所述步驟202,具體包括:步驟302:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);步驟304:基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。在該技術(shù)方案中,可以面向?qū)ο蟮哪_本,一次錄制到處回放。
[0016]在上述技術(shù)方案中,優(yōu)選地,所述步驟206,具體包括:步驟402:基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖;步驟404:基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在PC端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。在該技術(shù)方案中,可以以多種方式識(shí)別動(dòng)作,保證錄制過(guò)程完整、準(zhǔn)確。
[0017]在上述技術(shù)方案中,優(yōu)選地,所述步驟202生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句;和/或,所述步驟404進(jìn)行截圖的操作,進(jìn)一步包括:單擊操作屏幕截圖;和/或,滑動(dòng)操作屏幕截圖;和/或,功能鍵操作屏幕截圖。
[0018]在上述技術(shù)方案中,優(yōu)選地,所述步驟210,具體包括:步驟502:基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖;步驟504:基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。在該技術(shù)方案中,可以以錄制的方式生成腳本,代替以往人工編寫腳本的方式。
[0019]通過(guò)以上技術(shù)方案,可以在現(xiàn)有的軟件操作錄制方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜多對(duì)象類型的軟件操作錄制,建立復(fù)雜對(duì)象類型參與的軟件操作錄制的通用、統(tǒng)一錄制思路。
[0020]
【專利附圖】
【附圖說(shuō)明】
[0021]圖1示出了根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制裝置的框圖;
圖2示出了根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制方法的流程圖;
圖3示出了根據(jù)本發(fā)明的實(shí)施例的終端連接單元的流程圖;
圖4示出了根據(jù)本發(fā)明的實(shí)施例的操作坐標(biāo)獲取單元的流程圖;
圖5示出了根據(jù)本發(fā)明的實(shí)施例的時(shí)序圖錄制單元的流程圖;
圖6示出了根據(jù)本發(fā)明的實(shí)施例的事件流結(jié)果截圖;
圖7示出了根據(jù)本發(fā)明的實(shí)施例的單擊操作屏幕截圖;
圖8示出了根據(jù)本發(fā)明的實(shí)施例的滑動(dòng)操作屏幕截圖;
圖9示出了根據(jù)本發(fā)明的實(shí)施例的功能鍵操作屏幕截圖;
圖10示出了根據(jù)本發(fā)明的實(shí)施例的手機(jī)直接錄制時(shí)序圖;
圖11示出了根據(jù)本發(fā)明的實(shí)施例的屏幕點(diǎn)擊錄制時(shí)序圖。
[0022]
【具體實(shí)施方式】
[0023]為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0024]在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。
[0025]圖1示出了根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制裝置的框圖。
[0026]如圖1所示,根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制裝置100,包括:終端連接單元,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息;特性信息解析單元,用于基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率;操作坐標(biāo)獲取單元,用于基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo);面向?qū)ο竽_本生成單元,用于將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ);時(shí)序圖錄制單元,用于基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。在該技術(shù)方案中,可以在android操作系統(tǒng)的智能手機(jī)上,錄制用戶的操作行為動(dòng)作;將兩種錄制模式結(jié)合使用相得益彰,使得錄制結(jié)果準(zhǔn)確快速。
[0027]在上述技術(shù)方案中,優(yōu)選地,終端連接單元,具體包括:調(diào)試及驅(qū)動(dòng)模塊,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接及反饋模塊,用于基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。在該技術(shù)方案中,可以面向?qū)ο蟮哪_本,一次錄制到處回放。
[0028]在上述技術(shù)方案中,優(yōu)選地,操作坐標(biāo)獲取單元,具體包括:事件流方式取坐標(biāo)模塊,用于基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖;PC屏幕點(diǎn)擊取坐標(biāo)模塊,用于基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在卩0端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。在該技術(shù)方案中,可以以多種方式識(shí)別動(dòng)作,保證錄制過(guò)程完整、準(zhǔn)確。
[0029]在上述技術(shù)方案中,優(yōu)選地,面向?qū)ο竽_本生成單元生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句;和/或,事件流方式取坐標(biāo)模塊進(jìn)行截圖的操作,進(jìn)一步包括:單擊操作屏幕截圖;和/或,滑動(dòng)操作屏幕截圖;和/或,功能鍵操作屏幕截圖。
[0030]在上述技術(shù)方案中,優(yōu)選地,時(shí)序圖錄制單元,具體包括:手機(jī)直接錄制模塊,用于基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖;屏幕點(diǎn)擊錄制模塊,用于基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。在該技術(shù)方案中,可以以錄制的方式生成腳本,代替以往人工編寫腳本的方式。
[0031]圖2示出了根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制方法的流程圖。
[0032]如圖2所示,根據(jù)本發(fā)明的實(shí)施例的安卓軟件的操作錄制方法,包括:步驟202:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息;步驟204:基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率;步驟206:基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo);步驟208:將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ);步驟210:基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。在該技術(shù)方案中,可以在android操作系統(tǒng)的智能手機(jī)上,錄制用戶的操作行為動(dòng)作;將兩種錄制模式結(jié)合使用相得益彰,使得錄制結(jié)果準(zhǔn)確快速。
[0033]在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟202,具體包括:步驟302:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);步驟304:基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。在該技術(shù)方案中,可以面向?qū)ο蟮哪_本,一次錄制到處回放。
[0034]在上述技術(shù)方案中,優(yōu)選地,如圖4所示,步驟206,具體包括:步驟402:基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖;步驟404:基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在PC端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。在該技術(shù)方案中,可以以多種方式識(shí)別動(dòng)作,保證錄制過(guò)程完整、準(zhǔn)確。
[0035]在上述技術(shù)方案中,優(yōu)選地,步驟202生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句;和/或,步驟404進(jìn)行截圖的操作,進(jìn)一步包括:單擊操作屏幕截圖;和/或,滑動(dòng)操作屏幕截圖;和/或,功能鍵操作屏幕截圖。
[0036]在上述技術(shù)方案中,優(yōu)選地,如圖5所示,步驟210,具體包括:步驟502:基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖;步驟504:基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。在該技術(shù)方案中,可以以錄制的方式生成腳本,代替以往人工編寫腳本的方式。
[0037]本發(fā)明的技術(shù)方案,提供了一種應(yīng)用于自動(dòng)化測(cè)試的安卓軟件操作錄制技術(shù);在android操作系統(tǒng)的智能手機(jī)上,錄制用戶的操作行為動(dòng)作。
[0038]本發(fā)明的技術(shù)方案,具有以下特點(diǎn):
⑴自動(dòng)化腳本生成;以錄制的方式生成腳本,代替以往人工編寫腳本的方式;
⑵良好的動(dòng)作識(shí)別率;以多種方式識(shí)別動(dòng)作,保證錄制過(guò)程完整、準(zhǔn)確;
⑶面向?qū)ο蟮哪_本,一次錄制到處回放;
⑷回放腳本能夠與主流回放框架相結(jié)合。
[0039]本發(fā)明解決現(xiàn)有技術(shù)問題的技術(shù)方案如下:
1、手機(jī)與PC連接。
[0040]手機(jī)通過(guò)USB線連接電腦并開打USB調(diào)試模式,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng)。連接成功后,在命令行輸入adb devices后可以看到設(shè)備信息表示連接成功。
[0041]2、手機(jī)特性信息解析。
[0042]Android系統(tǒng)在各個(gè)手機(jī)廠商生產(chǎn)時(shí)都經(jīng)過(guò)定制開發(fā),所以在命令行輸入adbdevices后得到的設(shè)備信息不盡相同,但只要取出關(guān)鍵信息就可以正確的對(duì)該手機(jī)進(jìn)行讀取。
[0043]>adb shell getevent - p
在反饋信息中找到有0035,0036標(biāo)識(shí)的行,這組設(shè)備信息代表手機(jī)的屏幕信息,可以解析出手機(jī)的分辨(720*1280),同時(shí)確定屏幕事件流名稱,通常為/dev/input/eventO。事件流結(jié)果如圖6所示。
[0044]3、取得操作坐標(biāo)事件流方式取坐標(biāo):
>adb shell getevent - d -1 - t
這是一個(gè)長(zhǎng)線程命令,在輸入這個(gè)命令之后,對(duì)手機(jī)進(jìn)行任何操作,事件流進(jìn)行監(jiān)聽,所有操作手機(jī)的動(dòng)作都會(huì)返回到PC端。通過(guò)返回事件流數(shù)量可以確定事件的類型,基本類型為:單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵。系統(tǒng)鍵事件流返回被接鍵的名稱,其它事件返回的是16進(jìn)制相對(duì)坐標(biāo),與之前我們?nèi)〕龅脑O(shè)備分辨率相計(jì)算,可以得到操作的具體位置坐標(biāo)。如圖7例:單擊操作屏幕截圖。滑動(dòng)操作屏幕截圖,如圖8所示。功能鍵操作屏幕截圖,如圖9所示。
[0045]PC屏幕點(diǎn)擊取坐標(biāo)。
[0046]在上述取坐標(biāo)的方式中,由于操作過(guò)快、多線程等原因,有時(shí)不能正確取得坐標(biāo),這時(shí)需要用到第二種方式。用之前得到的手機(jī)分辨率在PC上生成一個(gè)同樣大小的Ul視圖區(qū),
>adb shell /system/bin/screencap - p /sdcard/screenshot, png
>adb pull /sdcard/screenshot, png C:/my_screen
再用上述命令取得截圖并存放在PC中C:/my_screen的位置,將screenshot, png這個(gè)圖片顯示在視圖區(qū),視圖區(qū)還要添加手機(jī)系統(tǒng)按鍵,這樣手機(jī)就被映射到了 PC上。在PC上的視圖區(qū)點(diǎn)一下鼠標(biāo),我們可以記錄下點(diǎn)擊的坐標(biāo)值。同時(shí)用sendkey命令將這個(gè)動(dòng)作回傳給手機(jī),手機(jī)反應(yīng)后,再向PC視圖區(qū)重新截圖,實(shí)現(xiàn)同步。
[0047]4、生成面向?qū)ο竽_本。
[0048]要取得手機(jī)程序?qū)ο螅枰柚鷘iautomator。每次在對(duì)手機(jī)操作之后,都使用uiautomator取得手機(jī)屏幕中所有對(duì)象的對(duì)象樹,再用操作坐標(biāo)點(diǎn)去比對(duì)各對(duì)象坐標(biāo)點(diǎn)和它所占的面積,就可以得出這個(gè)操作目標(biāo)是哪個(gè)對(duì)象。從而把操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象。這樣的測(cè)試腳本即使更換不同分辨率,不同品牌的手機(jī)都是可以回放的。
[0049]生成的腳本用xml文件保存,這種存儲(chǔ)格式即有面向?qū)ο蟮奶攸c(diǎn),又是靜態(tài)文,便于編輯和移植。xml文件中關(guān)鍵信息有坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述等。
[0050]5、手機(jī)直接錄制時(shí)序圖,參見圖10。
[0051]6、屏幕點(diǎn)擊錄制時(shí)序圖,參見圖11。
[0052]在本發(fā)明的技術(shù)方案中,事件流的錄制模式的優(yōu)點(diǎn)是記錄速度快,但容易受到多次重復(fù)操作的干擾,出現(xiàn)錄制準(zhǔn)確性問題。PC屏幕點(diǎn)擊錄制模式優(yōu)點(diǎn)是錄制準(zhǔn)確,但因?yàn)槊看尾僮餍枰貓D同步畫面,速度效慢。以上兩種錄制模式結(jié)合使用相得益彰,成為一種內(nèi)部互補(bǔ)的錄制方法,使得錄制結(jié)果準(zhǔn)確快速。用例對(duì)象化使得用例的復(fù)用性大大增強(qiáng)。
[0053]本發(fā)明還可以與自動(dòng)化測(cè)試工具或自動(dòng)化框架相結(jié)合,形成一套完整的測(cè)試流程。
[0054]以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,考慮到相關(guān)技術(shù)中沒有簡(jiǎn)便的、統(tǒng)一的針對(duì)復(fù)雜類型軟件操作錄制的解決辦法?,F(xiàn)有的軟件操作錄制無(wú)法完成有復(fù)雜類型參與的軟件操作錄制過(guò)程。因此,本發(fā)明提出了一種安卓軟件的操作錄制裝置和一種安卓軟件的操作錄制方法,可以在現(xiàn)有的軟件操作錄制方式基礎(chǔ)上,充分利用簡(jiǎn)單對(duì)象類型完成復(fù)雜多對(duì)象類型的軟件操作錄制,建立復(fù)雜對(duì)象類型參與的軟件操作錄制的通用、統(tǒng)一錄制思路。
[0055]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種安卓軟件的操作錄制裝置,其特征在于,包括: 終端連接單元,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息; 特性信息解析單元,用于基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率; 操作坐標(biāo)獲取單元,用于基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo); 面向?qū)ο竽_本生成單元,用于將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ); 時(shí)序圖錄制單元,用于基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。
2.根據(jù)權(quán)利要求1所述的安卓軟件的操作錄制裝置,其特征在于,所述終端連接單元,具體包括: 調(diào)試及驅(qū)動(dòng)模塊,用于將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng); 連接及反饋模塊,用于基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。
3.根據(jù)權(quán)利要求1或2所述的安卓軟件的操作錄制裝置,其特征在于,所述操作坐標(biāo)獲取單元,具體包括: 事件流方式取坐標(biāo)模塊,用于基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖; PC屏幕點(diǎn)擊取坐標(biāo)模塊,用于基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在PC端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。
4.根據(jù)權(quán)利要求3所述的安卓軟件的操作錄制裝置,其特征在于,所述面向?qū)ο竽_本生成單元生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句; 和/或, 所述事件流方式取坐標(biāo)模塊進(jìn)行截圖的操作,進(jìn)一步包括: 單擊操作屏幕截圖; 和/或, 滑動(dòng)操作屏幕截圖; 和/或, 功能鍵操作屏幕截圖。
5.根據(jù)權(quán)利要求1或2所述的安卓軟件的操作錄制裝置,其特征在于,所述時(shí)序圖錄制單元,具體包括: 手機(jī)直接錄制模塊,用于基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖; 屏幕點(diǎn)擊錄制模塊,用于基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。
6.一種安卓軟件的操作錄制方法,其特征在于,包括: 步驟202:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng);連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息; 步驟204:基于獲取的設(shè)備信息,取出能夠讀取相應(yīng)手機(jī)的關(guān)鍵信息,該關(guān)鍵信息包括設(shè)備分辨率; 步驟206:基于取得的關(guān)鍵信息,獲取對(duì)手機(jī)的監(jiān)聽并向PC端反饋的操作坐標(biāo); 步驟208:將獲取的操作坐標(biāo)轉(zhuǎn)化為操作對(duì)象,生成對(duì)象腳本;將生成的對(duì)象腳本中的關(guān)鍵信息進(jìn)行存儲(chǔ); 步驟210:基于生成的對(duì)象腳本,錄制相應(yīng)的時(shí)序圖。
7.根據(jù)權(quán)利要求6所述的安卓軟件的操作錄制方法,其特征在于,所述步驟202,具體包括: 步驟302:將手機(jī)與PC端連接,在USB調(diào)試模式下,在PC端安裝與手機(jī)型號(hào)相匹配的驅(qū)動(dòng); 步驟304:基于安裝的驅(qū)動(dòng),將手機(jī)與PC端連接;連接成功后,在命令行輸入查詢指令,獲取連接成功的設(shè)備信息。
8.根據(jù)權(quán)利要求6或7所述的安卓軟件的操作錄制方法,其特征在于,所述步驟206,具體包括: 步驟402:基于取得的關(guān)鍵信息,在手機(jī)上輸入長(zhǎng)線程命令,對(duì)手機(jī)上任何操作的事件流進(jìn)行監(jiān)聽,并將監(jiān)聽的事件流返回到PC端;通過(guò)返回事件流的數(shù)量,確定事件的基本類型,該基本類型包括單擊、雙擊、滑動(dòng)、拖動(dòng)、系統(tǒng)鍵;基于系統(tǒng)鍵事件流返回的被接鍵名稱、其它事件流返回的16進(jìn)制相對(duì)坐標(biāo)、以及取出的設(shè)備分辨率,進(jìn)行計(jì)算,獲取相應(yīng)操作的具體位置坐標(biāo),并進(jìn)行截圖; 步驟404:基于取得的關(guān)鍵信息中的設(shè)備分辨率,在PC端生成與手機(jī)同樣大小的Ul視圖區(qū),獲取該Ul視圖區(qū)的截圖并保存在PC端;在PC端的視圖區(qū)顯示該Ul視圖區(qū)的截圖并添加手機(jī)的系統(tǒng)按鍵,將手機(jī)映射到PC端;在PC端的視圖區(qū)點(diǎn)擊鼠標(biāo),記錄點(diǎn)擊的坐標(biāo)值;同時(shí),將點(diǎn)擊鼠標(biāo)的動(dòng)作反饋至手機(jī),手機(jī)反應(yīng)后,再向PC端的視圖區(qū)重新截圖,實(shí)現(xiàn)同步。
9.根據(jù)權(quán)利要求3所述的安卓軟件的操作錄制方法,其特征在于,所述步驟202生成的對(duì)象腳本中的關(guān)鍵信息,包括坐標(biāo)、動(dòng)作、分辨率、操作對(duì)象類、操作對(duì)象名稱、操作對(duì)象屬性描述語(yǔ)句; 和/或, 所述步驟404進(jìn)行截圖的操作,進(jìn)一步包括: 單擊操作屏幕截圖; 和/或, 滑動(dòng)操作屏幕截圖; 和/或, 功能鍵操作屏幕截圖。
10.根據(jù)權(quán)利要求6或7所述的安卓軟件的操作錄制方法,其特征在于,所述步驟210,具體包括: 步驟502:基于生成的對(duì)象腳本,通過(guò)手機(jī)直接錄制時(shí)序圖; 步驟504:基于生成的對(duì)象腳本,屏幕點(diǎn)擊錄制時(shí)序圖。
【文檔編號(hào)】G06F9/44GK104461894SQ201410790339
【公開日】2015年3月25日 申請(qǐng)日期:2014年12月17日 優(yōu)先權(quán)日:2014年12月17日
【發(fā)明者】劉建男 申請(qǐng)人:用友軟件股份有限公司