(適用於.NET/.NET Core/.NET Framework)【目錄】0.前言1.第一個AOP程式2.Aspect橫切麵編程3.一個橫切麵程式攔截多個主程式4.多個橫切麵程式攔截一個主程式5.優勢總結6.展望 0.前言AOP(Aspect Oriented Programming)是“面向橫切 ...
移動測試完整教程(附代碼資料)主要內容講述:移動端測試課程介紹,移動端測試知識概覽,移動端測試環境搭建,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 包名/.啟動名