iOS元素定位方式


第一種:通過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的方法:

真機的獲取方法:idevice_id -l
$ 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)
 
解決方法:
cd /usr/local/lib/node_modules/app-inspector/node_modules/xctestwd/XCTestWD
open XCTestWD.xcodeproj
修改XCTestWD和XCTestWDUITests,修改bundle id,簽名然后編譯通過即可。(參考webdriveragent的更改方法,操作一致)

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地址")
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM