1. 程式人生 > >Appium1.6 定位iOS元素和操作元素

Appium1.6 定位iOS元素和操作元素

進行 appium exports .cn xpath 問題 ref 結果 -c

元素定位方式

第一種:通過Appium1.6的Inspector來查看

具體安裝方式前面的隨筆已經介紹了:http://www.cnblogs.com/meitian/p/7360017.html 技術分享 可以通過定位找到元素xpath或name 個人不推薦用這個方法,實際操作中發現,每次操作後點擊刷新比較慢,而且有時左側布局文件更新不及時,導致點擊左側屏幕的控件找不到元素,有時App Source根本就沒更新

第二種:通過macaca的App inspector來定位元素

1.安裝macaca-li $ npm install macaca-cli -g 2.檢查macaca環境 $ macaca doctor
只要打印出的結果都綠色的日誌信息,就表示環境是好的 3.安裝app-inspector $ npm install app-inspector -g 4.使用方法 通過下面命令啟動檢測web界面,然後就在Safari中自動打開了【http://本地IP:5678】進行檢測 $ app-inspector -u YOUR-DEVICE-ID(設備id)

iOS獲得設備id的方法:

$ xcrun simctl list 獲得下面的數據: 技術分享 第一個括號內的就是手機的device id,第二個括號內是模擬器的狀態 結果如下,也可以獲得元素的name和xpath 技術分享 說明:我目前使用第二種方式,1是直接刷新頁面速度比appium中快點;2是沒有很大延遲,刷新後點擊元素圖標一般都能找到元素
(使用時還遇到過一個問題,web打開時手機界面底部沒展示全,通過鍵盤command和-號組合縮小頁面,展示了全部內容) 註:app-inspector我這用的模擬器,用真機的情況下一直報錯。模擬器沒問題 Error: connect ECONNREFUSED 127.0.0.1:8001 at Object.exports._errnoException (util.js:1024:11) at exports._exceptionWithHostPort (util.js:1047:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1150:14)

iOS操作元素

通過上面的方法能夠獲得元素的xpath和name(或accessibility id),然後對應到Appium中的命令如下: accessibility id或name: driver.find_element_by_name(“name或accessibility id") driver.find_element(By.NAME,“name或accessibility id") xpath: driver.find_element_by_xpath(“xpath地址") driver.find_element(By.XPATH,“xpath地址")

Appium1.6 定位iOS元素和操作元素