如何用坐標(biāo)定位非原生控件?

????????項(xiàng)目做小程序自動(dòng)化,我們用的是Appium+maven+testng框架來(lái)實(shí)現(xiàn)的,但做小程序自動(dòng)化測(cè)試時(shí)遇到一個(gè)問(wèn)題,在進(jìn)行支付操作時(shí)用UIutomator定位數(shù)字鍵盤只能定位一行的整個(gè)模塊,并不能精確定位,且嘗試了下在模塊后面加個(gè)二維數(shù)組定位模塊里的元素,還是不行。最后咨詢了一下前端的大神告訴我可以試試用坐標(biāo)來(lái)定位Android的原生控件。


首先,我們把整個(gè)屏幕看成一個(gè)坐標(biāo)軸


可以在UIAutomator上看到每個(gè)模塊都有坐標(biāo)點(diǎn),如下圖,我們可以直接得到該模塊左上和右下的x值及y值,現(xiàn)在我們想獲取數(shù)字1到3就很輕松了,只需找到數(shù)字的中心點(diǎn)即可。如想獲取數(shù)字1,那1的x值約為180(計(jì)算方式:(1079-1)/3/2),y值約為81(計(jì)算方式:(1546-1385)/2),其他元素舉一反三就都能定位到了。


但坐標(biāo)定位的方法有一定的缺陷,如果換一個(gè)手機(jī),屏幕大小不一樣坐標(biāo)會(huì)發(fā)生變化,這種方法定位也不夠穩(wěn)定,而且如果遇到數(shù)字鍵盤的排列隨機(jī)變化的話,這種方案也行不通,可以通過(guò)圖像識(shí)別的方式來(lái)定位,目前只接觸過(guò)Airtest,不過(guò)感覺(jué)對(duì)于文字和數(shù)字,Airtest的識(shí)別并不是很準(zhǔn)確。下來(lái)可以再調(diào)研一下OpenCV的matchTemplate 方法,可以在模板塊和輸入圖像之間尋找匹配,獲得匹配結(jié)果圖像

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,715評(píng)論 1 11
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,868評(píng)論 1 45
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,380評(píng)論 0 17
  • 文/蔥蔥 她在一幅畫(huà)里 畫(huà)了好山、好水、好酒 卻畫(huà)不好一個(gè)孤獨(dú)的人 半邊喧嘩 半邊寂寥的臉 岑寂的夜 她的心里長(zhǎng)出...
    蔥蔥_閱讀 412評(píng)論 21 15
  • 我著急的等待著 你的風(fēng)化為秋天的露水 不要問(wèn)我為什么 因?yàn)槟愕男脑缫褯](méi)有了回憶 想起那時(shí)北風(fēng)吹雪落滿山 你無(wú)言立樹(shù)...
    衰草連天閱讀 181評(píng)論 0 0

友情鏈接更多精彩內(nèi)容