簡(jiǎn)介
? 日志是非常重要的,用于記錄系統(tǒng)、軟件操作事件的記錄文件或文件集合,可分為事件日志和消息日志。具有處理歷史數(shù)據(jù)、診斷問(wèn)題的追蹤以及理解系統(tǒng)、軟件的活動(dòng)等重要作用,在開(kāi)發(fā)或者測(cè)試軟系統(tǒng)過(guò)程中出現(xiàn)了問(wèn)題,我們首先想到的就是她——logging。她可不像泰戈?duì)栒f(shuō)的:“天空沒(méi)有留下翅膀的痕跡,但我已經(jīng)飛過(guò)”;Monkey這個(gè)小姑娘,她可是一個(gè)愛(ài)炫耀,愛(ài)顯擺的人已經(jīng)達(dá)到了人過(guò)留名、雁過(guò)留聲的境界。只要我們按圖索驥就一定可以定位到問(wèn)題所在,然后分析問(wèn)題,解決問(wèn)題。好了逗大家一樂(lè),下面開(kāi)始進(jìn)入今天的正題。
1.為什么要看Monkey日志管理
Monkey日志管理是Monkey測(cè)試中非常重要的一個(gè)環(huán)節(jié),通過(guò)日志管理分析,可以獲取當(dāng)前測(cè)試對(duì)象在測(cè)試過(guò)程中是否會(huì)發(fā)生異常,以及發(fā)生的概率,同時(shí)還可以獲取對(duì)應(yīng)的錯(cuò)誤信息,幫助開(kāi)發(fā)定位和解決問(wèn)題。這樣你就不會(huì)只停留在一個(gè)點(diǎn)點(diǎn)點(diǎn)的點(diǎn)工上,對(duì)自己也是一個(gè)很好的提升。
2.Monkey Log分析:
當(dāng)monkey測(cè)試時(shí)出現(xiàn)問(wèn)題,此時(shí)我們需要分析定位問(wèn)題,我們需要分析monkey日志
Monkey測(cè)試出現(xiàn)的異常的原因:?
一般是兩種原因?qū)е碌模粋€(gè)是crash 程序崩潰,導(dǎo)致crash原因如下?
a)、程序存在空指針?
b)、cpu不足?
c)、內(nèi)存不足
另一種是ANR 程序無(wú)響應(yīng),導(dǎo)致anr無(wú)響應(yīng)原因如下:?
a)、線程阻塞?
b)、cpu不足?
c)、內(nèi)存不足
查找分析原因:
1. 當(dāng)monkey測(cè)試出現(xiàn)異常終止,請(qǐng)打開(kāi)logcat日志搜索關(guān)鍵字‘a(chǎn)nrin’,如果存在該關(guān)鍵字,說(shuō)明app出現(xiàn)了ANR異常,我們需要把/data/anr目錄下的trace.txt文件取下來(lái)。?
2. 取下來(lái)trace.txt文件后,將出現(xiàn)問(wèn)題的進(jìn)程號(hào)對(duì)應(yīng)的日志發(fā)給軟件工程師定位,如果在logcat日志里沒(méi)有搜索到’anrin’關(guān)鍵字,就搜索’nullpointer’異常關(guān)鍵字的上下日志,發(fā)給開(kāi)發(fā)定位?
3. 當(dāng)出現(xiàn)ANR后,需要導(dǎo)出,步驟如下:?
1. 輸入adb shell?
2. 輸入cd /data/anr/?
3. 輸入ls
退出exit后,直接在cmd下輸入
4. adb pull /data/anr/traces.txt???d:\trace.txt?
5. 在logcat將出現(xiàn)anr問(wèn)題的進(jìn)程號(hào)復(fù)制,然后在trace.txt文件里按ctrl+F 查找,粘貼進(jìn)程號(hào),查找對(duì)應(yīng)的問(wèn)題
2.1Monkey結(jié)果分類(lèi)
Monkey運(yùn)行l(wèi)og輸出,按下列順序輸出
?下面就是我貼出的詳細(xì)LOG分析:(表情代替注釋符號(hào),以免跟日志搞混)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
|
3.快速?gòu)膍onkey.txt日志中定位問(wèn)題
3.1測(cè)試結(jié)果初步判斷
1.monkey執(zhí)行時(shí)未加--ignore-crashes
?--ignore-crashes
參數(shù),就先瀏覽日志中Events injected: 值
,查看當(dāng)前已執(zhí)行的次數(shù),就知道有無(wú)bug
2.程序無(wú)響應(yīng)的問(wèn)題:在日志中搜索 “ANR”
3.崩潰問(wèn)題:在日志中搜索 “Exception” ,在這里順便提一下常見(jiàn)的Java異常:
1 算術(shù)異常類(lèi):ArithmeticExecption 2 空指針異常類(lèi):NullPointerException 3 類(lèi)型強(qiáng)制轉(zhuǎn)換異常:ClassCastException 4 數(shù)組負(fù)下標(biāo)異常:NegativeArrayException 5 數(shù)組下標(biāo)越界異常:ArrayIndexOutOfBoundsException 6 違背安全原則異常:SecturityException 7 文件已結(jié)束異常:EOFException 8 文件未找到異常:FileNotFoundException 9 字符串轉(zhuǎn)換為數(shù)字異常:NumberFormatException 10 操作數(shù)據(jù)庫(kù)異常:SQLException 11 輸入輸出異常:IOException 12 違法訪問(wèn)錯(cuò)誤:IllegalAccessError 13 內(nèi)存不足錯(cuò)誤:OutOfMemoryError 14 堆棧溢出錯(cuò)誤:StackOverflowError 15.其他,請(qǐng)參考:https://www.cnblogs.com/cvst/p/5822373.html
3.2找出問(wèn)題后的操作步驟:
1.找到是monkey里面的哪個(gè)地方出錯(cuò)
2.查看Monkey里面出錯(cuò)前的一些事件動(dòng)作,并手動(dòng)執(zhí)行該動(dòng)作
3.若以上步驟還不能找出,可以使用之前執(zhí)行的monkey命令再執(zhí)行一遍,注意seed值要一樣。
4.日志導(dǎo)出
細(xì)心地小伙伴可能通過(guò)前邊的一系列操作和查找日志定位問(wèn)題,發(fā)現(xiàn)docs命令窗口在查看和操作的時(shí)候特別地不方便,那么Monkey有沒(méi)有像Tomcat等其他工具那樣有l(wèi)og日志文件,很不幸告訴小伙伴們答案是:NO!,但是好消息是:我們可以將日志導(dǎo)出到文件中。然后將文件導(dǎo)出到手機(jī)或者是電腦上。
4.1導(dǎo)出方法
導(dǎo)出到手機(jī):
1 2 3 4 5 6 7 8 9 |
|
導(dǎo)出到電腦:
1 2 3 4 5 6 7 |
|
以上的導(dǎo)出方法,導(dǎo)出日志后,標(biāo)準(zhǔn)流和錯(cuò)誤流的日志混合在一起,給我們定位和分析問(wèn)題又帶來(lái)麻煩了,因此需要將其分開(kāi)導(dǎo)出保存。
標(biāo)準(zhǔn)流和錯(cuò)誤流分開(kāi)保存:
1 2 3 4 5 |
|
各個(gè)文件主要內(nèi)容:
1 2 3 4 5 |
|
5.日志參數(shù)
1、-v 較少的日志信息?
2、-v -v 較為豐富的日志信息?
3、-v -v -v 最高級(jí)別的日志信息(推薦)
6.小結(jié)
初步分析方法:
(1)、找到是monkey里面的哪個(gè)地方出現(xiàn)錯(cuò)誤
(2)、查看monkey里面出錯(cuò)前的一些事件動(dòng)作,并手動(dòng)執(zhí)行該動(dòng)作
(3)、若以上步驟還不能找到,可以使用之前執(zhí)行monkey命令,再執(zhí)行一遍,注意使用的seed值要一樣
測(cè)試結(jié)果分析:
(1)、ANR問(wèn)題(程序無(wú)響應(yīng)):在日志中搜索“ANR"(application no response)
(2)、閃退問(wèn)題:在日志中搜索"crash"
(3)、異常:搜索"exception"
(4)、強(qiáng)制退出:搜索"force closed"
? ? ? ?好了,今天關(guān)于日志就到這里了!
????????????? 【下面是我整理的2023年最全的軟件測(cè)試工程師學(xué)習(xí)知識(shí)架構(gòu)體系圖】
一、Python編程入門(mén)到精通
二、接口自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
三、Web自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
四、App自動(dòng)化項(xiàng)目實(shí)戰(zhàn)
五、一線大廠簡(jiǎn)歷
六、測(cè)試開(kāi)發(fā)DevOps體系
七、常用自動(dòng)化測(cè)試工具
八、JMeter性能測(cè)試
九、總結(jié)(尾部小驚喜)
生命不息,奮斗不止。每一份努力都不會(huì)被辜負(fù),只要堅(jiān)持不懈,終究會(huì)有回報(bào)。珍惜時(shí)間,追求夢(mèng)想。不忘初心,砥礪前行。你的未來(lái),由你掌握!
生命短暫,時(shí)間寶貴,我們無(wú)法預(yù)知未來(lái)會(huì)發(fā)生什么,但我們可以掌握當(dāng)下。珍惜每一天,努力奮斗,讓自己變得更加強(qiáng)大和優(yōu)秀。堅(jiān)定信念,執(zhí)著追求,成功終將屬于你!
只有不斷地挑戰(zhàn)自己,才能不斷地超越自己。堅(jiān)持追求夢(mèng)想,勇敢前行,你就會(huì)發(fā)現(xiàn)奮斗的過(guò)程是如此美好而值得。相信自己,你一定可以做到!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-603238.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-603238.html
到了這里,關(guān)于Appium+python自動(dòng)化(二十)- Monkey(猴子)日志(超詳解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!