您好,登錄后才能下訂單哦!
使用appium測試app自動化查找元素時比較麻煩,沒有selenium查找web頁面元素方便,
并且局限性也比較高,使用起來不是太靈活。
那下面介紹下我們一般經常使用到的一些查找元素的方法(已錘子手機為例)。
有兩個工具可以用來查找元素:安卓sdk自帶的uiautomator viewer;appium最新版1.0.2。
建議使用uiautomator viewer,個人感覺使用起來要方便些,包括復制元素的值也比較方便。
先鏈接錘子手機:
方法有很多,:
通過xpyth定位:findElementByXPath("http://android.widget.TextView[10]")xpath下標從1開始,使用完整的classname
通過text name:find_element_by_name(name對應uiautomator掃描后text的內容)
通過id:find_element_by_id(id對應resource-id)
通過classname定位:find_element_by_class_name(class_name對應class)
通過accessibility id:find_element_by_accessibility_id(accessibility_id對應content-desc)
定位到某個文本框,并輸入內容:
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)
在手機上打開頭條,只介紹常用的三種:
find_element_by_name(name對應uiautomator掃描后text的內容)
腳本中輸入這個name就可以定位到這個元素,然后做相應的操作,比如click()等
find_element_by_id(id對應resource-id,用這個查找比較準確)
用resource-id查找是最準確的!
find_element_by_class_name(class_name對應class,用這個一般都查找出的是一堆的數據,因為有很多地方都使用同一個class name)
這個是名為android.widget.TextView的classname,其他的行全部都是這個name
看看,其他的也是這個class name,所以用這個查找會找出一個列表的數據出來,如果想單獨取某個行的數據,就需要使用for 循壞或者下腳標來取[X]
在做app自動化時需要花很大的精力去提前獲取的數據并整理,因為很多數據是不能一一
對應的。
有問題可以加QQ群:610845268
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。