1. 程式人生 > >Appium+python自動化(十八)- 你難道是猴哥失散多年的混血弟弟還是妹妹???- Monkey事件(超詳解)

Appium+python自動化(十八)- 你難道是猴哥失散多年的混血弟弟還是妹妹???- Monkey事件(超詳解)

操作事件簡介

  Monkey所執行的隨機事件流中包含11大事件,分別是觸控事件、手勢事件、二指縮放事件、軌跡事件、螢幕旋轉事件、基本導航事件、主要導航事件、系統按鍵事件、啟動Activity事件、鍵盤事件、其他型別事件。Monkey通過這11大事件來模擬使用者的常規操作,對手機App進行穩定性測試。下面讓我們來詳細瞭解這11大事件。

1、觸控事件

觸控事件是指在螢幕某處按下並擡起的操作,可通過--pct-touch引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到。 該事件由一組Touch(ACTION_DOWN)和Touch(ACTION_UP)事件組成,在手機上看到實際操作類似於點選。

2、手勢事件

手勢事件是指在螢幕某處的按下、隨機移動、擡起的操作,即直線滑動操作。可通過--pct-motion引數來配置其事件百分比。

該事件是由一個ACTION_DOWN事件、一系列ACTION_MOVE事件和一個ACTION_UP事件組成的,在手機上看到的實際操作是一個沒有拐彎的直線滑動操作。

3、二指縮放事件

二指縮放事件是指在螢幕上的兩處同時按下,並同時移動,最後同時擡起的操作,即智慧機上的放大縮小手勢操作。可通過--pct-pinchzoom引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到:

該事件起始是一個ACTION_DOWN事件和一個ACTION_POINTER_DOWN事件,即模擬兩個手指同時點下;中間是一系列的ACTION_MOVE事件,即兩個手指同時在螢幕上直線滑動;結束是由一個ACTION_POINTER_UP事件和一個ACTION_UP事件組成的,即兩個手指同時放開。

4、軌跡事件

軌跡事件是由一個或多個隨機的移動組成的,有時會伴隨著點選。很早之前的Android手機帶有軌跡球,這個事件就是模擬的軌跡球的操作。現在的手機幾乎都沒有軌跡球,但軌跡球事件中包含曲線滑動操作,如果被測程式需要曲線滑動時可以選用此引數。可通過--pct-trackball引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到:

該事件是由一系列的Trackball(ACTION_MOVE)事件組成的,觀察手機上的操作,即為一系列的曲線滑動操作。

5、螢幕旋轉事件

螢幕旋轉事件是一個隱藏事件,在Android官方文件中並沒有記錄這個事件。它其實是模擬的Android手機的橫屏和豎屏切換。可通過--pct-rotation引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 該事件由一個rotation事件組成,其中degree表示的是旋轉方向,順時針旋轉,0表示旋轉90度的方向,1表示旋轉180度的方向,2表示旋轉270度的方向,3表示旋轉360度的方向。在執行過程中,可以看到手機螢幕在橫豎屏之間不斷地切換。

6、基本導航事件

基本導航事件是指點選方向輸入裝置的上、下、左、右按鍵的操作,現在手機上很少有上、下、左、右按鍵,這種事件一般用得比較少。可通過--pct-nav引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到:

該事件是由一個Key(ACTION_DOWN)和一個Key(ACTION_UP)組成的,點選的就是上、下、左、右四個方向按鍵。

7、主要導航事件

主要導航事件是指點選“主要導航”按鍵的操作,這些按鍵通常會導致UI介面中的動作,如鍵盤的中間鍵、回退按鍵、選單按鍵。可通過--pct-majornav引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 該事件是由一個Key(ACTION_DOWN)和一個Key(ACTION_UP)組成的,點選的按鍵就是中間鍵和選單鍵。

8、系統按鍵事件

系統按鍵事件是指點選系統保留使用的按鍵的操作,如點選Home鍵、返回鍵、音量調節鍵等。可通過--pct-syskeys引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 該事件是由一個Key(ACTION_DOWN)和一個Key(ACTION_UP)組成的,點選的就是上面說到的幾個系統按鍵。

9、啟動Activity事件

啟動Activity事件是指在手機上啟動一個Activity的操作。在隨機的時間間隔中,Monkey將執行一個startActivity()方法,作為最大限度上覆蓋被測包中全部Activity的一種方法。可通過--pct-appswitch引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 該事件是由一個Switch操作組成的,從手機上看,上面的操作實際是打開了com.android.settings這個應用的一個com.android.settings.Settings的Activity介面。

10、鍵盤事件

鍵盤事件主要是一些與鍵盤相關的操作。比如點選輸入框、鍵盤彈起、點選輸入框以外區域、鍵盤收回等。可通過--pct-flip引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 如日誌所示,這裡主要是鍵盤的開啟和關閉操作。

11、其他型別事件

其他型別事件包括了除前面提到的10種事件外其他所有的事件,如按鍵、其他不常用的裝置上的按鈕等。可通過--pct-anyevent引數來配置其事件百分比。從Monkey執行該事件對外輸出的日誌可以看到: [程式碼] 該事件是由一個Key(ACTION_DOWN)和一個Key(ACTION_UP)組成的,點選的按鍵就是其他的一些系統按鍵,如字母按鍵、數字按鍵等。因為現在手機很少帶字母按鍵或數字按鍵,所以這個事件一般使用得比較少。

12、小結

好了,Monkey事件暫且到這裡,下一篇計劃介紹分享Monkey引數!!!

您的肯定就是我進步的動力。如果你感覺還不錯,就請鼓勵一下吧!記得點波 推薦 哦!!!

個人公眾號

微信群

相關推薦

Appium+python自動化- 失散多年弟弟還是妹妹- Monkey猴子引數

 簡介   前邊幾篇介紹了Monkey以及Monkey的事件,今天就給小夥伴們介紹和分享一下Monkey的引數。   首先我們看一下這幅圖來大致瞭解一下: 1、Monkey 命令 基本引數介紹 -p <允許的包名列表>    &nbs

Appium+python自動化- 失散多年弟弟還是妹妹- Monkey猴子日誌

簡介    日誌是非常重要的,用於記錄系統、軟體操作事件的記錄檔案或檔案集合,可分為事件日誌和訊息日誌。具有處理歷史資料、診斷問題的追蹤以及理解系統、軟體的活動等重要作用,在開發或者測試軟系統過程中出現了問題,我們首先想到的就是她——logging。她可不像泰戈爾說的:&l

Appium+python自動化- 難道失散多年弟弟還是妹妹???- Monkey事件

操作事件簡介   Monkey所執行的隨機事件流中包含11大事件,分別是觸控事件、手勢事件、二指縮放事件、軌跡事件、螢幕旋轉事件、基本導航事件、主要導航事件、系統按鍵事件、啟動Activity事件、鍵盤事件、其他型別事件。Monkey通過這11大事件來模擬使用者的常規操作,對手機App進行穩定性測試。下面讓

Appium+python自動化 - Appium自動化測試框架綜合實踐 - 框架簡介-助衝擊高薪,迎娶白富美

簡介 好久沒有更新部落格了,博友們是不是有點等不及了。不好意思啊,中秋節過後太忙了,這篇是好不容易抽點零碎時間寫的。從這一篇開始小夥伴或者童鞋們,就跟隨巨集哥的腳步,一步步的從無到有,從0到1的搭建一個完整的python+appium自動化測試框架。 框架背景 前面我們已經學習了Appium各種元素定位

Appium+python自動化- 元素定位祕籍助打通任督二脈 - 上卷

簡介   你有道靈光從天靈蓋噴出來你知道嗎,年紀輕輕就有一身橫練的筋骨,簡直百年一見的練武奇才啊,如果有一天讓你打通任督二脈,那還不飛龍上天啊。正所謂我不入地獄誰入地獄,警惡懲奸維護世界和平這個任務就交個你了,好嗎。這本如來神掌祕籍是無價之寶,我看與你有緣,收你十塊錢傳授給你吧。想必這段經典臺詞給為都可以的

Appium+python自動化- 元素定位祕籍助打通任督二脈 - 下卷

簡介   巨集哥看你骨骼驚奇,印堂發亮,必是練武之奇才! 按照上一篇的節目預告,這一篇還是繼續由巨集哥給小夥伴們分享元素定位,是不是按照上一篇的祕籍修煉,是不是感覺到頭頂蓋好像被掀開,內氣從頭上冒出去,頓時覺得整個身體都融化了,而且身輕如燕啊!而且控制不住手,想要動手操作一番呢?那還在等什麼呢,和

Appium+python自動化- Android 這些基礎知識,知多少???

簡介   前邊具體操作和實戰已經講解和分享了很多了,但是一些android的一些基礎知識,你又知道多少了,你都掌握了嗎?這篇就由巨集哥給小夥伴們既是一個分享,又是對前邊的一次總結。為什麼要對這些做一個簡單的分享了,因為在現實具體工作中經常會遇到這樣的問題,這裡還是通過一個小故事來說明一下。  

Appium+python自動化- 難道失散多年弟弟還是妹妹???

簡介   今天由巨集哥給小夥伴們來介紹猴哥的混血弟弟=Monkey。Monkey 是Android SDK提供的一個命令列工具, 可以簡單,方便地執行在任何版本的Android模擬器和實體裝置上。 Monkey會發送偽隨機的使用者事件流,適合對app做壓力測試。 中文名:猴子 英文名:Monk

Appium+python自動化- 讓猴子按指令大鬧手機,讓我們都成為耍高手

簡介    一年一度的暑假如期而至,每年必不可少的,便是《西遊記》這部經典電視連續劇的播出,作為一名90後,對於這部經典劇的情誼,就是觀看已成為一種習慣。依然深刻的記得,小時候媽媽為了催促我睡覺,而關掉我的《西遊記》,那種哀求不成繼而絕望的感覺,至今記憶猶新。長大後只要得空在家,哪怕手裡做著其他的事

Appium+python自動化- 滑呀滑,滑到奈何橋喝碗孟婆湯 - 高階滑動

簡介     奈何橋上嘆奈何,三生石前憾三生,彼岸花下非彼岸,奈何三生彼岸人。   相傳過了鬼門關便上一條路叫黃泉路,路上盛開著只見花,不見葉的彼岸花。花葉生生兩不見,相念相惜永相失,路盡頭有一條河叫忘川河,河上有一座橋叫奈何橋。走過奈何橋有一個土臺叫望鄉臺。望鄉臺邊有個亭子叫孟婆亭,有個叫孟婆的女人守候

Appium+python自動化- 元芳,怎麼看? - 日誌收集-logging

簡介 生活中的日誌是記錄你生活的點點滴滴,讓它把你內心的世界表露出來,更好的詮釋自己的內心世界,而電腦裡的日誌是有價值的資訊寶庫。 日誌檔案是專門用於記錄系統操作事件的記錄檔案或檔案集合,作業系統有作業系統日誌檔案,資料庫系統有資料庫系統日誌檔案,等等。 系統日誌檔案是包含關於系統訊息的檔案,包括核心、

Appium+python自動化- 初識琵琶女Appium千呼萬喚始出來,猶抱琵琶半遮面- 下

​簡介   通過上一篇巨集哥給各位小夥伴們的引薦,大家移動對這位美女有了深刻的認識,而且她那高超的技藝和婀娜的身姿久久地浮現在你的腦海裡,是不是這樣呢???不要害羞直接告訴巨集哥:是,就對了。巨集哥要的就是這個效果。達到這個效果,就說明你學的差不多了,可以出師了。今天繼續由巨集哥給你引薦這位琵琶美女。 說

Appium+python自動化- Android UIAutomator終極定位凶器(七)

簡介       乍眼一看,小夥伴們覺得這部分其實在異性兄弟那裡就做過介紹和分享了,其實不然,上次介紹和分享的大哥是uiautomatorviewer,是一款定位工具。今天介紹的是一個java庫,提供執行自動化測試的各種API。   Android團隊在4.1版本(API

Appium+python自動化- ADB命令,知否知否,應是必知必會

簡介   Android 除錯橋(adb)是多種用途的工具,該工具可以幫助你你管理裝置或模擬器 的狀態。   adb ( Android Debug Bridge)是一個通用命令列工具,其允許您與模擬器例項或連線的 Android 裝置進行通訊。它可為各種裝置操作提供便利,如安裝和除錯應用。

Appium+python自動化- 三個臭皮匠頂個諸葛亮-控制元件座標獲取

簡介   有些小夥伴或者是童鞋可能會好奇會問上一篇中的那個monkey腳本里的座標點是如何獲取的,不是自己隨便蒙的猜的,或者是自己用目光或者是尺子量出來的吧,答案當然是:NO。獲取控制元件座標點的方式這裡巨集哥給小夥伴們分享和講解三種方法(也就是三個臭皮匠),巨集哥個人喜歡第二種,也推薦小夥伴們和童鞋們使用

Appium+python自動化- 白素貞千年等一回許仙 - 元素等待

簡介     許仙小時候最喜歡吃又甜又軟的湯圓了,一次一顆湯圓落入西湖,被一條小白蛇銜走了。十幾年後,一位身著白衣、有青衣丫鬟相伴的美麗女子與許仙相識了,她叫白娘子。白娘子聰明又善良,兩個人很快走到了一起。靠著自己的力量,他們過上了幸福的生活。一天,僧人法海找到許仙,警告說白娘子是一條修行千年的蛇精,許仙不

Appium+python自動化- 那些讓人抓耳撓腮、揪頭髮和掉頭髮的事 - 獲取控制元件ID

簡介   在前邊的第二十二篇文章裡,已經分享了通過獲取控制元件的座標點來獲取點選事件的所需要的點選位置,那麼還有沒有其他方法來獲取控制元件點選事件所需要的點選位置呢?答案是:Yes!因為在不同的大小螢幕的手機上獲取控制元件的座標點,不是一樣的,而是有變化的,因此在不同的手機機型上,我們可能都需要重新獲取座

Appium+python自動化- 模擬手指在手機上多線多點作戰 - 多點觸控

簡介 在網頁中我們經常使用縮放操作來便利的檢視具體的資訊,在appium中使用MultiAction多點觸控的類來實現。MultiAction是多點觸控的類,可以模擬使用者多點操作。主要包含載入add()和執行perform()兩個方法. 問題思考 在使用地圖App中,我們經常需要對介面進行縮放操作來更

Appium+python自動化- 實現程式碼與資料分離 - 資料配置-yaml

簡介 本篇文章主要介紹了python中yaml配置檔案模組的使用讓其完成資料和程式碼的分離,巨集哥覺得挺不錯的,於是就義無反顧地分享給大家,也給大家做個參考。一起跟隨巨集哥過來看看吧。 思考問題 前面我們配置Capability時,各個引數都是在程式碼裡面寫死的,比如:desired_caps['pla

Appium+python自動化- 程式碼寫死一時爽,框架重構火葬場 - PageObject+unittest

簡介 江湖有言:”程式碼寫死一時爽,框架重構火葬場“,更有人戲言:”程式碼動態一時爽,一直動態一直爽