APP自動化測試過程概述

千鋒教育qyf發表於2021-05-31

  對於Android App的自動化測試框架的使用,其實在很多書上面都會有說明,我們可以先來看一個常用的自動化測試例項,先不說框架,主要是測試使用者操作的模擬、執行結果的判斷,以便獲得對測試自動化的理解與認識。

  案例需求如下:比如說微信開啟手機儲存卡的檔案,透過自動化測試獲取其開啟某一檔案的響應時間,這裡首先需要做細分,把需求拆分為幾個關鍵點,即進入瀏覽器、檔案開啟操作、獲取手機螢幕、截圖分析、結果統計輸出。自動化測試就是實現機器完成這些關鍵點的一系列操作,並且在指令碼的實際執行中新增需要的業務邏輯判斷,實現測試自動化。根據指令碼的具體實現,整理出開啟檔案測試流程圖:

01

  自動化測試框架,是在實際專案中總結出來的且基本能執行的通用基礎框架原型,它包括三個核心部分:一是如何獲取座標/控制元件並操作控制元件模擬使用者端事件,二是指令碼中的結果如何判斷,三是測試結果報告的輸出與展示。

  自動化測試的首要條件是能夠操作控制元件,最好像開發一樣操作控制元件,實現的方式有多種,一種最常見的指令碼錄製方法,其主要思想是記錄控制元件的座標位置和發生的事件,透過回放指令碼完成測試事件流,像MonkeyRunner框架就提供比較方便的錄製回放功能;另一種方法就是透過工具(比如:原始碼、UIAutomatorviewer等)獲得測試介面的控制元件佈局,找到目標空間的ID、名字、描述或者位置資訊。測試框架可以透過這些資訊得到控制元件物件,並對控制元件物件執行一系列事件操作像Robotium、UIAutomater等,這個階段理解為測試的動作執行。

  對於有跨應用App的控制元件操作會受到Android程式安全限制,這對於跨應用的操作是一個難點,在測試一款App應用時,它的某個功能會調起系統攝像頭進行影片等,那這個功能就會涉及跨應用了。像Robotium就無法呼叫系統的一些INPUT事件完成跨應用的控制元件操作(其實Robotium從Android 4.3之後開始支援UIAutomation框,理應可以支援跨應用的),基於Robotium框架的測試指令碼跟被測物件需在同一個App或者可以相互訪問,一般要求重新簽名打包。所以在選定框架時就需要考慮相關的許可權問題,當前可以直接支援跨應用的框架有MonkeyRunner、UIAutomater等。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996644/viewspace-2774718/,如需轉載,請註明出處,否則將追究法律責任。

相關文章