移動測試完整教程(附程式碼資料)主要內容講述:移動端測試課程介紹,移動端測試知識概覽,移動端測試環境搭建,ADB常用命令學習主要內容,學習目標,學習目標,1. window安裝andorid模擬器,學習目標。主流移動端自動化測試工具,Appium環境搭建,appium入門案例,App基礎操作API,手機控制元件檢視工具uiautomatorviewer,元素定位api學習目標,學習目標,學習目標,1. Appium 背景介紹,2. appium安裝的2種方式,3. Appium-python庫安裝,學習目標,1.開啟PyCharm 建立一個新專案,2.在hello.py檔案中輸入如下程式碼,3. 啟動Appium和 Android模擬器,4. 執行hello.py觀看模擬器的設定應用是否被開啟,學習目標,學習目標,學習目標,1.app元素定位操作API,2. 定位一組元素,3.顯示等待。app元素資訊操作,元素事件操作,模擬手勢操作學習目標,學習目標,學習目標,學習目標,手機操作api,學習目標。setup和teardown函式,常用外掛學習目標,1、Pytest安裝和介紹,2、pytest第一個例子,3、執行方式,學習目標,1. pytest配置檔案,學習目標。pytest提高--fixture,Pytest 提高2,PO模式簡介,前提準備,按照業務邏輯抽取程式碼學習目標,學習目標,學習目標,學習目標,學習目標,學習目標。抽取find_element,抽取基本的操作,Yaml介紹,python解析yaml檔案學習目標,總結,學習目標,學習目標,學習目標。yaml資料驅動案例,Allure,pytest中使用allure,Jenkins安裝於配置學習目標,學習目標,學習目標,學習目標,學習目標,學習目標。Jenkins持續集配置學習目標,學習目標。
全套筆記資料程式碼移步: 前往gitee倉庫檢視
感興趣的小夥伴可以自取哦,歡迎大家點贊轉發~
移動端測試課程介紹
學習主要內容
1 | 移動測試分類及android環境搭建 |
---|---|
2 | adb常用命令 |
3 | appium環境搭建及使用 |
4 | pytest框架學習 |
5 | PO模式 |
6 | 資料驅動 |
7 | Allure報告 |
8 | Jenkins持續整合 |
[1. Appium中文開發手冊](
[2. Appium 官方文件](
[3. pytest官網](
[4. Jenkins中文使用者手冊](
[5. Json官方文件](
學習目標
- 掌握移動端安卓模擬器的安裝
- 掌握常見的adb指令
- 瞭解主流的移動端自動化測試工具
- 掌握appium環境搭建
- 瞭解appium入門案例
移動端測試知識概覽
學習目標
- 瞭解移動端測試分類
1. 什麼事移動端測試
移動端測試是指對移動應用進行的測試, 即實體的特性滿足需求的程度
2. 移動端測試分類
2.1 app功能測試
- 業務邏輯正確性測試
1. 檢視是否符合業務需求文件
2. 是否滿足隱性需求
- 相容性測試
1. 系統版本是否相容:
安卓
原生系統上下版本間是否相容,例如安卓10.0的是否相容9.0
二次開發的系統, 比如小米的MIUI系統間的相容、華為的EMUI上下版本間相容性是否良好
ios 版本間的相容是否良好
2. 解析度是否相容
3. 網路情況
弱網測試、WIFI限速、更改網路app模式
- 異常測試
1.熱啟動應用
[1]app至於後臺時是A頁面,切換到前臺,還是A頁面,還是初始化頁面
[2]app長時間置於後臺,切換到前臺,還是A頁面,還是初始化頁面,崩潰/閃退
2.網路切換和中斷恢復
[1]4g-2g wifi-4g,保證app可用,業務正常
[2]wif-斷網-wifi
斷點續傳 下載應用5M 下載了3M斷網,再次聯網,繼續當前位置下載
3.電話和資訊中斷恢復
[1]電話:看影片,打電話30分鐘,切換為繼續檢視位置
[2]簡訊:玩遊戲
4.升級安裝解除安裝測試
[1]升級測試
臨近版本升級 1.0--->1.1--->1.2
跨版本升級 1.0---->2.0
[2]安裝測試
首次安裝
覆蓋安裝
高版本--->低版本 成功
低版本--->高版本 不允許
解除安裝後安裝
[3]解除安裝測試
首次解除安裝
解除安裝--->安裝--->解除安裝
5.健壯性測試
手機資源消耗
流量消耗
崩潰恢復等測試
2.2 app自動化測試
透過場景和資料的預設,把以人為驅動的測試行為轉化為機器執行的一種過程.
⚠ 注意: 並不是所有功能都能進行自動化.
2.3 app安全測試
透過安全測試技術,保證app儘可能的不存在安全漏洞.
- [移動測試的分類](
移動端測試環境搭建
移動端自動化測試的基礎環境配置
-
- 安裝Java環境
Android應用為例講解,需要安裝java環境
-
- SDK環境
Android依賴SDK的環境
-
- 模擬器環境
考慮大家連線真機不方便,所以採用模擬器替代
1. Wind 安裝java環境
安裝步驟:
1.1 安裝jdk1.8
執行jdk-8u151-windows-x64.exe⽂件,預設安裝即可
(例如我的安裝⽬錄:C:\Program Files\Java\jdk1.8.0)
1.2 配置java環境變數(windows為例)
1.進入我的電腦-->屬性-->高階系統設定--->環境變數
2.在系統變數下點選新建 -> 變數名: JAVA_HOME -> 變數值: C:\Program Files\Java\jdk1.8.0
1.3 驗證環境變數
1.開啟dos 快捷鍵win+r
2.輸入java -version
出現下圖,說明安裝成功
2. Mac 安裝java環境
將下載的osx版的java環境預設進行安裝,然後進行一下配置:
1.進入命令列, vim ~/.bash_profile
2.# set jdk1.8
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
export PATH
啟動終端,輸入java -version檢視是否正常啟動
1. Window 安裝sdk(Androi需要的環境)
安裝步驟:
1.1 解壓Android sdk 資料夾
注意:路徑中不要有中文, 確保資料夾下有一下兩個檔案
如下圖:
1.2 配置到系統環境變數下.
SDK環境變數配置(Windowns7為例)
1.進入我的電腦 -> 屬性 -> 高階系統設定 -> 環境變數
2.在系統變數下點選新建 -> 變數名: ANDROID_HOME -> 變數值: D:\android-sdk -> 點選確定按鈕
3.在系統變數下找到系統的path變數,最後新增:;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;(最前面是一個分號,如果path變數最後已有分號,可不用新增) -> 點選確定按鈕
1.3 驗證環境變數是否配置成功
- 在dos中輸入adb指令,如下圖配置成功
- 在dos中輸入android指令 出現Android sdk manager對話方塊
注意:**
假如sdk中已經有build-tools和platform-tools資料夾,就不需要再進行下載安裝了
2. Mac 安裝android sdk
- 把下載的android sdk macosx版本的解壓到指定目錄(我的解壓到//Library/Java/)
注意:
假如sdk沒有build-tools和platform-tools資料夾,要把提供的資料夾移動到此處, 後面只需要配置環境變數即可,不需要下載了
- 把sdk配置到系統環境變數
1.進入命令列, vim ~/.bash_profile
2.# set android
ANDROID_HOME=電腦存放的路徑/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export ANDROID_HOME
export PATH
- 驗證是否成功
驗證adb命令: 在終端輸入adb,出現adb版本資訊說明成功
驗證android是否配置成功: 在終端輸入android, 出現此圖片說明成功
3、選擇不同版本的的Android系統進行下載
注意:
由於安卓映象在國外,最好更換國內的映象
步驟
- 在彈出的android sdk manager頁面,點選tools, 下啦框點選options
- 在彈出的對話方塊輸入國內驚現的地址和埠號.
映象地址列表(也可以網上查詢最新的):
中國科學院開源協會映象站地址:
IPV4/IPV6: mirrors.opencas.cn 埠:80
IPV4/IPV6: mirrors.opencas.org 埠:80
IPV4/IPV6: mirrors.opencas.ac.cn 埠:80
上海GDG映象伺服器地址:
sdk.gdgshanghai.com 埠:8000
北京化工大學映象伺服器地址:
IPv4: ubuntu.buct.edu.cn/ 埠:80
IPv4: ubuntu.buct.cn/ 埠:80
IPv6: ubuntu.buct6.edu.cn/ 埠:80
大連東軟資訊學院映象伺服器地址:
mirrors.neusoft.edu.cn 埠:80
1. window安裝andorid模擬器
1. 模擬器Genymotion安裝
1.執行genymotion-2.11.0-vbox.exe(是一個集合程式,包含genymotion和virtualbox) -> 不需要更改配置,直接下一步預設安裝
2.安裝完genymotion繼續等待,會提示安裝virtualbox,繼續安裝,期間會提示安裝oracle外掛,全部允許安裝
3.安裝完成後會在桌面展示genymotion和virtualbox兩個圖示
注意:
安裝其他的模擬器也可以 ,安裝成功就可以.(比如MuMu 逍遙 夜神 雷電)
2. Mac 下安裝模擬器
mac下安裝要裝兩個dmg檔案: genymotion-2.12.1.dmg和VirtualBox-5.2.26-128414-OSX.dmg
1.安裝genymotion-2.12.1.dmg-》不用更改配置,預設安裝就行
2.安裝VirtualBox-5.2.26-128414-OSX.dmg -》 不用更改配置直接安裝就行
3.安裝後也會看到上面三個應用
3.虛擬機器映象匯入
1.開啟virtualbox
2.進入virtualbox -> 管理 -> 匯入虛擬電腦
3.點選檔案選擇(Samsung Galaxy S6 - 5.1.0 - API 22 - 1440x2560.ova) -> 點選下一步
4.勾選 重新初始化所有網路卡的MAC地址
5.點選匯入按鈕 -> 等待倒入完成
6.virtualbox列表會展示如下圖圈出的選項
4. 啟動模擬器
在genymotion主介面點機start按鈕.啟動成功就會顯示下圖
5. 安裝應用apk
安卓模擬器啟動起來後,我們就可以安裝要進行測試的應用了.安裝成功後,我們的環境搭建就全部結束.
安裝方法:
- adb命令列(後面講解)
- 直接拖拽要安裝的apk到模擬器上,自動安裝
注意事項
1. 安裝ARM外掛
安裝某些應用apk時由於apk功能比較豐富,但是模擬器自帶的不支援這些功能,所以要安裝arm外掛,來滿足apk的使用.
(1)、拖動ARM_Translation_Lollipop_20160402.zip到已啟動的android虛擬機器上
需要下載對應版本的外掛、我們使用的是adnroid5.1 所以使用的是這個
(2)點選提示的ok按鈕
(3)、再次點選提示的ok按鈕,重啟模擬器既可以安裝apk檔案
2. 使用其他版本的模擬器的步驟
(1)、需要到genymotion官網上註冊一個賬號
(2)、進入genymotion介面,點選add按鈕、會彈出登入對話方塊、輸入註冊的賬號
(3)、登入成功後可以選擇對應不同的android版本、手機型號進行安裝
ADB常用命令
學習目標
- 掌握常用的ADB命令
1. ADB命令簡介
ADB全名Andorid Debug Bridge。 是一個Debug工具。為何稱之為Bridge呢?
因為adb是一個標準的C/S結構的工具, 是要連線開發電腦和除錯手機的
包含如下幾個部分:
1.Client端,執行在開發機器中,即你的開發PC機。用來傳送adb命令。
2.Daemon守護程序, 執行在除錯裝置中, 即的除錯手機或模擬器。
3.Server端, 作為一個後臺程序執行在開發機器中, 即你的開發PC機. 用來管理PC中的Client端和手機的Daemon之間的通訊。
2. 常用命令
- adb 幫助
adb --help
- 啟動adb 服務
adb start-server
- 關閉adb 服務
adb kill-server
- 獲取裝置號
adb devices
- 獲取系統版本
adb shell getprop ro.build.version.release
- 傳送檔案到手機
adb push 電腦端⽂件路徑/需要傳送的檔案,手機端儲存的路徑
adb push C:\Users\win\Desktop\xx.png /sdcard
- 從手機拉取檔案
adb pull 手機端的路徑/拉取檔名 電腦端儲存檔案路徑
adb pull /sdcard/xx.png C:\Users\win\Desktop
- 檢視手機執行日誌
adb logcat
- 進入到手機終端
adb shell
- 獲取app啟動包名和啟動名(⚠手機需要先開啟對應app)
1.Mac/Linux: 'adb shell dumpsys window windows | grep mFocusedApp’
2.在 Windows 終端運⾏ 'adb shell dumpsys window windows | findstr mFocusedApp’
- 安裝app到手機
adb install 路徑/xxx.apk
- 解除安裝手機app
adb uninstall app
- 獲取app啟動時間
adb shell am start -W 包名/.啟動名