乾貨|手把手教你做app自動化測試
什麼是App自動化?為什麼要做App自動化?
App自動化是指給 Android或iOS上的軟體應用程式做的自動化測試。
手工測試和自動化測試的對比如下:
手工測試優勢:
不可替代、發現更多bug、包含了人的想象力與理解力。
注意,不是所有功能都需要自動化。
自動化測試優勢:
可重複、效率高,增加軟體信任度。
執行自動化測試可以讓測試同事有更多的精力來關注複雜場景,做更多更深層次的測試。
風險分析
自動化測試的主要風險分析如下:
(1)測試用例覆蓋率(覆蓋率決定測試效率,選擇合適用例,應約佔功能用例集的20%~50%)
(2)測試結果準確度(準確度決定了測試有效性,應儘可能減少誤報)。
(3)自動化程式碼維護(維護決定了成本,資料關鍵字驅動自動化框架,程式碼應儘可能最佳化和少改動)。
(4)版本開發和測試時間進度(當專案需求和功能較為穩定時,建議用自動化)。
(5)開發對控制元件元素增修改的程度(需開發人員儘可能地用name元素,並且和UI設計一致,修改變動程度不大,測試人員可根據提供的元素提前介入,開發自動化指令碼)。
App原始碼許可權控制,iOS上測試需要原始碼。實際測試只需SVN或者git下載許可權,而不需要上傳許可權。防止改動SVN或者git 上的原始碼。
技術框架
1、自動化學習過程
自動化測試環境的部署——>自動化測試指令碼開發能力——->自動化測試框架研發——->手機自動化持續整合
2、andorid 系統架構圖
3、手機自動化測試環境
安裝Appium——>安裝手機模擬器——>安裝selenium和appium的客戶端——>安裝被測試app
4、
Appium 軟體架構
5、
常用的定位技術和工具
6、自動化測試指令碼技術
7、技術框架結構圖
APP自動化測試流程
1、環境的安裝
1.1 環境的準備
jdk1。6以上
python2。7以上
android-sdk
Appium desktop 安裝
1.2 jdk 安裝
下載JDK後傻瓜式安裝,
注意:不要有中文路徑和空格
配置環境變數:
右擊“我的電腦”-->"屬性"-->"高階系統設定"-->"高階"-->"環境變數"
在系統變數裡新建“JAVA_HOME”變數,變數值為:C:\Program Files\Java\jdk1。8。0_60(根據自己的jdk的安裝路徑填寫)
在系統變數裡新建“classpath”變數,變數值為:。;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools。jar
(注意最前面有一點)
找到path變數(已存在不用新建)新增變數值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
1.3 python 安裝
傻瓜式安裝
,
配置環境變數
:電腦屬性系統變數新增python根目錄
1.4 安裝Android的測試開發環境
Android-SDK的安裝:
SDK manager。exe 雙擊開啟下載
2.android-sdk環境變數的配置
具體操作步驟:
新建ANDROID_HOME
路徑為C:\Program Files (x86)\Android\android-sdk\
在Path 變數中加入路徑
%ANDROID_HOME%\platform-tools 和 %ANDROID_HOME%\tools
3.檢查adb 環境變數
4.連線手機
如果是真機,手機插上USB連線電腦,開啟開發者模式,cmd輸入adb devices
如果是模擬器,需要輸入adb connect 127。0。0。1:62001或者52001連線,然後再輸入adb devices
Appium desktop 安裝
下載地址:
https://
github。com/appium/appiu
m-desktop/releases/tag/v1。3。1
傻瓜式安裝 注意:一定要選擇所有使用者許可權要不然用不了
UiAutomator2
2、 API指令碼
2.1 如何獲取APP啟動的AppPackage和AppActivity
透過appt獲取切換到aapt所在的目錄,執行aapt dump
(aapt是sdk自帶的一個工具,在sdk\builds-tools\目錄下)使用命令aapt dump badging “D:\ jinritoutiao_7500。apk”執行後的結果中以下兩行分別是應用包名package和入口activity名稱
package: name=’ com。ss。android。article。news’
launchable-activity: name=‘com。ss。android。article。news。activity。LaunchActivity’
2. 透過 adb shell am start
com。ss。android。article。news/com。ss。android。article。news。activity。MainActivity
來判斷啟動的app 是否正確
2.2 啟動appium
2.3 寫指令碼
1.platformName:
這裡是 android 的 apk
2.deviceName:
手機裝置名稱,透過 adb devices 檢視
3.platformVersion:
android 系統的版本號
4.appPackage:
apk 包名
5.appActivity:
apk 的 launcherActivity
2.4生成測試報告
推薦閱讀:
周緒龍:乾貨|APP的安全性測試指南——測試工具Drozer
周緒龍:乾貨|如何用Postman做整合測試
周緒龍:乾貨必看!想入門Web測試,看這邊!!!
周緒龍:乾貨|幾幅圖學會Jmeter效能測試型別
福利福利:
更多技術乾貨敬請關注蟲師學院官方知乎機構號:
@蟲師學院 @周緒龍
軟體測試的魅力何在?您為什麼選擇測試一行而不做開發?
我想問一下,軟體測試要學會什麼才能拿6k以上的工資?