INSTRUMENTS調(diào)試工具的使用(十)

版本記錄

版本號(hào) 時(shí)間
V1.0 2017.06.24

前言

我們?cè)谧鯽pp的時(shí)候舀凛,不是做完功能就結(jié)束了,很多時(shí)候是需要進(jìn)行檢查和優(yōu)化的途蒋,而xcode自帶了一個(gè)很好的檢查工具猛遍,可以檢測(cè)內(nèi)存泄漏。還可以查看哪一個(gè)方法比較耗時(shí)。還可以檢測(cè)離屏渲染等等懊烤,隨后的幾篇我們就說(shuō)一下這個(gè)工具的使用梯醒。感興趣的可以看這幾篇。
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)試工具的使用(九)
這一篇就先說(shuō)一下線程與自動(dòng)化測(cè)試(利用腳本)相關(guān)腌紧。

二十六冤馏、Threads/Locks Instruments[線程相關(guān)]

以下 instruments 收集線程相關(guān)的數(shù)據(jù)。

Java線程(Java Thread)

Java Thread instrument 工具記錄 Java 線程的初始化和銷毀寄啼。它顯示:

  • 每個(gè)測(cè)量的時(shí)間
  • 總線程數(shù)

你可以指定特定顏色標(biāo)示線程運(yùn)行時(shí)逮光,等待,和阻塞的狀態(tài)墩划。


二十七涕刚、UI Automation[界面自動(dòng)化相關(guān)]

使用Automation Instrument工具

??Automation instrument 工具允許你讓 iOS 應(yīng)用的用戶界面測(cè)試自動(dòng)化。自動(dòng)化 界面測(cè)試可以讓你:

  • 省去關(guān)鍵人員和釋放其他工作資源
  • 執(zhí)行更多綜合測(cè)試
  • 開(kāi)發(fā)可重復(fù)的回歸測(cè)試
  • 減少程序錯(cuò)誤
  • 高開(kāi)發(fā)周期乙帮,產(chǎn)品更新

?? Automation instrument 工具由你的測(cè)試腳本指導(dǎo)杜漠,演示你應(yīng)用的用戶界面元素, 允許你記錄分析結(jié)果察净。自動(dòng)化功能可以模擬許多用戶設(shè)備支持的用戶操作驾茴。Automation instrument 工具的一個(gè)最大的好處是可以可以和其他 instruments 工具一起執(zhí)行復(fù)雜的測(cè)試,比如跟蹤內(nèi)存泄露和隔離性能問(wèn)題的原因氢卡。

注意:為了保護(hù)锈至,該 instrument 工具不允許你處理任何和你證書(shū)不相關(guān)的進(jìn)程。這包括拷 貝任何在 iTunes App Store 下載的應(yīng)用译秦。

重要:模擬動(dòng)作可能無(wú)法防止測(cè)試設(shè)備自動(dòng)鎖定屏幕峡捡。所以在設(shè)備上運(yùn)行測(cè)試之前,你應(yīng)該 設(shè)置設(shè)備的 Auto-Lock 偏好設(shè)置為 Never(設(shè)置->通用->自動(dòng)鎖定->永不)筑悴。

輸出測(cè)試結(jié)果和數(shù)據(jù)

?? 你的腳本報(bào)告日志信息給 Automation instrument 工具们拙,而 instrument 工具收 集并報(bào)告給你分析結(jié)果。
?? 當(dāng)編寫(xiě)你測(cè)試腳本時(shí)阁吝,如果為了幫你診斷出現(xiàn)的任何故障的地方砚婆,你應(yīng)該盡可能 的輸出更多的信息。最低限度是當(dāng)每個(gè)腳本開(kāi)始和結(jié)束突勇,確定測(cè)試執(zhí)行装盯,并記錄通過(guò) 和失敗狀態(tài)時(shí),你應(yīng)該輸出日志与境。這種最小記錄在 UI 自動(dòng)化的自動(dòng)完成的验夯。你只需 要簡(jiǎn)單的使用你的測(cè)試腳本的名稱來(lái)調(diào)用 logStart,運(yùn)行你的測(cè)試腳本摔刁,然后合適 的時(shí)候調(diào)用 logPass 或者 logFail挥转。


二十八、User Interface Instruments[用戶界面相關(guān)]

以下的 instruments 工具為應(yīng)用層事件收集數(shù)據(jù)。

Cocoa事件(Cocoa Events)

??Cocoa Events instrument 工具記錄通過(guò) NSApplication 類 sendEvent:方法發(fā)送事件绑谣。該方法是分配事件給 Cocoa 應(yīng)用的主要方法党窜。你可以使用該 instrument 工具 來(lái)把應(yīng)用程序事件和其他應(yīng)用程序行為關(guān)聯(lián)起來(lái),比如內(nèi)存和 CPU 占有率等借宵。該 instrument 工具運(yùn)行在當(dāng)個(gè)進(jìn)程之上幌衣。它的實(shí)現(xiàn)使用了 DTrace 技術(shù),并且可以導(dǎo)入 DTrace 腳本壤玫。
??該 instrument 工具捕獲被發(fā)送事件的類型豁护。跟蹤面板可以被設(shè)置來(lái)顯示以下任何數(shù)據(jù)信息:

  • 棧深度(Stack depth)
  • 線程 ID(Thread ID)
  • 事件種類(The Event Kind)

Carbon事件(Carbon Events)

??Carbon Events instrument 工具記錄由 Carbon Event Manager 里面的函數(shù) WaitNextEvent 返回的事件。你可以使用該 instrument 來(lái)把應(yīng)用的事件和其他應(yīng)用 的行為關(guān)聯(lián)起來(lái)欲间,比如內(nèi)存和 CPU 占用率等楚里。該 instrument 工具運(yùn)行在單個(gè)進(jìn)程之 上。它的實(shí)現(xiàn)使用了 DTrace 技術(shù)猎贴,并可以導(dǎo)入 DTrace 腳本班缎。
??該 instrument 工具捕獲發(fā)送事件的類型。跟蹤面板可以被設(shè)置來(lái)顯示以下數(shù)據(jù)信息:

  • 棧深度(Stack depth)
  • 線程 ID(Thread ID)
  • 事件種類(The Event Kind)

后記

??關(guān)于instruments的界面以及基礎(chǔ)工具的介紹就先寫(xiě)這么多了她渴,以后會(huì)增加具體使用時(shí)的用例达址,這樣理論結(jié)合工程原碼更能大家深入理解,instruments工具非常強(qiáng)大和有意思趁耗,感興趣的可以看一下沉唠。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市对粪,隨后出現(xiàn)的幾起案子右冻,更是在濱河造成了極大的恐慌装蓬,老刑警劉巖著拭,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異牍帚,居然都是意外死亡儡遮,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)暗赶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)鄙币,“玉大人,你說(shuō)我怎么就攤上這事蹂随∈伲” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵岳锁,是天一觀的道長(zhǎng)绩衷。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么咳燕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任勿决,我火速辦了婚禮,結(jié)果婚禮上招盲,老公的妹妹穿的比我還像新娘低缩。我一直安慰自己,他們只是感情好曹货,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布咆繁。 她就那樣靜靜地躺著,像睡著了一般顶籽。 火紅的嫁衣襯著肌膚如雪么介。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天蜕衡,我揣著相機(jī)與錄音壤短,去河邊找鬼。 笑死慨仿,一個(gè)胖子當(dāng)著我的面吹牛久脯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播镰吆,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼帘撰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了万皿?” 一聲冷哼從身側(cè)響起摧找,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎牢硅,沒(méi)想到半個(gè)月后蹬耘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡减余,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年综苔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片位岔。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡如筛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抒抬,到底是詐尸還是另有隱情杨刨,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布擦剑,位于F島的核電站妖胀,受9級(jí)特大地震影響可免,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜做粤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一浇借、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧怕品,春花似錦妇垢、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至吼和,卻和暖如春涨薪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炫乓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工刚夺, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人末捣。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓侠姑,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親箩做。 傳聞我的和親對(duì)象是個(gè)殘疾皇子莽红,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容