Android自動測試之Monkey工具
阿新 • • 發佈:2019-02-13
其實我原本還是打算先把monkey的運用或者引數等等都寫的詳細點的。但是我個人覺得測試員還是要養成自己去看SDK doc的習慣。所以我決定還是不寫。更何況這類文章google ,百度一大把。沒有意義。 ok,我還是先來簡單介紹一下monkey這樣一個工具是什麼用途。其是一種android壓力測試,模擬使用者在切換應用的同時進行點選的一種操作。 目前從我的經驗看下來,基本上大多數monkey出來的error都是null point,也就是空指標的錯誤。對於monkey來講,沒有一個所謂真正100%的repro的技術。只能通過多次的同樣的seed值進行bug的修復確認。 既然是初步探索,monkey原本是有一個monkey.jar檔案。存放在android系統的/system/framework/下面,只不過我們使用adb monkey命令的時候系統呼叫了一樣一個封裝好的程式。當然提到使用,必定要知道其是怎麼生成的。其實很簡單,在android原始碼目錄下,linux下面cmd直接make monkey,即會在/out/.../framework(好像)我忘記了,這裡會出現一個monkey.jar檔案。然後只要push到android手機的system/framework/目錄下面即可呼叫。 那麼接下來我們步入正題,我所做的初步探索,即讓monkey的隨機點選變得能夠case化的點選。其實還是很簡單的。。=。= 我們開啟android原始碼裡面的monkey資料夾,有十個java檔案。其中在MonkeySourceRandom.java檔案中我們能夠找到monkey各個引數呼叫的函式。比如--motion 或者--trackball等等。然後我們只要將下圖的motion函式中的隨機code直接改成 MonkeyMotionEvent e = new MonkeyMotionEvent(MonkeyEvent.EVENT_TYPE_POINTER, downAt, MotionEvent.ACTION_DOWN, 100, 100, 0);即可