用此參數指定一個或多個包。指定包之后,monkey將只允許系統啟動指定的app。如果丌指定包,monkey將允許系統啟動設備中的所有app。指定一個包:adbshellmonkey-pcom.shjt.map100指定多個包:adbshellmonkey-pfish" />

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹

系統 1627 0

?簡介

  前邊幾篇介紹了Monkey以及Monkey的事件,今天就給小伙伴們介紹和分享一下Monkey的參數。

  首先我們看一下這幅圖來大致了解一下:

Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第1張圖片

1、Monkey 命令 基本參數介紹

-p <允許的包名列表>?????? ???

用此參數指定一個或多個包。指定包之后,monkey將只允許系統啟動指定的app。如果丌指定包, monkey將允許系統啟動設備中的所有app。??

指定一個包:

            adb shell monkey -p com.shjt.map 100   
          

指定多個包:

            adb shell monkey -p fishjoy.control.menu  –p com.shjt.map  100  
          

-v????????

用亍指定反饋信息級別(信息級別就是日志的詳細程度),總共分3個級別,分別對應的參數如下 表所示:?

            Level 0  :  adb shell monkey -p com.shjt.map -v 100               // 缺省值,僅提供啟動提示、測試完成和最終結果等少量信息   

Level 1  :  adb shell monkey -p com.shjt.map -v  -v 100          // 提供較為詳細的日志,包括每個發送到Activity的事件信息

Level 2  :  adb shell monkey -p com.shjt.map -v  -v  -v 100     // 最詳細的日志,包括了測試中選中/未選中的Activity信息
          


-s(隨機數種子) ????????????

用亍指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。? 示例:

monkey測試1:

            adb shell monkey -p com.shjt.map –s 10 100 
          

monkey測試2:

            adb shell monkey -p com.shjt.map –s 10 100  
          


--throttle <毫秒>??? ?????????

用亍指定用戶操作(即事件)間的時延,單位是毫秒;如果丌指定這個參數,monkey會盡可能快的 生成和發送消息。

示例:

            adb shell monkey -p com.shjt.map --throttle 3000 100   
          

2、monkey 參數

2.1參數分類

  • 常規類參數
  • 事件類參數
  • 約束類參數
  • 調試類參數

2.2常規類參數

常規類參數包括幫助參數和日志信息參數。幫助參數用于輸出 Monkey命令使用指導;日志信息參數將日志分為三個級別,級別越高,日志的信息越詳細。

1.幫助類參數

            monkey -h
          

?

2.日志級別

            $ adb shell monkey -v 
            
          

-v:打印出日志信息,每個-v將增加反饋信息的級別。-v越多日志信息越詳細,不過目前最多支持3個-v,即:

? Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第2張圖片

?

? Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第3張圖片

?

2.3事件類參數

事件類參數的作用是對隨機事件進行調控,從而使其遵照設定運行,如設置各種事件的百分比、設置事件生成所使用的種子值等。頻率參數主要限制事件執行的時間間隔。

1.執行指定腳本

            $ adb shell monkey -f 
            
              
                

eg:

$ adb shell monkey -f /mnt/sdcard/test1
              
            
          

?

2.偽隨機數生成種子值

使用 -s命令可以重復執行之前的偽隨機操作。本身每次執行偽隨機事件操作也會默認生成一個seed值

            $ adb shell monkey -s 
            
              
                

eg:

$ adb shell monkey -s 666 100
              
            
          

?

3.設置間隔

如果你希望在每一個指令之間加上固定的間隔時間,可以用--throttle(注意,前面是--)命令。

            $ adb shell monkey --throttle 
            
              

eg:

$ adb shell monkey --throttle 3000  5
            
          

--throttle:后面接時間,單位為ms( ),表示事件之間的固定延遲(即執行每一個指令間隔的時間),若不接該選項,monkey將不會延遲。

?

4.調整觸摸事件百分比

如果你希望調整觸摸事件的百分比,記住使用 --pct-touch。

            $ adb shell monkey --pct-touch

eg:

$ adb shell monkey -v -v --pct-touch 100 200
          

--pct-touch:后面接觸摸事件百分比

注意:觸摸事件不單單是按鍵,它泛指發生在某一位置的一個 down-up事件。

?

5.調整手勢事件百分比

            $ adb shell monkey --pct-motion

eg:

$ adb shell monkey -v -v --pct-motion 100 200
          

?

6.調整應用啟動事件的百分比

如果你希望調整應用啟動事件的百分比,記住使用 --pct-app-switch。

            $ adb shell monkey --pct-appswtich 
            
          

--pct-appswitch:后面接應用啟動事件百分比。

應用啟動事件(即 activity launches)俗稱打開應用,通過調用startActivity()方法最大限度地開啟該package下的所有應用。

?

7.調整屏幕旋轉事件百分比

            $ adb shell monkey --pct-rotation 
            
          

--pct-rotation 后面接屏幕旋轉事件的比例值。

?

8.其他參數

? Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第4張圖片

?

2.4約束類參數

1.包約束

-p:后面接一個或多個包名( ),如果應用需要訪問其他包里的Activity,那相關的包也需要在此同時指定。如果不指定任何包,monkey將允許系統啟動全部包里的Activity。

            $ adb shell monkey -p 
            
              
                

eg:

$ adb shell monkey -p com.tal.kaoyan 500

$ adb shell monkey -p com.tal.kaoyan -p com.tencent.mm 500
              
            
          

?

2.activity類約束

如果你希望將 monkey限制在一個或幾個類別中,使用如下命令:

            adb shell monkey -c 
            
              
            
          

以下命令表示運行 Intent.CATEGORY_LAUNCHER類別的Activity并發送1000個隨機事件。

            $ adb shell monkey -c Intent.CATEGORY_LAUNCHER  1000

          

? Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第5張圖片

?

2.5調試類參數

1.應用程序崩潰后繼續發送事件

如果你希望 monkey在應用程序崩潰后繼續發送事件,則需要用到--ignore-crashes命令

            $ adb shell monkey --ignore-crashes 
            
          

在設置此選項后,當應用程序崩潰或發生失控異常時, monkey將繼續運行直到計數完成。如果不設置此選項,monkey遇到上述崩潰或異常將停止運行。

?

2.超時錯誤繼續發送事件

如果你希望 monkey在任何超時錯誤發生后繼續發送事件,則需要用到--ignore-timeouts命令。

            $ adb shell monkey --ignore-timeouts
          

--ignore-timeouts:在設置此選項后,當應用程序發生任何超時錯誤(如ANR,即Application Not Responding)時,monkey將繼續運行直到計數完成。如果不設置此選項,monkey遇到此類超時對話框將停止運行。

?

3.應用程序權限錯誤發生后繼續發送事件

如果你希望 monkey在應用程序權限錯誤發生后繼續發送事件,則需要用到--ignore-security-exceptions命令。

            $ adb shell monkey --ignore-security-exceptions
          

--ignore-security-exceptions:在設置此選項后,當應用程序發生任何權限錯誤(如啟動一個需要某些權限的Activity)時,monkey將繼續運行直到計數完成。如果不設置此選項,monkey遇到此類權限錯誤將停止運行。

?

4.其他

? Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第6張圖片

?

3、Monkey參數應用綜合案例

3.1測試場景

測試考研幫 app Android版。測試希望通過Monkey來模擬用戶的隨機操作,檢查被測應用是否會出現異常(應用崩潰或者無響應)。

3.2需求分析

1、測試是指定應用,因此需要使用-p指定被測app包名:com.tal.kaoyan

2、這個測試的目的是希望模擬用戶操作,因此需要讓Monkey執行的事件盡可能地接近用戶的常規操作,這樣才可以最大限度地發現用戶使用過程中可能出現的問題。因此需要對Monkey執行的事件百分比做一些調整:

觸摸事件和手勢事件是用戶最常見的操作,所以通過 --pct-touch和--pct-motion將這兩個事件的占比調整到40%與25%;目標應用包含了多個Activity,為了能覆蓋大部分的Activity,所以通過--pct-appswitch將Activity切換的事件占比調整到10%;被測應用在測試中出現過不少橫豎屏之間切換的問題,這個場景也必須關注,因此通過--pct-rotation把橫豎屏切換事件調整到10%。

3、使用-s參數來指定命令執行的seed值 Monkey會根據seed值來生成對應事件流,同一個seed生成的事件流是完全相同的。這里指定了seed值,是為了測試發現問題時,便于進行問題復現。

4、使用--throttle參數來控制Monkey每個操作之間的時間間隔 指定操作之間的時間間隔,一方面是希望能更接近用戶的操作場景,正常用戶操作都會有一定的時間間隔;另一方面也是不希望因為過于頻繁的操作而導致系統崩潰,尤其是在比較低端的手機上執行測試時。因此通過--throttle設置Monkey每個操作固定延遲0.4秒。

5、使用--ignore-crashs和--ignore-timeouts參數使Monkey遇到意外時能繼續執行 在執行Monkey測試時,會因為應用的崩潰或沒有響應而意外終止,所以需要在命令中增加限制參數--ignore-crash和--ignore-timeouts,讓Monkey在遇到崩潰或沒有響應的時候,能在日志中記錄相關信息,并繼續執行后續的測試。

6、使用-v指定log的詳細級別 Monkey的日志輸出有3個級別:日志的級別越高,其詳細程度也越高。為了方便問題的定位,這里將日志設為 -v -v.

3.3測試命令

            adb shell monkey -p com.tal.kaoyan

--pct-touch 40 --pct-motion 25 

--pct-appswitch 10

--pct-rotation 5

-s 1666 --throttle 400

--ignore-crashes

--ignore-timeouts

-v -v  200
          

4、小結

  好了,Monkey參數暫且到這里,告一段落,下一篇計劃介紹分享 Monkey的日志管理 ,各位小伙伴敬請期待哈!!!

您的肯定就是我進步的動力。 如果你感覺還不錯,就請鼓勵一下吧!記得點波 ? 推薦 ?哦!!!(點擊右邊的小球即可)

個人公眾號

Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第7張圖片

微信群

Appium+python自動化(十九)- 猴哥失散多年的混血弟弟還是妹妹- Monkey(猴子)參數(超詳解)_第8張圖片


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 男人天堂网av | 亚洲狠狠丁香婷婷综合久久久 | 国产亚洲综合一区在线 | 欧美精品一区二区三区蜜桃视频 | 久草新视频 | 狠狠色欧美亚洲狠狠色五 | 天天操天天射天天舔 | 亚洲欧美成人中文在线网站 | 成人一区二区在线观看视频 | 青草香蕉精品视频在线观看 | 亚洲精品久久久中文字幕 | 国精品日韩欧美一区二区三区 | 午夜电影免费看 | 色婷婷色婷婷 | 亚洲国产中文字幕在线观看 | 亚洲影院在线观看 | 成人app色深夜福利 欧美电影一区 | 激情五月综合 | 色综合久久天天综合绕观看 | 五月综合激情在线 | 青青草一区 | 欧美人与动物xx | 久久久精品中文字幕 | 欧美在线播放一区 | 日韩免费视频一区二区 | 色九九 | 色免费在线 | 国产视频一区二区 | 欧美一区二区三区大片 | 欧美国产精品一区二区免费 | 精品国产三级 | 日本大片久久久高清免费看 | 日本一区二区三区高清不卡 | 亚洲国产欧洲精品路线久久 | 亚洲最大视频网站 | 欧美伦妇高清免费 | 亚洲成年网站在线777 | 日本一级高清不卡视频在线 | 天天躁天天碰天天看 | 成人精品网 | 韩国三级中文字幕hd久久精品 |