[發(fā)明專利]一種安卓自動(dòng)化的方法與系統(tǒng)在審
| 申請?zhí)枺?/td> | 202110883968.3 | 申請日: | 2021-08-03 |
| 公開(公告)號: | CN113641574A | 公開(公告)日: | 2021-11-12 |
| 發(fā)明(設(shè)計(jì))人: | 不公告發(fā)明人 | 申請(專利權(quán))人: | 安然 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京一枝筆知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11791 | 代理人: | 方柳云 |
| 地址: | 102402 北京市房山區(qū)竇店*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 自動(dòng)化 方法 系統(tǒng) | ||
本發(fā)明提供的一種安卓自動(dòng)化的方法與系統(tǒng),屬于安卓自動(dòng)化測試技術(shù)領(lǐng)域,本發(fā)明的一種安卓自動(dòng)化的方法,首先根據(jù)框架中的API,調(diào)用類和方法獲取UiAutomation實(shí)例;然后調(diào)用所述實(shí)例獲取當(dāng)前界面的根節(jié)點(diǎn);根據(jù)根節(jié)點(diǎn)遍歷所有節(jié)點(diǎn)得到當(dāng)前界面所有的元素信息;調(diào)用所述實(shí)例監(jiān)聽當(dāng)前界面的變化;最后,當(dāng)需要測試時(shí),調(diào)用預(yù)設(shè)的函數(shù),得到自動(dòng)化測試結(jié)果。本發(fā)明通過調(diào)用類和方法獲取實(shí)例,可以用底層的方式去搜索到所有元素,極大的彌補(bǔ)了原生框架很多控件和flutter元素?zé)o法識(shí)別的問題。本發(fā)明還提供了一種安卓自動(dòng)化的系統(tǒng)。
技術(shù)領(lǐng)域
本發(fā)明屬于安卓自動(dòng)化測試技術(shù)領(lǐng)域,更具體地說,是涉及一種安卓自動(dòng)化的方法與系統(tǒng)。
背景技術(shù)
現(xiàn)有技術(shù)主要是利用appium框架或者uiautomator框架進(jìn)行安卓操作系統(tǒng)上的App自動(dòng)化測試,但是appium框架或者uiautomator框架在測試時(shí),速度不夠快,許多底層事件不能快速獲取,有些機(jī)型同樣的控件不能準(zhǔn)確定位。隨著flutter技術(shù)的推廣,移動(dòng)端頁面普遍部分或者全部采用flutter開發(fā),而且appium框架或者uiautomator框架都不能完全支持flutter和H5頁面的測試。雖然Google官方推出了Flutter driver和Integrationtest,但是在實(shí)際使用中存在以下問題:不適用于混合棧APP,雖然appium中有相關(guān)的driver,但是無法切換環(huán)境且元素定位能力相對薄弱。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種安卓自動(dòng)化的方法與系統(tǒng),旨在解決現(xiàn)有技術(shù)中利用appium框架或者uiautomator框架對安卓操作系統(tǒng)上的App自動(dòng)化測試時(shí),許多底層事件不能快速獲取和元素定位能力薄弱的問題。
為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種安卓自動(dòng)化的方法,包括以下步驟:
步驟1:獲取當(dāng)前界面的根節(jié)點(diǎn);
步驟2:根據(jù)所述根節(jié)點(diǎn)遍歷所有節(jié)點(diǎn)得到當(dāng)前界面所有的元素信息;
步驟3:將預(yù)設(shè)邏輯封裝為函數(shù);
步驟4:當(dāng)需要測試時(shí),調(diào)用所述函數(shù),得到自動(dòng)化測試結(jié)果。
優(yōu)選的,所述步驟1:獲取當(dāng)前界面的根節(jié)點(diǎn),包括:
調(diào)用androidx.test.platform.app.InstrumentationRegistry的getInstrumentation方法獲得Instrumentation的過程記為實(shí)例s;
通過調(diào)用所述實(shí)例s的getUiAutomation方法獲得UiAutomation實(shí)例;
對UI Automator Service進(jìn)行能力配置得到配置后的UI Automator Service;
查詢所述UiAutomation實(shí)例的getRootInActiveWindow方法來獲取當(dāng)前界面AccessibilityNodeInfo類型的根節(jié)點(diǎn)。
優(yōu)選的,所述步驟2:根據(jù)所述根節(jié)點(diǎn)遍歷所有節(jié)點(diǎn)得到當(dāng)前界面所有的元素信息,包括:
根據(jù)所述根節(jié)點(diǎn)遍歷搜索所有葉子節(jié)點(diǎn)和所有非葉子節(jié)點(diǎn),得到當(dāng)前界面所有的元素信息;所述元素信息包括元素的text屬性、元素的classname屬性和元素的id屬性;其中,在搜索元素的text屬性時(shí),調(diào)用所述AccessbilityNodeInfo類型的根節(jié)點(diǎn)的getContentDescription方法或者gettext方法進(jìn)行部分匹配搜索。
優(yōu)選的,所述步驟4:當(dāng)需要測試時(shí),調(diào)用所述函數(shù),得到自動(dòng)化測試結(jié)果,包括:
利用安卓事件監(jiān)聽方法監(jiān)聽測試時(shí)界面的變化。
本發(fā)明還提供了一種安卓事件監(jiān)聽方法,包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于安然,未經(jīng)安然許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110883968.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 自動(dòng)化設(shè)備和自動(dòng)化系統(tǒng)
- 一種基于流程驅(qū)動(dòng)的測試自動(dòng)化方法以及測試自動(dòng)化系統(tǒng)
- 用于工業(yè)自動(dòng)化設(shè)備認(rèn)識(shí)的系統(tǒng)和方法
- 實(shí)現(xiàn)過程自動(dòng)化服務(wù)的標(biāo)準(zhǔn)化設(shè)計(jì)方法學(xué)的自動(dòng)化系統(tǒng)
- 一種日產(chǎn)50萬安時(shí)勻漿自動(dòng)化系統(tǒng)
- 一種自動(dòng)化肥料生產(chǎn)系統(tǒng)
- 一種電氣自動(dòng)化設(shè)備自動(dòng)檢測系統(tǒng)及檢測方法
- 用于自動(dòng)化應(yīng)用的抽象層
- 一種基于虛擬化架構(gòu)的自動(dòng)化系統(tǒng)功能驗(yàn)證方法
- 自動(dòng)化測試框架自動(dòng)測試的實(shí)現(xiàn)技術(shù)
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





