版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.06.24 |
前言
我們在做app的時候,不是做完功能就結(jié)束了,很多時候是需要進行檢查和優(yōu)化的,而xcode自帶了一個很好的檢查工具,可以檢測內(nèi)存泄漏。還可以查看哪一個方法比較耗時。還可以檢測離屏渲染等等,隨后的幾篇我們就說一下這個工具的使用。感興趣的可以看這幾篇。
1.INSTRUMENTS調(diào)試工具的使用(一)
2.INSTRUMENTS調(diào)試工具的使用(二)
3.INSTRUMENTS調(diào)試工具的使用(三)
4.INSTRUMENTS調(diào)試工具的使用(四)
5.INSTRUMENTS調(diào)試工具的使用(五)
6.INSTRUMENTS調(diào)試工具的使用(六)
7.INSTRUMENTS調(diào)試工具的使用(七)
8.INSTRUMENTS調(diào)試工具的使用(八)
9.INSTRUMENTS調(diào)試工具的使用(九)
這一篇就先說一下線程與自動化測試(利用腳本)相關(guān)。
二十六、Threads/Locks Instruments[線程相關(guān)]
以下 instruments 收集線程相關(guān)的數(shù)據(jù)。
Java線程(Java Thread)
Java Thread instrument 工具記錄 Java 線程的初始化和銷毀。它顯示:
- 每個測量的時間
- 總線程數(shù)
你可以指定特定顏色標示線程運行時,等待,和阻塞的狀態(tài)。
二十七、UI Automation[界面自動化相關(guān)]
使用Automation Instrument工具
??Automation instrument 工具允許你讓 iOS 應(yīng)用的用戶界面測試自動化。自動化 界面測試可以讓你:
- 省去關(guān)鍵人員和釋放其他工作資源
- 執(zhí)行更多綜合測試
- 開發(fā)可重復(fù)的回歸測試
- 減少程序錯誤
- 高開發(fā)周期,產(chǎn)品更新
?? Automation instrument 工具由你的測試腳本指導(dǎo),演示你應(yīng)用的用戶界面元素, 允許你記錄分析結(jié)果。自動化功能可以模擬許多用戶設(shè)備支持的用戶操作。Automation instrument 工具的一個最大的好處是可以可以和其他 instruments 工具一起執(zhí)行復(fù)雜的測試,比如跟蹤內(nèi)存泄露和隔離性能問題的原因。
注意:為了保護,該 instrument 工具不允許你處理任何和你證書不相關(guān)的進程。這包括拷 貝任何在 iTunes App Store 下載的應(yīng)用。
重要:模擬動作可能無法防止測試設(shè)備自動鎖定屏幕。所以在設(shè)備上運行測試之前,你應(yīng)該 設(shè)置設(shè)備的 Auto-Lock 偏好設(shè)置為 Never(設(shè)置->通用->自動鎖定->永不)。
輸出測試結(jié)果和數(shù)據(jù)
?? 你的腳本報告日志信息給 Automation instrument 工具,而 instrument 工具收 集并報告給你分析結(jié)果。
?? 當編寫你測試腳本時,如果為了幫你診斷出現(xiàn)的任何故障的地方,你應(yīng)該盡可能 的輸出更多的信息。最低限度是當每個腳本開始和結(jié)束,確定測試執(zhí)行,并記錄通過 和失敗狀態(tài)時,你應(yīng)該輸出日志。這種最小記錄在 UI 自動化的自動完成的。你只需 要簡單的使用你的測試腳本的名稱來調(diào)用 logStart,運行你的測試腳本,然后合適 的時候調(diào)用 logPass 或者 logFail。
二十八、User Interface Instruments[用戶界面相關(guān)]
以下的 instruments 工具為應(yīng)用層事件收集數(shù)據(jù)。
Cocoa事件(Cocoa Events)
??Cocoa Events instrument 工具記錄通過 NSApplication 類 sendEvent:方法發(fā)送事件。該方法是分配事件給 Cocoa 應(yīng)用的主要方法。你可以使用該 instrument 工具 來把應(yīng)用程序事件和其他應(yīng)用程序行為關(guān)聯(lián)起來,比如內(nèi)存和 CPU 占有率等。該 instrument 工具運行在當個進程之上。它的實現(xiàn)使用了 DTrace 技術(shù),并且可以導(dǎo)入 DTrace 腳本。
??該 instrument 工具捕獲被發(fā)送事件的類型。跟蹤面板可以被設(shè)置來顯示以下任何數(shù)據(jù)信息:
- 棧深度(Stack depth)
- 線程 ID(Thread ID)
- 事件種類(The Event Kind)
Carbon事件(Carbon Events)
??Carbon Events instrument 工具記錄由 Carbon Event Manager 里面的函數(shù) WaitNextEvent 返回的事件。你可以使用該 instrument 來把應(yīng)用的事件和其他應(yīng)用 的行為關(guān)聯(lián)起來,比如內(nèi)存和 CPU 占用率等。該 instrument 工具運行在單個進程之 上。它的實現(xiàn)使用了 DTrace 技術(shù),并可以導(dǎo)入 DTrace 腳本。
??該 instrument 工具捕獲發(fā)送事件的類型。跟蹤面板可以被設(shè)置來顯示以下數(shù)據(jù)信息:
- 棧深度(Stack depth)
- 線程 ID(Thread ID)
- 事件種類(The Event Kind)
后記
??關(guān)于instruments的界面以及基礎(chǔ)工具的介紹就先寫這么多了,以后會增加具體使用時的用例,這樣理論結(jié)合工程原碼更能大家深入理解,instruments工具非常強大和有意思,感興趣的可以看一下。