成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

手把手帶你,用Python寫一個Monkey自動化測試腳本?。?!

開發 開發工具 后端 自動化
Monkey 命令其實就是在命令行中執行的命令,所以腳本語言基本上都可以完成這個任務,這里選擇主流的 Python 來完成。

一、為什么需要一個測試腳本?

之前講解了 Android Monkey 命令的使用方式,今天趁著還熱乎就手把手用 Monkey 寫一個壓力測試的腳本。還不了解什么是 Monkey 的,可以看看之前的文章,《關于 Monkey ,你所需要知道的,都在這里!??!》。

Monkey說到底其實就是一段命令,只能在有限的范圍內做一些隨機事件的壓力測試。可以很明顯看到它的一些缺點:

  1. 前期準備工作太多,需要把設備準備好、安裝好待測Apk。
  2. 無法做到無干預的循環。類似沒人看著去測試一夜的情況。
  3. 對一些在測試情況下,各項狀態的監控并不好。

那么,這些問題,其實都可以使用一個腳本來解決問題。

Monkey 命令其實就是在命令行中執行的命令,所以腳本語言基本上都可以完成這個任務,這里選擇主流的 Python 來完成。

二、如何設計壓測腳本

既然是一個完整的腳本,那么當然需要滿足一些最基本的需求。

包括:

  1. 可以自動安裝待測試 apk。
  2. 可以循環執行腳本,并且每次都退出 App 重新執行。
  3. 在執行完成之后,可以輸出測試報告。
  4. 變動的參數,可以讓測試人員自行配置。

一個簡單的測試腳本,包括這些基本上就足夠了。

三、動手寫腳本

編寫完成之后,Python 的項目結構大概是這樣子的。

項目的結構大概如下:

  • apk 目錄:用于存放待測試的 Apk。
  • bugreport_out 目錄:用于存放測試完成輸出的報告。
  • .config:壓力測試的配置信息文件。
  • chkbugreport.jar:輸出測試報告的工具。
  • runmonkey.py:真正需要執行的 Python 腳本。
  • start.bat:為測試準備一個點擊就可以執行的 bat 腳本。

了解了項目的結構之后,就可以開始編寫 Python 腳本了。

1、編寫配置文件和讀取配置文件

首先看看 .config 配置文件。

在配置文件里,主要配置待測試的設備 ID、循環執行次數,和每次循環的時候點擊的次數。

這樣設計,基本上可以通過 execcount 和 monkeyclickcount 兩個參數,配置所需要執行多久的一個壓測方案。

接下來就需要一個方法去讀配置文件。

2、安裝待測試apk

一般測試都是會測試同一個apk產品,所以這里寫死apk的文件名。直接通過os.popen()這個 Python 的方法執行 adb 腳本。

3、殺掉待測app

為了讓每次循環都是新的一個測試任務,保持測試環境的趕緊,需要一個方法在每次循環之前,殺掉之前正在運行的待測 App。

4、生成測試報告

生成測試報告主要依賴 chkbugreport.jar 這個工具,它會根據 bugreport 獲得的文件內容,生成測試報告。

bugrepor t的用法:

  1. adb shell bugreport > .\bugreport.txt 

而 chkbugreport.jar 是一個 java 編寫的工具,直接通過java -jar 執行即可

完整的代碼如下:

5、開始執行Monkey腳本

做完準備工作,就需要一個方法來執行我們配置好的 Monkey 腳本。

各項參數的配置,不明白的看看昨天的文章吧。

6、開始調用準備好的方法

準備工作已經完成,接下來將這些準備好的方法,組合起來,用一個 for 循環完成腳本的執行。

四、為測試人員準備一個bat

做完這些,基本上就算是把主要功能完成了。執行下面的命令,就可以跑起來了。

  1. python runmonkey.py 

但是終歸這個腳本是要給測試用的,***還是提供一個點擊可用的bat腳本。

新建一個 start.bat 文件,把上面的命令保存進去就行。

下面看看執行起來的樣子。

這里配置了循環三次,所以最終從 Log 中可以看到,確實執行三次之后,生成測試報告,并且退出測試。

五、生成的測試報告

chkbugreport.jar 可以通過生成的 bugreport 的內容,生成我們需要的測試報告。

從上面的截圖可以看到,其實它會是一個網頁,輸出的內容非常的齊全。

六、多說兩句

其實這個 Monkey 的壓力測試腳本,已經滿足測試的基本要求。但是實際上,生成的測試報告,不太好查看。通常封裝成成熟的產品的App,都會集成第三方Bug監控的服務,例如:Bugly、友盟什么的。所以可以不依賴 bugreport 生成的測試報告,直接在打測試包的時候,生成一個測試渠道的 apk ,用它來測試,這樣在第三方服務提供的網站上,可以清晰看到測試的報告。

七、完整的Demo

完整的 Demo 請關注 承香墨影 的公眾號,回復關鍵詞:“monkey腳本”獲得。

【本文為51CTO專欄作者“張旸”的原創稿件,轉載請通過微信公眾號聯系作者獲取授權】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2022-11-07 18:36:03

組件RPC框架

2021-06-22 10:43:03

Webpack loader plugin

2023-11-28 07:36:41

Shell腳本部署

2024-02-06 10:04:49

Express框架repo

2020-05-09 09:59:52

Python數據土星

2017-09-20 12:36:50

云主機網站MySQL

2017-09-20 16:39:31

云主機網站MySQL

2022-06-28 15:29:56

Python編程語言計時器

2022-05-18 08:51:44

調用模板后端并行

2023-03-29 10:02:36

2021-04-26 09:00:41

自動化測試IDEAirtest模擬器手機

2023-01-30 09:27:57

開發自動化配置

2021-01-08 10:24:32

Python項目基礎

2021-08-31 10:02:10

KubernetesLinux集群

2022-08-04 10:39:23

Jenkins集成CD

2021-07-12 09:03:50

Python任務管理器cmd命令

2022-08-11 07:32:51

Starter自動裝配

2021-10-09 13:08:58

C++STLSet

2021-08-09 13:31:25

PythonExcel代碼

2019-08-26 09:25:23

RedisJavaLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久草久草久草 | 性一交一乱一透一a级 | 三区四区在线观看 | 91人人澡人人爽 | 欧美国产精品一区二区三区 | 亚洲精品视频网站在线观看 | 九九国产在线观看 | 成人精品久久久 | 久久精品一区二区 | 伊人热久久| 日韩欧美一级片 | 亚洲一区播放 | 久久亚洲国产精品日日av夜夜 | 波多野结衣一区二区三区在线观看 | 中文字幕一区二区三区乱码在线 | 国产成人精品一区二区三区视频 | 久久精品无码一区二区三区 | 永久免费av | 欧美一区二区在线看 | 成人啊啊啊 | 中文精品视频 | 久久精品 | 欧美日韩第一页 | 国产一区二区影院 | 欧美成人免费在线 | 亚洲综合色自拍一区 | 精品一区二区三区电影 | 国产999精品久久久久久 | 日本一区精品 | 亚洲v日韩v综合v精品v | 久久国产精品一区 | 一区二区在线 | 亚洲国产视频一区 | av免费观看在线 | 国产精品久久久久久福利一牛影视 | 欧美久久久 | 亚洲毛片一区二区 | 日韩在线视频一区二区三区 | 欧美日韩国产三级 | 日韩免费福利视频 | 99日韩 |