您好,登錄后才能下訂單哦!
使用appium測試app自動化查找元素時(shí)比較麻煩,沒有selenium查找web頁面元素方便,
并且局限性也比較高,使用起來不是太靈活。
那下面介紹下我們一般經(jīng)常使用到的一些查找元素的方法(已錘子手機(jī)為例)。
有兩個(gè)工具可以用來查找元素:安卓sdk自帶的uiautomator viewer;appium最新版1.0.2。
建議使用uiautomator viewer,個(gè)人感覺使用起來要方便些,包括復(fù)制元素的值也比較方便。
先鏈接錘子手機(jī):
方法有很多,:
通過xpyth定位:findElementByXPath("http://android.widget.TextView[10]")xpath下標(biāo)從1開始,使用完整的classname
通過text name:find_element_by_name(name對應(yīng)uiautomator掃描后text的內(nèi)容)
通過id:find_element_by_id(id對應(yīng)resource-id)
通過classname定位:find_element_by_class_name(class_name對應(yīng)class)
通過accessibility id:find_element_by_accessibility_id(accessibility_id對應(yīng)content-desc)
定位到某個(gè)文本框,并輸入內(nèi)容:
driver.find_element_by_id("xxxxx").send_keys("123456")
滑動屏幕:
獲取屏幕尺寸 width=self.driver.get_window_size()['width']height=self.driver.get_window_size()['height']
滑動屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)
在手機(jī)上打開頭條,只介紹常用的三種:
find_element_by_name(name對應(yīng)uiautomator掃描后text的內(nèi)容)
腳本中輸入這個(gè)name就可以定位到這個(gè)元素,然后做相應(yīng)的操作,比如click()等
find_element_by_id(id對應(yīng)resource-id,用這個(gè)查找比較準(zhǔn)確)
用resource-id查找是最準(zhǔn)確的!
find_element_by_class_name(class_name對應(yīng)class,用這個(gè)一般都查找出的是一堆的數(shù)據(jù),因?yàn)橛泻芏嗟胤蕉际褂猛粋€(gè)class name)
這個(gè)是名為android.widget.TextView的classname,其他的行全部都是這個(gè)name
看看,其他的也是這個(gè)class name,所以用這個(gè)查找會找出一個(gè)列表的數(shù)據(jù)出來,如果想單獨(dú)取某個(gè)行的數(shù)據(jù),就需要使用for 循壞或者下腳標(biāo)來取[X]
在做app自動化時(shí)需要花很大的精力去提前獲取的數(shù)據(jù)并整理,因?yàn)楹芏鄶?shù)據(jù)是不能一一
對應(yīng)的。
有問題可以加QQ群:610845268
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。