一種Android App日志收集方案

在最新版本的測(cè)試助手中月趟,我們加入了log收集與上傳功能,簡(jiǎn)單來說恢口,就是通過測(cè)試助手來收集被測(cè)app的運(yùn)行l(wèi)og孝宗,設(shè)備無需root,使用過程無需adb和usb耕肩;

項(xiàng)目背景:

我們的測(cè)試人員因妇、行方人員在測(cè)試APP過程中發(fā)生問題后,為了能快速定位到問題點(diǎn)并及時(shí)反饋猿诸,需要在非debug的app上快速收集log婚被,常用的log收集無非有以下幾種方法:

1、使用adb logcat查看梳虽;

2址芯、安裝第三方app模擬adb shell查看;

3怖辆、在自身app中加入log查看功能是复,該功能需要一定的操作觸發(fā),如連續(xù)點(diǎn)擊某個(gè)控件后觸發(fā)竖螃;

以上幾種方法淑廊,都存在一定的局限性:

1、需要安裝adb工具特咆,需要有usb和電腦季惩;

2、Android 4.0以后的版本腻格,app使用adb logcat無法查看其它app的log画拾;

3、需要推動(dòng)開發(fā)同學(xué)寫代碼加入菜职,在線上版本中青抛,觸發(fā)log收集的操作有被破解的風(fēng)險(xiǎn),造成關(guān)鍵log信息的泄漏酬核;

基于以上幾種方法的局限性蜜另,我們提出一種較為中和的解決方案:集成我們自己開發(fā)的代碼到被測(cè)app,并通過我們開發(fā)的第三方app“測(cè)試助手”嫡意,來收集被測(cè)app的log举瑰,這種解決方案有以下幾個(gè)改進(jìn)點(diǎn):

1、無需adb環(huán)境蔬螟,無需usb此迅;

2、適用于Andorid所有版本;

3耸序、僅能通過測(cè)試助手收集被測(cè)app的log忍些,測(cè)試助手需要登錄后才能使用,被測(cè)app的log安全性得到保障佑吝;

大體功能和交互如下:

1坐昙、啟動(dòng)需要被采集的app,運(yùn)行一段時(shí)間:

2芋忿、啟動(dòng)我們的測(cè)試助手炸客,進(jìn)入"Logcat工具",選擇需要采集的app戈钢,就能收集到剛才app運(yùn)行的log:

選擇需要被收集的APP


采集到上行快線app的log痹仙,此時(shí)可以上傳或者復(fù)制log

下面簡(jiǎn)單介紹log采集的實(shí)現(xiàn)過程:

? ? ? ?采集log的核心功能是利用了Android的廣播通信機(jī)制實(shí)現(xiàn),首先殉了,需要修改被測(cè)app的源碼开仰,在被測(cè)app中注冊(cè)我們預(yù)先開發(fā)好的一個(gè)BroadcastReceiver,收集log的時(shí)候薪铜,測(cè)試助手會(huì)發(fā)送對(duì)應(yīng)的廣播到這個(gè)BroadcastReceiver众弓,這個(gè)receiver里面的邏輯是調(diào)用一個(gè)log采集的接口,收集到本app的最近500行l(wèi)og隔箍,隨后谓娃,通過顯示的intent打開測(cè)試助手的一個(gè)activity,將采集的log在測(cè)試助手的activity中顯示:

1蜒滩、注入BroadcastReceiver到被測(cè)app:

BroadcastReceiver代碼片段

如何將這段代碼集成到被測(cè)app?

首先滨达,我們可以新建一個(gè)aar項(xiàng)目工程并加入上面的代碼,導(dǎo)出的aar包可以用gradle發(fā)布到JCenter倉(cāng)庫(kù)俯艰,具體的發(fā)布aar包教程可以參考:http://www.cnblogs.com/qianxudetianxia/p/4322331.html

隨后捡遍,我們可以通過jenkins的構(gòu)建腳本,修改被測(cè)app的gradle.build和AndroidManifest.xml文件竹握,加入發(fā)布的aar包:依賴并注冊(cè)broadcastreceiver到AndroidManifest:

jenkins構(gòu)建腳本代碼片段

這樣構(gòu)建出來的被測(cè)app就可以接收測(cè)試助手發(fā)送的廣播了画株;

2、測(cè)試助手發(fā)送廣播:

測(cè)試助手發(fā)送廣播代碼片段

3啦辐、測(cè)試助手通過接收被測(cè)app的intent來傳遞收集的log內(nèi)容污秆,并啟動(dòng)activity展示:

測(cè)試助手接收被測(cè)app返回內(nèi)容代碼片段
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市昧甘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌战得,老刑警劉巖充边,帶你破解...
    沈念sama閱讀 218,036評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浇冰,警方通過查閱死者的電腦和手機(jī)贬媒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肘习,“玉大人际乘,你說我怎么就攤上這事∑澹” “怎么了脖含?”我有些...
    開封第一講書人閱讀 164,411評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)投蝉。 經(jīng)常有香客問我养葵,道長(zhǎng),這世上最難降的妖魔是什么瘩缆? 我笑而不...
    開封第一講書人閱讀 58,622評(píng)論 1 293
  • 正文 為了忘掉前任关拒,我火速辦了婚禮,結(jié)果婚禮上庸娱,老公的妹妹穿的比我還像新娘着绊。我一直安慰自己,他們只是感情好熟尉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,661評(píng)論 6 392
  • 文/花漫 我一把揭開白布归露。 她就那樣靜靜地躺著,像睡著了一般臣樱。 火紅的嫁衣襯著肌膚如雪靶擦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評(píng)論 1 304
  • 那天雇毫,我揣著相機(jī)與錄音玄捕,去河邊找鬼。 笑死棚放,一個(gè)胖子當(dāng)著我的面吹牛枚粘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播飘蚯,決...
    沈念sama閱讀 40,288評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼馍迄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了局骤?” 一聲冷哼從身側(cè)響起攀圈,我...
    開封第一講書人閱讀 39,200評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎峦甩,沒想到半個(gè)月后赘来,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體现喳,經(jīng)...
    沈念sama閱讀 45,644評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,837評(píng)論 3 336
  • 正文 我和宋清朗相戀三年犬辰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嗦篱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,953評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幌缝,死狀恐怖灸促,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涵卵,我是刑警寧澤浴栽,帶...
    沈念sama閱讀 35,673評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站缘厢,受9級(jí)特大地震影響吃度,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜贴硫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,281評(píng)論 3 329
  • 文/蒙蒙 一椿每、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧英遭,春花似錦间护、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至多律,卻和暖如春痴突,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狼荞。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工辽装, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人相味。 一個(gè)月前我還...
    沈念sama閱讀 48,119評(píng)論 3 370
  • 正文 我出身青樓拾积,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丰涉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拓巧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,901評(píng)論 2 355

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,133評(píng)論 25 707
  • 移動(dòng)APP測(cè)試講義 本篇講義主要闡述APP的手工測(cè)試要點(diǎn),并概括介紹主流的APP測(cè)試框架一死。 1. APP測(cè)試的準(zhǔn)備...
    厲鉚兄閱讀 9,649評(píng)論 6 109
  • 【詩(shī) 109:26】 耶和華我的 神啊肛度,求你幫助我,照你的慈愛拯救我 面對(duì)人生的不如意時(shí)投慈,常常有兩種類型的人承耿,一種...
    多瀚Sean閱讀 282評(píng)論 0 0
  • 人的一生中能遇到幾個(gè)喜歡的人安叻汀?正好那個(gè)人也喜歡你瘩绒?遇到了一定別有遺憾,全力以赴才是對(duì)自己的負(fù)責(zé)带族。愛情有時(shí)是盲目的...
    清窈閱讀 248評(píng)論 0 1
  • 1.關(guān)于行內(nèi)元素和塊狀元素的說明 根據(jù)CSS規(guī)范的規(guī)定,每一個(gè)網(wǎng)頁(yè)元素都有一個(gè)display屬性择克,用于確定該元素的...
    醉笑紅塵中閱讀 590評(píng)論 0 0