咱們知道,HierarchyViewer是Android SDK包中很是好用的工具。開發及測試人員,即便沒有應用程序的源代碼,也能夠獲取Activity的控件層次圖,以及每一個控件的全部屬性和截圖。那麼,iOS下有沒有相似的工具呢?如今,答案是確定的。javascript
HierarchyViewer for iOS是咱們開發的一個開源工具,採用×××協議。該項目基於eclipse RCP構架,支持Mac OS X,Windows和Liunx三個平臺,下面是HierarchyViewer for iOS在Mac OS X的截圖:java
看起來是否是很酷? 那麼咱們接下來就來詳細介紹該工具。HierarchyViewer for iOS的數據源是Instruments錄製和執行javascript腳本時生成的日誌文件--包括Automation Results.plist及截圖。咱們沒有把它作成Android平臺上那樣實時獲取控件樹的方式(事實上,那是能夠作到的),由於iOS的封閉性,那麼作的話須要嚮應用中注入代碼,這樣的話使用起來限制太多又很繁瑣了。eclipse
你或許把HierarchyViewer for iOS看做javascripts自動化測試用例運行結果日誌的閱讀工具,可是,事實上它能夠作的比這多得多,用它來輔助進行Instruments下的iOS腳本錄製,相信能夠爲測試人員帶來極大的便利。那麼,咱們先來介紹HierarchyViewer for iOS的主要功能,而後再來介紹如何用它的用法。工具
HierarchyViewer for iOS功能介紹測試
HierarchyViewer for iOS界面包含5個視圖,分別是:spa
控件樹列表視圖.net
控件樹視圖日誌
控件樹縮略圖圖片
截屏視圖ip
屬性視圖
操做視圖
控件樹列表視圖中列出了Automation Results.plist中包含的全部控件樹,若是有列表項的名字是「UIATarget- name-iPhone Simulator rect-{{0,0},{320,480}} 4」,那麼在日誌文件夾中你能夠找到一個同名的.png的截屏圖片,和同名的文件夾保存了各個控件的截圖。 列表項被選中時,控件樹視圖、控件樹縮略圖和截屏視圖會馬上打開並顯示選中的控件樹的視圖。
若是你用過Android的HierarchyViewer,你對HierarchyViewer for iOS的其餘幾個視圖不會陌生,我並不打算浪費太多時間,可是咱們這裏仍是須要簡單介紹一下他們是如何工做的。
1,先後滾動鼠標滾輪,能夠放大或縮小控件樹視圖;按住控件樹視圖的空白區域,能夠拖動整個控件樹。控件樹縮略圖也會隨之變化。
2,在控件樹選中某個節點/控件時,縮略圖和截屏視圖對應的節點/控件也會被選中,屬性視圖中會顯示該節點的全部屬性。固然,在截屏視圖中選中某個控件時,其餘視圖也會作出一樣的響應。
【截圖】
3,當鼠標在截屏視圖上移動時,咱們會爲你顯示該點對應的座標值,該座標值是iOS系統的標準座標值:
【截圖】
保存層次結構圖
在菜單欄中選擇保存控件樹視圖,或者在工具欄中點擊【截圖】小圖標,能夠把控件樹保存爲圖片。
生成javascript調用路徑