自動化測試
自動化測試大家都有所了解,近十年來,自動化測試這項技能也一直是軟體測試從業者想要掌握的一項技能,根據有關調研顯示,希望掌握自動化測試技能的人十年來都約占七成
本文會帶來自動化測試中的移動端(Android)自動化測試的內容和對其測試框架進行簡單的概述,希望可以讓大家對Android自動化測試有個大致的理解,然後以Appium為例,介紹其環境搭建和基本使用。
Android自動化測試
Android自動化測試簡述
自動化測試內容
Android可以通過自動化框架或雲測試平台進行自動化測試,測試內容包括以下幾個方面
- 兼容性測試:安裝、啟動、卸載
- 功能測試:手勢操作、功能驗證
- 穩定性測試:app 是否容易出現閃退等現象
- 場景測試:模擬真實網絡場景,2G、3G、4G、wifi 網絡的切換
自動化測試框架
- Espresso Espresso 是 Google 針對 Android 平台開源的一款 Android 自動化測試框架,主要是用於 Android App UI 自動化測試,採用Java編寫測試代碼,有Glide和Android Studio支持,測試跑起來相當的快
- UI Automator 也是 Google 官方出的一種簡單的UI自動化測試工具,可跨APP測試,必須要Android4.0以上才能使用,如果在定位時想要使用使用資源id來定位控制項的話,則必須在API18以上 uiautomatorviewer是android SDK自帶的工具。通過截屏並分析XML布局文件的方式,為用戶提供控制項信息查看服務。該工具位於SDK目錄下的tools\bin子目錄下
- Appium Appium 是一個開源的、跨平台的測試框架,可以用來測試 Native App、混合應用、移動 Web 應用(H5 應用)等
Appium: 是 Appium 體系的核心,因為它本身也是一個 web 接口服務,所以也會被成為 appium server,對外默認開啟包括 4723 等多個埠。
Appium-Desktop:是為了讓 Appium 能夠更好用,讓小白入門更容易,讓調試和介面分析更方便,官方開發了 GUI 的工具 Appium-desktop。
Appium Client: Appium 只是一個 Web 接口,他接受 HTTP 請求,所以各個語言都可以自己封裝發送請求,於是就有 appium 下的各個子項目
在以上三個框架中,當屬Appium為最為常見,特別在近些年,Appium的市場占比從25%到19年的42%,在不出現大的技術性突破下,Appium將來會有更大的市場占比,學會Appium這項工具,會變得更加迫切
接下來將教大家如何安裝和使用Appium這款工具
Appium的安裝和使用
Apppium安裝和配置(Mac 版)
基礎環境搭建
1 安裝java環境,git,ruby,brew, Android SDK環境
// 檢查是否安裝上述環境
java -version
git --version
ruby -v
brew -v
adb
2 配置相關環境變量
安裝Appium和相關包(Java版)
2 java-client和selenium包下載 選擇對應的Java Client,並在其詳情頁下方的Compile Dependencies,將依賴的selenium包也下載下來。在編寫java自動化測試腳本時,按需下載Compile Dependencies中的包,如commons-lang3。
Apppium基本使用
adb 命令
- 採用tcpip連接手機(需要電腦和手機在同一個區域網下)
// 先usb連接手機,設置手機tcp連接埠為5555
adb tcpip 5555
// 斷開usb,採用tcpip連接手機
adb connect 10.33.70.165:5555
// 斷開tcpip連接
adb disconnect 10.33.70.165:5555
- 獲取App信息
// 獲取當前介面元素
adb shell dumpsys activity top
// 獲取App入口
adb shell dumpsys activity activities
// 啟動app
adb shell am start -W -n com.xueqiu.android/.view.WelcomeActivityAlias -S
// 獲取當前介面元素 adb shell dumpsys activity top
- 操作手機(輸入,按鍵,點擊,滑動)
adb shell text/keyevent/tapswipe/press/roll
結語
以上內容就是本篇的全部內容以上內容希望對你有幫助,有被幫助到的朋友歡迎點讚,評論。
如果對軟體測試、接口測試、自動化測試、面試經驗交流。感興趣可以關注我,我們會有同行一起技術交流哦。