1.Money介紹
顧名思義,Monkey就是猴子粗梭,? Monkey測(cè)試,就像一只猴子级零, 在電腦面前断医,亂敲鍵盤在測(cè)試。
通過Monkey程序模擬用戶觸摸屏幕奏纪、滑動(dòng)Trackball鉴嗤、 按鍵等操作來對(duì)設(shè)備上的程序進(jìn)行壓力測(cè)試,檢測(cè)程序多久的時(shí)間會(huì)發(fā)生異常序调。
2.Monkey用來做什么
Monkey 主要用于Android 的壓力測(cè)試自動(dòng)的一個(gè)壓力測(cè)試小工具醉锅, 主要目的就是為了測(cè)試app 是否會(huì)Crash(崩潰)。
3. Monkey 前提條件
環(huán)境配置:把a(bǔ)db加入系統(tǒng)環(huán)境发绢,手機(jī)開啟開發(fā)者模式
連接手機(jī)硬耍,獲取測(cè)試的包名。獲取包名的方法
Monkey編寫測(cè)試命令,并運(yùn)行朴摊。monkey操作命令
如果要提前中結(jié)束測(cè)試默垄,中斷運(yùn)行中的monkey
CTRL+Cadb shell ps | grep monkey? 返回進(jìn)程號(hào)adb shell kill [剛才查到的進(jìn)程號(hào)]
4.Monkey程序介紹
Monkey程序由Android系統(tǒng)自帶,使用Java語言寫成甚纲,在Android文件系統(tǒng)中的存放路徑是: /system/framework/monkey.jar口锭;
Monkey.jar程序是由一個(gè)名為“monkey”的Shell腳本來啟動(dòng)執(zhí)行,shell腳本在Android文件系統(tǒng)中 的存放路徑是:/system/bin/monkey;
Monkey 命令啟動(dòng)方式:
a)可以通過PC機(jī)CMD窗口中執(zhí)行: adb shell monkey {+命令參數(shù)}來進(jìn)行Monkey測(cè)試
b)在PC上adb shell 進(jìn)入Android系統(tǒng)鹃操,通過執(zhí)行 monkey {+命令參數(shù)} 來進(jìn)行Monkey 測(cè)試
c )? 在Android機(jī)或者模擬器上直接執(zhí)行monkey 命令韭寸,可以在Android機(jī)上安裝Android終端模擬器
七、Monkey 命令 基本參數(shù)介紹
7.1.使用monkey測(cè)試手機(jī)所有程序
adb shell monkey 100 執(zhí)行monkey測(cè)試100次 針對(duì)rom測(cè)試或者
image.png
使用adb指令荆隘,安裝Login.apk
image.png
7.2.-p <允許的包名列表>
adb shell monkey -p com.example.login? 100
用此參數(shù)指定一個(gè)或多個(gè)包恩伺。指定包之后,monkey將只允許系統(tǒng)啟動(dòng)指定的app椰拒。如果不指定包晶渠, monkey將允許系統(tǒng)啟動(dòng)設(shè)備中的所有app。
指定一個(gè)包:
image.png
7.3.顯示日志詳細(xì)程度
用于指定反饋信息級(jí)別(信息級(jí)別就是日志的詳細(xì)程度)燃观,總共分3個(gè)級(jí)別褒脯,分別對(duì)應(yīng)的參數(shù)如下 表所示:
Level 0? :? adb shell monkey -p com.example.login -v 100? // 缺省值,僅提供啟動(dòng)提示缆毁、測(cè)試完成和最終結(jié)果等少量信息
image.png
Level 1? :? adb shell monkey -p com.example.login -v? -v 100? ? ? ? ? // 提供較為詳細(xì)的日志番川,包括每個(gè)發(fā)送到Activity的事件信息
Level 2? :? adb shell monkey -p com.example.login -v? -v? -v 100? ? // 最詳細(xì)的日志,包括了測(cè)試中選中/未選中的Activity信息
image.png
7.4.Monkey日志分析
將log信息寫到文檔中
adb shell monkey 100 >c:/log/b.txt
image.png
正常情況脊框,? 如果Monkey測(cè)試順利執(zhí)行完成颁督, 在log的最后, 會(huì)打印出當(dāng)前執(zhí)行事件的次數(shù)和所花費(fèi)的時(shí)間浇雹; // Monkey finished 代表執(zhí)行完成
隨機(jī)數(shù)種子
用亍指定偽隨機(jī)數(shù)生成器的seed值沉御,如果seed相同,則兩次Monkey測(cè)試所產(chǎn)生的事件序列也相同的箫爷。? 示例:
monkey測(cè)試1:adb shell monkey -p com.shjt.map –s 10 100
monkey測(cè)試2:adb shell monkey -p com.shjt.map –s 10 100
image.png
7.5.--throttle <毫秒>
用亍指定用戶操作(即事件)間的時(shí)延嚷节,單位是毫秒;如果不指定這個(gè)參數(shù)虎锚,monkey會(huì)盡可能快的 生成和發(fā)送消息硫痰。
例:adb shell monkey -p com.example.login --throttle 300 100
表示執(zhí)行100個(gè)偽隨機(jī)用戶事件流,事件間隔為300毫秒窜护。
注:一般設(shè)置為300毫秒效斑,原因是實(shí)際用戶操作的最快300毫秒左右一個(gè)動(dòng)作事件。
image.png
7.6.--pct-touch <percent>
調(diào)整觸摸事件的百分比柱徙。(觸摸事件是指在屏幕中的一個(gè)down-up事件缓屠,即在屏幕某處按下并抬起的操作)
–pct-touch:觸摸事件。即在某一位置的Down-Up(手指的放下和抬起)事件护侮。Down(ACTION_DOWN)和Up(ACTION_UP)的坐標(biāo)臨近敌完,但并非相同。
如:adb shell monkey -pct-touch 67 -v 10
表示執(zhí)行10個(gè)偽隨機(jī)用戶事件流羊初,并調(diào)整其中觸摸事件的百分比為67%滨溉。
注:此參數(shù)設(shè)置要適應(yīng)當(dāng)前被測(cè)應(yīng)用程序的操作什湘,比如一個(gè)應(yīng)用80%的操作都是觸摸,那就可以將此參數(shù)的百分比設(shè)置成相應(yīng)較高的百分比晦攒。
7.7.--pct-motion <percent>
調(diào)整motion事件百分比闽撤。(motion事件是由屏幕上某處一個(gè)down事件、一系列偽隨機(jī)的移動(dòng)事件和一個(gè)up事件組成)
–pct-motion:動(dòng)作事件脯颜。以Down(ACTION_DOWN)開始哟旗,Up(ACTION_UP)結(jié)尾,中間至少有一次Move(ACTION_MOVE)栋操。
如:adb shell monkey -pct-motion 67 -v 10
表示執(zhí)行10個(gè)偽隨機(jī)用戶事件流闸餐,并調(diào)整其中動(dòng)作事件的百分比為67%。
注:這里的移動(dòng)是直線滑動(dòng)
7.8.--ignore-crashes
作用:通常矾芙,應(yīng)用發(fā)生崩潰或異常時(shí)Monkey會(huì)停止運(yùn)行绎巨。如果設(shè)置此項(xiàng),Monkey將繼續(xù)發(fā)送事件給系統(tǒng)蠕啄,直到事件計(jì)數(shù)完成。
正常操作戈锻,不忽略異常
image.png
image.png
忽略異常
image.png
image.png
7.9.--ignore-timeouts(ANR)
作用:通常歼跟,應(yīng)用程序發(fā)生任何超時(shí)錯(cuò)誤(如“Application Not responding”對(duì)話框)Monkey將停止運(yùn)行,設(shè)置此項(xiàng)格遭,Monkey將繼續(xù)發(fā)送事件給系統(tǒng)哈街,直到事件計(jì)數(shù)完成。
7.10.Monkey 實(shí)例
用monkey 命令 對(duì)登錄apk進(jìn)行 性能測(cè)試
image.png
monkey -p com.tencent.mtaexample -s 23? --throttle2000 --ignore-crashes --ignore-timeouts -v -v -v 100000>/data/local/tmp/log.txt 2>&1 &
-p后面接著的對(duì)應(yīng)的包名拒迅,如果是整機(jī)測(cè)試骚秦,就不需要 -p? package_name
-s后面是對(duì)應(yīng)的種子數(shù),好像就是操作步驟璧微,根據(jù)她們測(cè)試的經(jīng)驗(yàn)作箍,一般種子數(shù)在23,同步她們測(cè)試的結(jié)果前硫,一般種子的個(gè)數(shù)固定為23胞得,和她們選擇的操作步驟就是同步的。
--ignore-crashes --ignore-timeouts 這里是在monkey測(cè)試的過程中遇到carash或者timeout的情況時(shí)忽略掉屹电,一般不設(shè)置時(shí)阶剑,出現(xiàn)carash或者timeout時(shí),Monkey測(cè)試會(huì)終止危号。這里是防止Monkey測(cè)試終止牧愁。
-v 指的是Monkey測(cè)試時(shí)打印log級(jí)別。
100000 這里是指點(diǎn)擊的次數(shù)外莲,根據(jù)她們測(cè)試的經(jīng)驗(yàn)猪半,對(duì)于單個(gè)應(yīng)用程序這個(gè)次數(shù)設(shè)置在100000次就可以了;如果是整機(jī),一般設(shè)置在500000次办龄。
/data/local/tmp/log.txt測(cè)試的log記錄在手機(jī)上/data/local/tmp/ 下面的log.txt里面烘绽,這個(gè)名字可以自己寫。
2>&1 固定的寫法俐填,這個(gè)也很重要安接,代表的意思是中間忽略的東東的日志一并輸入到指定的文件中。
最后單獨(dú)的一個(gè)"&" 是一旦Monkey測(cè)試開始了英融,之后可以拔掉數(shù)據(jù)線盏檐,不會(huì)影響Monkey測(cè)試。
測(cè)試所有模塊? monkey? -s 23 --ignore-crashes --ignore-timeouts -v-v -v 100000> /data/local/tmp/log.txt 2>&1 &
adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v 1000 >c:\login\c.txt
7.11.Monkey異常分析
一般我們可以一次發(fā)送5萬次隨機(jī)事件的請(qǐng)求驶悟,每個(gè)請(qǐng)求之間的間隔為150毫秒胡野,測(cè)試大約會(huì)進(jìn)行40min,完成以后就可以查看日志痕鳍。
日志中可能的錯(cuò)誤:
1.程序異常退出硫豆,uncausedexception (ctrl+f搜索‘Fatal’)
2.程序強(qiáng)制關(guān)閉,F(xiàn)orceClosed (簡(jiǎn)稱FC) (同上)
3.程序無響應(yīng)笼呆,ApplicationNo Response(ctrl+f搜索‘ANR ’熊响,加空格是為了屏蔽掉一些無效信息)
4.手動(dòng)生成。
Monkey 執(zhí)行中斷诗赌, 在log最后也能看到當(dāng)前執(zhí)行次數(shù)
7.12.monkey事件百分比
首先注意一點(diǎn)汗茄,這個(gè)Event percentages在不同版本的SDK版本中順序可能會(huì)不一樣。
下列中monkey源代碼是從android4.4.2SDK中反編譯出來的
image.png
image.png
由上圖可以看出
Event percentages:
0:--pct-touch//touch
events percentage觸摸事件百分比(觸摸事件是一個(gè)在屏幕單一位置的按下-抬起事件)
1:--pct-motion//motion
events percentage手勢(shì)事件百分比(手勢(shì)事件是由一個(gè)在屏幕某處的按下事件铭若、一系列的偽隨機(jī)移動(dòng)洪碳、一個(gè)抬起事件組成)即一個(gè)滑動(dòng)操作,但是是直線的叼屠,不能拐彎
2:--pct-pinchzoom//pinch
zoom events percentage二指縮放百分比瞳腌,即智能機(jī)上的放大縮小手勢(shì)操作
3:--pct-trackball//trackball? 即單純的Move(ACTION_MOVE)
events percentage軌跡球事件百分比(軌跡球事件包括一個(gè)或多個(gè)隨機(jī)移動(dòng),有時(shí)還伴有點(diǎn)擊环鲤。軌跡球現(xiàn)在智能手機(jī)上已經(jīng)沒有了纯趋,就是類似手柄的方向鍵一樣)
4:--pct-rotation//screen
rotation events percentage屏幕旋轉(zhuǎn)百分比,橫屏豎屏
5:--pct-nav//nav 基本導(dǎo)航事件冷离。即來自于方向輸入設(shè)備的上下左右操作吵冒。
events percentage”基本”導(dǎo)航事件百分比(導(dǎo)航事件包括上下左右,如方向輸入設(shè)備的輸入)老手機(jī)的上下左右鍵西剥,智能機(jī)上沒有
6:--pct-majornav//major 即Navigation Bar的確認(rèn)痹栖,菜單,返回鍵等
nav events percentage”主要”導(dǎo)航事件百分比(這些導(dǎo)航事件通常會(huì)引發(fā)UI的事件瞭空,例如5-way pad的中間鍵揪阿、回退鍵疗我、菜單鍵)
7:--pct-syskeys//system(key)
operations percentage”系統(tǒng)”按鈕事件百分比(這些按鈕一般專供系統(tǒng)使用,如Home, Back, Start Call, End Call,音量控制)
8:--pct-appswitch//app
switch events percentage啟動(dòng)activity事件百分比南捂。在隨機(jī)的間隔里吴裤,Monkey會(huì)執(zhí)行一個(gè)startActivity()調(diào)用,作為最大程度覆蓋包中全部Activity的一種方法
9:--pct-flip//keyboard
flip percentage鍵盤輕彈百分比溺健,如點(diǎn)擊輸入框麦牺,鍵盤彈起,點(diǎn)擊輸入框以外區(qū)域鞭缭,鍵盤收回
10:--pct-anyevent//anyevents? 該事件可能包含其他上述事件剖膳。
percentage其他類型事件百分比。包括了其他所有的類型事件岭辣,如按鍵吱晒、其他不常用的設(shè)備上的按鈕等等。
八沦童、手機(jī)兼容性測(cè)試
Android App兼容性測(cè)試仑濒,是一個(gè)比較重要的App評(píng)價(jià)內(nèi)容,
說到測(cè)試階段偷遗,兼容性測(cè)試主要是對(duì)App在各類機(jī)型上的兼容躏精、適配等情況進(jìn)行測(cè)試。搞清楚這一階段的測(cè)試重點(diǎn)后鹦肿,因此,Android App在進(jìn)行兼容性測(cè)試前辅柴,一定要做好其前序測(cè)試內(nèi)容箩溃,否則兼容性測(cè)試效果將會(huì)較差。
8.1.機(jī)型配置問題碌嘀。
Android兼容測(cè)試一定要做到寬范圍覆蓋涣旨,如果做不到這個(gè),那么就違背了兼容性測(cè)試的目標(biāo)——測(cè)試App在各類機(jī)型股冗、系統(tǒng)上的運(yùn)行是否兼容霹陡、適配。
因此止状,兼容性測(cè)試必須要在各個(gè)機(jī)型烹棉、系統(tǒng)上對(duì)App進(jìn)行運(yùn)行、測(cè)試怯疤,查看相關(guān)UI是否適配浆洗、功能是否正常。所以集峦,必須要為兼容性測(cè)試配備盡可能多的機(jī)型伏社。這是不是意味著抠刺,你的公司要去購置各類機(jī)型設(shè)備?當(dāng)然不是摘昌。對(duì)于一般的公司或者開發(fā)者速妖,這將會(huì)是一大筆開銷,為了節(jié)約資金而造成進(jìn)行覆蓋率較低的話聪黎,則失去了兼容性測(cè)試的意義罕容。另外,這也是沒必要的挺举,因?yàn)橥憔鸵粋€(gè)或兩三個(gè)App杀赢,為了這少量App測(cè)試,而去購置如此大量的設(shè)備湘纵,無疑是一種資源浪費(fèi)脂崔。除此,還有一個(gè)原因梧喷,將在兼容性測(cè)試如何展開里去說砌左。除此,機(jī)型量的多少也是一個(gè)權(quán)衡的過程铺敌,目前汇歹,通用的兼容性測(cè)試一般覆蓋Top100-300的機(jī)型,對(duì)于實(shí)在是小量機(jī)型或者老舊機(jī)型偿凭,用戶量非常小产弹,在一定程度上,是否需要覆蓋則需要權(quán)衡弯囊,總的來說痰哨,Top排名的手機(jī)基本足夠。
8.2.兼容性如何展開匾嘱?
這是一個(gè)經(jīng)驗(yàn)性的過程斤斧,可以去借鑒大型互聯(lián)網(wǎng)公司的成熟App的測(cè)試方法。目前霎烙,無論是國際知名App撬讽,還是國內(nèi)知名App,谷歌悬垃、Facebook游昼,BAT等,他們都有大量的App對(duì)外推出尝蠕,對(duì)于App兼容性要求非常高酱床,因此,他們的做法是非常值得借鑒的趟佃。這些公司的兼容性測(cè)試扇谣,都有一個(gè)相同的解決方案昧捷,那就是自動(dòng)化測(cè)試框架與平臺(tái)的實(shí)現(xiàn)。通過瀏覽上述公司在各種大會(huì)公布的內(nèi)容罐寨,或者通過論壇知識(shí)分享靡挥,都能看到,他們不僅有自己的測(cè)試實(shí)驗(yàn)室鸯绿,擁有大量的手機(jī)跋破,除此,還有一整套的自動(dòng)化測(cè)試平臺(tái)瓶蝴,來完成兼容性測(cè)試毒返。
8.3.有哪些好用的App云測(cè)試平臺(tái)?
目前對(duì)移動(dòng)App的測(cè)試主要指的是下面幾部分:
兼容性測(cè)試——App對(duì)不同手機(jī)舷手、操作系統(tǒng)版本的兼容性測(cè)試退渗,包括安裝栗恩、啟動(dòng)鞍陨、卸載等蒿囤。
功能測(cè)試——遍歷應(yīng)用的每一個(gè)角落,查看應(yīng)用的功能歉眷、邏輯是否正常牺六,完整。
性能測(cè)試——應(yīng)用的性能怎樣汗捡,如啟動(dòng)時(shí)間淑际、反應(yīng)時(shí)間、CPU占用率扇住,內(nèi)存占用率等庸追。
穩(wěn)定性測(cè)試——在一定時(shí)間內(nèi)對(duì)App進(jìn)行持續(xù)地測(cè)試,測(cè)試App運(yùn)行的穩(wěn)定性台囱。
網(wǎng)絡(luò)場(chǎng)景測(cè)試——測(cè)試不同網(wǎng)絡(luò)環(huán)境中App的運(yùn)行狀況,如2G&3G读整,弱網(wǎng)絡(luò)等簿训。
以下是國內(nèi)幾家主要的云測(cè)試平臺(tái):
Testin:Testin云測(cè)|全球領(lǐng)先的App及手游測(cè)試平臺(tái)
Testin是國內(nèi)較早涉足云測(cè)試領(lǐng)域的公司之一。Testin在云端部署了300多款1000多部測(cè)試終端米间,終端種類及數(shù)量都比較全面强品。支持Android與iOS系統(tǒng)。但目前僅少部分服務(wù)為免費(fèi)屈糊,絕大多數(shù)服務(wù)為收費(fèi)項(xiàng)目的榛,故而使用成本較高,具體收費(fèi)情況請(qǐng)查看官網(wǎng)的介紹逻锐。
騰訊優(yōu)測(cè):優(yōu)測(cè)網(wǎng)-讓測(cè)試更簡(jiǎn)單
騰訊優(yōu)測(cè)是騰訊旗下的云測(cè)試服務(wù)平臺(tái)夫晌,擁有超過1000款測(cè)試終端雕薪,機(jī)型數(shù)量龐大。但僅支持Android晓淀,暫不支持iOS系統(tǒng)所袁。提供兼容性測(cè)試服務(wù),不提供性能測(cè)試凶掰、功能測(cè)試及穩(wěn)定性測(cè)試服務(wù)燥爷。另外,騰訊優(yōu)測(cè)還提供“云手機(jī)”服務(wù)懦窘,開發(fā)者可以遠(yuǎn)程控制測(cè)試終端前翎,實(shí)時(shí)查看App安裝、運(yùn)行效果畅涂。優(yōu)測(cè)目前的功能為收費(fèi)(新注冊(cè)的用戶可獲得官方贈(zèng)送的禮包)港华,每天限制提交2次測(cè)試。
移動(dòng)測(cè)試學(xué)習(xí)端口:https://wetest.qq.com/guide/learn-source
image.png
貫眾云測(cè)試:貫眾云測(cè)試
貫眾云測(cè)試是中國移動(dòng)旗下的云測(cè)試服務(wù)平臺(tái)毅戈,目前擁有超過100款市面主流終端苹丸,支持Android及iOS系統(tǒng)。提供兼容性測(cè)試苇经、功能測(cè)試赘理、性能測(cè)試,穩(wěn)定性測(cè)試(12小時(shí))及網(wǎng)絡(luò)場(chǎng)景測(cè)試服務(wù)(2G&3G&4G)扇单。支持Appium腳本商模。缺點(diǎn)是終端數(shù)量較少,優(yōu)點(diǎn)是功能較為全面蜘澜,且基本功能都是免費(fèi)施流,使用成本還是蠻低的。
百度MTC:百度移動(dòng)云測(cè)試中心
百度MTC是百度開放平臺(tái)旗下的移動(dòng)云測(cè)試中心鄙信。提供超過500款熱門機(jī)型瞪醋,目前只支持Android系統(tǒng),暫不支持iOS系統(tǒng)装诡。提供的測(cè)試服務(wù)種類有兼容性測(cè)試银受、性能測(cè)試、功能測(cè)試鸦采。并且提供了腳本錄制工具宾巍,類似Testin。但腳本錄制工具更新速度較慢渔伯。百度MTC的服務(wù)目前為收費(fèi)服務(wù)顶霞,具體收費(fèi)情況請(qǐng)查看官網(wǎng)的介紹。
阿里MQC:MQC 阿里移動(dòng)質(zhì)量中心
阿里MQC是阿里巴巴旗下的移動(dòng)測(cè)試平臺(tái)锣吼。提供上百款測(cè)試終端选浑,支持Android及iOS系統(tǒng)蓝厌。提供兼容性測(cè)試、功能測(cè)試鲜侥、性能測(cè)試以及穩(wěn)定性測(cè)試(1小時(shí))褂始。測(cè)試腳本需使用Robotium或Appium測(cè)試框架編寫,難度較高描函。MQC也提供了遠(yuǎn)程的真機(jī)調(diào)試崎苗,功能和騰訊優(yōu)測(cè)類似,看來騰訊和阿里還真是一對(duì)兒冤家啊舀寓。
8.4.騰訊云測(cè)兼容性報(bào)告
image.png
image.png
image.png
image.png
8.5. 百度MTC-移動(dòng)云測(cè)試中心
百度MTC是百度開放平臺(tái)旗下的移動(dòng)云測(cè)試中心胆数。提供超過500款熱門機(jī)型,目前只支持Android系統(tǒng)互墓,暫不支持iOS系統(tǒng)必尼。提供的測(cè)試服務(wù)種類有兼容性測(cè)試、性能測(cè)試篡撵、功能測(cè)試判莉。并且提供了腳本錄制工具,類似Testin育谬。但腳本錄制工具更新速度較慢券盅。百度MTC的服務(wù)目前為收費(fèi)服務(wù)。
image.png
1膛檀、移動(dòng)app測(cè)試服務(wù)包含:自動(dòng)化測(cè)試锰镀、人工測(cè)試、用戶接受度評(píng)測(cè)咖刃、遠(yuǎn)程真機(jī)調(diào)試泳炉。點(diǎn)擊創(chuàng)建測(cè)試任務(wù)即可
image.png
2、以功能回放測(cè)試為例:創(chuàng)建測(cè)試任務(wù)嚎杨。步驟為上傳app花鹅,上傳用例,選擇測(cè)試終端枫浙,截圖刨肃,郵件。
image.png
3自脯、測(cè)試報(bào)告包含:應(yīng)用基本信息、結(jié)論總覽斤富、問題分布膏潮、問題列表、問題終端分布满力、性能結(jié)論焕参、性能分析轻纪、內(nèi)存占用分析、終端列表叠纷。
點(diǎn)擊進(jìn)入終端詳細(xì)報(bào)告刻帚,包含內(nèi)容:終端信息、測(cè)試結(jié)果涩嚣、性能結(jié)果崇众、測(cè)試截圖、安裝日志航厚、logcat日志顷歌、腳本日志、性能詳情幔睬、屏幕錄像眯漩。
image.png
8.6.各款云測(cè)試平臺(tái)對(duì)比
image.png
image.png
8.7.總體總結(jié)
1、真機(jī)租用:Testin云測(cè)和AWS Device Farm麻顶,均包含iOS和Android赦抖,型號(hào)全,優(yōu)先推薦辅肾。
2队萤、AWS Device Farm支持框架Appium Java JUnit、Appium Java TestNG宛瞄、Appium Python浮禾、Calabash、Instrumentation 份汗、UI Automation 和 XCTest盈电,終端支持Android和iOS,web杯活,優(yōu)先推薦
AWS Device Farm支持網(wǎng)絡(luò)場(chǎng)景選擇匆帚,其他均不支持。但是它的性能指標(biāo)比較少旁钧,只有三項(xiàng)吸重,CPU,Memroy,Threads
3歪今、百度MTC支持Appium嚎幸、Robotium、Uiautomator框架寄猩,但是創(chuàng)建測(cè)試任務(wù)時(shí)嫉晶,過于簡(jiǎn)單,具體測(cè)試內(nèi)容展示不明確。
深度性能測(cè)試無亮點(diǎn)替废,與兼容性測(cè)試中的性能數(shù)據(jù)無明顯優(yōu)勢(shì)箍铭。
4、阿里MQC支持在線錄制腳本椎镣,自行編寫腳本支持Appium诈火、Robotium框架
測(cè)試服務(wù)類型分布清晰,按測(cè)試系統(tǒng)劃分状答,支持Android冷守,iOS,yunos剪况。創(chuàng)建測(cè)試任務(wù)時(shí)教沾,測(cè)試步驟類型表述清晰。
5译断、騰訊優(yōu)測(cè)-Xtest工具授翻,支持錄制腳本。深度測(cè)試服務(wù)的報(bào)告很全面孙咪,但是價(jià)格稍貴堪唐。
6、Testin是國內(nèi)較早涉足云測(cè)試領(lǐng)域的公司之一翎蹈。Testin在云端部署了300多款1000多部測(cè)試終端淮菠,終端種類及數(shù)量都比較全面。支持Android與iOS系統(tǒng)荤堪,步驟簡(jiǎn)單合陵,便于操作。
九澄阳、真機(jī)測(cè)試
注意:下載手機(jī)助手拥知,換一根數(shù)據(jù)線,
9.1.第一步:讓手機(jī)顯示開發(fā)者選項(xiàng)
多次點(diǎn)擊版本號(hào)碎赢,顯示開發(fā)者選項(xiàng)
image.png
image.png
9.2.允許USB調(diào)試
若使用真機(jī)低剔,用USB將手機(jī)和電腦連接,在手機(jī)端進(jìn)行操作:
(1)選擇USB連接方式為設(shè)備文件管理;
(2)設(shè)置->開啟開發(fā)者選項(xiàng)->勾選‘USB調(diào)試’(真機(jī)和模擬器上皆需進(jìn)行)肮塞。
9.3.檢測(cè)連接設(shè)備
在終端中輸入’adb devices‘襟齿,此時(shí)已連接設(shè)備列表下應(yīng)存在設(shè)備序列號(hào)
9.4.執(zhí)行相應(yīng)的測(cè)試操作
9.5.同屏
image.png
10.作業(yè):
adb devices
adb install xxx
adb uninstall 程序包名
adb shell 進(jìn)入手機(jī)
adb shell dumpsys meminfo +包名:應(yīng)用的內(nèi)存使用情況
adb logcat -v time process > C:/log/aa.txt
adb logcat *:W
用monkey 命令 對(duì)登錄apk進(jìn)行 性能測(cè)試
image.png
adb shell monkey -p com.example.login --ignore-crashes --ignore-timeouts --throttle 100 --pct-touch 50 --pct-motion 50 -v -v 1000 >c:\login\c.txt