標籤:延遲 mac img list except npm source 推薦 wrap
元素定位方式 第一種:通過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元素和操作元素