APP測試概念/Appium實戰

在這裏插入圖片描述

1.APP專項測試概念

移動APP的概念
◆移動應用服務,就是針對手機這種移動連接到互聯網的業務或者無線網卡業務而開發的應用程序服務(搭載在手機上的應用程序)
移動APP的特性:
在這裏插入圖片描述移動APP的背景:
在這裏插入圖片描述

移動APP的優勢
◆互動性
移動設備的觸摸屏提供很好的操作體驗,APP則提供了更加豐富多彩的表現形式
◆精準性
App都是用戶主動下載的,並且可分享到具有相似興趣的目標羣體(分享使得更快速的爆炸性傳播app)
◆創意性
可以結合手機或平板的特性(照相、LBS、 重力感應)進行創意性設計及開
發,以全新的呈現方式給予用戶更好的體驗
◆超強的用戶黏性
移動時代用戶手機通常隨身攜帶,而且.上網時間更加碎片化

移動APP測試與傳統測試區別
- -用戶關注點
◆傳統web測試:屏幕大,可以同時顯示信息
◆移動app:屏幕小,顯示信息有限,有價值信息放在主要位置

–場合複雜程度
◆傳統web測試:地點,網絡信號固定
◆移動app:公交,運動中
2g,3g, 4g, wifi
網絡不穩定
設備電量不足(電量不足的時候是不是可以採取一些措施把app的電量降下來)

–輸入種類
◆傳統web測試:鍵盤,鼠標
◆移動app:實體鍵盤,觸屏,電容筆,語音

–操作尺度
◆傳統web測試:點擊是一件準確的事情
◆移動app:觸屏的操作尺度就比較大,點擊誤差大,也不支持hover事件(鼠標懸浮會發生什麼事)。點擊出錯機率高
–界面佈局
◆傳統web測試: PC端屏幕寬大,佈局可以靈活- -些
◆移動app:移動端屏幕相對窄小,一般是單列,屏幕可以旋轉(要考慮橫屏豎屏旋轉是什麼樣)

2.APP測試方法

穩定性(遊戲在自己手機上玩了xx小時或者進行什麼操作會不會崩潰)

在這裏插入圖片描述
功能測試:
在這裏插入圖片描述
登錄: 第三方,多個終端登錄
運行: 更像普普通通web測試的功能測試,設計邊界值,場景用力等
切換:
1.後臺切換:後臺的切換,切回來希望還能保持在之前的頁面上。
2.刪除進程:後臺實行左滑刪除操作的時候,除的時候是否刪除了相應的一些session,等再次打開的時候是什麼狀態,還需要重新登陸嗎。
3.鎖屏:鎖屏打開之後希望還是之前的頁面,鎖屏多久會退出app
推送: 在直播足球比賽的時候,不實時推送或者響應慢,會給客戶帶來不良體驗。
更新: 推送更新通知

專項測試一安裝測試
◆從不同的渠道獲取安裝程序是否正常安裝(華爲應用市場,應用寶,網頁等這些渠道是否都能安裝 安裝了以後能正常運行嗎)
◆軟件在不同操作系統下安裝是否正常
◆軟件安裝後是否能夠正常運行,安裝後的文件夾及文件是否寫到了指定的目錄裏(會不會寫到客戶私密目錄導致無法讀取數據)(取消掉應該把已經安裝的都刪掉)
◆軟件安裝過程是否可以取消,點擊取消後,寫入的文件是否如概要設計說明處理
◆軟件安裝過程中意外情況處理是否符合需求(如死機,重啓,斷電)
◆安裝空間不足)時是否有相應提示
◆安裝後沒有生成多餘的目錄結構和文件
◆對於需要通過網絡驗證之類的安裝,在斷網情況下嘗試一下
◆還需要對安裝手冊進行測試,依照安裝手冊是否能順利安裝

專項測試一卸載測試
◆直接刪除安裝文件夾卸載是否有提示信息
◆ 測試系統直接卸載程序是否有提示信息
◆測試卸載後文件是否全部刪除所有的安裝文件夾
◆卸載過程中出現的意外情況的測試(如死機、斷電、重啓)
(回到app仍然可用,還是就刪到一半等機子正常以後繼續刪除,或者後臺起一個進程能夠守護她,直到機子正常繼續卸載)
◆卸載是否支持取消功能,單擊取消後軟件卸載的情況
◆系統直接卸載Ul測試,是否有卸載狀態進度條提示(引導用戶回心轉意)

專項測試一交互測試
◆多個App同時運行是否影響正常功能
◆App運行時前/後臺切換是否影響正常功能
◆App運行時發送/收取郵件(點去郵件看是否會出現功能性錯誤)
◆App運行時撥打/接聽電話
◆App運行時發送/接收信息
◆App運行時切換網絡(2G、 3G、 4G、WIFI)
◆App運行時瀏覽網絡
◆App運行時使用藍牙傳送/接收數據
◆App運行時使用相機、計算器、手電筒等手機自帶設備

專項測試–升級測試
◆客戶端有新版本是否有更新提示
◆升級包下載中斷是否支持繼續或者重新下載
◆升級渠道驗證(比如有十個商城都可以下載app,這十個商城下載的是否都能正常使用)
◆跨版本升級的可用性(ios,安卓有不同的版本,升級完是否app還能用)
◆強制升級情況下,用戶是否還可以正常使用舊版本
◆非強制升級情況下,系統對新舊版本的兼容性

專項測試–性能測試
◆邊界測試:在各種邊界壓力下(電量、存儲、網絡)驗證APP可否正確響應
◆壓力測試:反覆/長期操作下,系統資源佔用是否異常,APP行爲是否正常(自動化)
◆性能評估:在各種典型場景下佔用系統資源情況
◆響應能力測試:各類操作是否滿足用戶可以接收的響應時間要求(響應能力當然越快越好)
◆消耗測試:正常運行時內存,CPU消耗,APP後臺長時間運行時耗電量、耗流量(正常運行多久會耗盡系統電量)
UI測試:
界面:常用按鈕應在最顯眼的位置
在這裏插入圖片描述

3.Appium簡介

◆Appium是一個開源、跨平臺(不管是三星華爲小米蘋果,都可以啓動)的測試框架,可以用來測試原生及混合的移動端應用。
◆Appium支持iOS、Android及 FirefoxOS平臺測試。
◆Appium使用WebDriver的底層協議,來驅動Apple系統的UlAutomation庫、Android系統的UlAutomator框架。

Appium特點
◆跨設備
◆跨架構
◆跨語言(java,python等都可以運用appium來驅動虛擬機等進行自動化的執行)
◆跨app,可以在多個app之間交互
◆不依賴源代碼
◆不限制測試框架和平臺(自己搭一個框架,都是可以擴展的)

Appium架構
◆Android.上使用了instrumentation和uiautomator兩套技術:
4.1以上使用uiautomator, 4.1以下使用selendroid(現在大多安卓機都是uiautomator)
◆iOS使用uiautomation

Appium環境配置
◆JDK安裝配置
◆Android SDK安裝配置
◆Eclipse安裝 (用python的話裝pycharm)
1.安裝nodejs
2.npm install -g appium (命令行)
3.Appium Server或Desktop(用Appium Desktop就不用前面兩句了)
https://www.cnblogs.com/gufengchen/p/11038029.html

Server或Desktop都是加載工具,是讓我們的代碼能夠讀到相關的server的配置,從而去驅動我們的手機或者虛擬機。
大概 步驟:
1.Appium鏈接夜神模擬器
2.怎麼寫程序從而鏈接到Appium ,驅動夜神模擬器,做我想要做的操作。(Appium Server或Desktop更加方便的定位元素,除了起到連接樞紐也能定位到相應元素)

appium 實戰腳本

1.鏈接夜神模擬器,把夜神模擬器當做一個服務放在了我們計算機的端口上:
在這裏插入圖片描述2.裝百度地圖,並且將apk放在指定位置方便後續使用:
在這裏插入圖片描述

3.用的appium desktop,用它鏈接夜神模擬器
在這裏插入圖片描述
4.把它啓動起來:
在這裏插入圖片描述
5.參數依次是:
平臺–安卓
夜神模擬器的路徑,connect的路徑
app的名字
app自己的啓動屬性(去剛剛放置apk的包裏面找)
系統版本–夜神模擬器的版本都是4.4.2
在這裏插入圖片描述

6.上面空着的兩行需要安卓工具,找到以下路徑:
在這裏插入圖片描述
7.在cmd中cd到路徑,進行反編譯:
在這裏插入圖片描述

8.找到以下話粘貼到APPium:

在這裏插入圖片描述在這裏插入圖片描述
9.開着夜神模擬器點擊Appium的啓動,看看有沒有連接成功。
發現appium和百度地圖已經連通了
在這裏插入圖片描述
10.appium的好處是可以進行元素定位,比如點擊定位這個按鈕,會有id的名稱,
在這裏插入圖片描述
如果頁面沒同步,可以點擊刷新按鈕刷新。不想用的時候點擊×把這個session關閉掉即可。
11.使用腳本
新建項目,新建maven項目。因爲要用他的一些包
在這裏插入圖片描述
現在要導入包,去這個網站,搜索appium,從java client裏面拿到他的一個版本
在這裏插入圖片描述在這裏插入圖片描述

把上面的寫在代碼裏
在這裏插入圖片描述
同樣下載Selenium的包
在這裏插入圖片描述在這裏插入圖片描述

這個腳本代碼連接驅動,給項目一些自己的屬性,比如系統的名稱,包的路徑包的屬性等,
等下載好了以後刪掉之前的類,新建一個類,順道帶上主方法:
在這裏插入圖片描述

引appium的driver,然後開始加值進去,比如平臺名,系統等
在這裏插入圖片描述
沒有數字簽名,
實例化一些屬性(連接的地址,即對於appinum的端口號)
在這裏插入圖片描述
寫完代碼開始做操作:
打開appium,啓動起來:
在這裏插入圖片描述

選擇同意按鈕:
在這裏插入圖片描述
捕捉到了以後輸入代碼中:

進入地圖這個按鈕也寫進去:
在這裏插入圖片描述在這裏插入圖片描述

同樣的將搜地名也加進去
對於輸入內容,不再是click,要寫入內容:
在這裏插入圖片描述在這裏插入圖片描述

寫好北京大學,在地圖裏也寫好,然後點擊搜索按鈕:
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述

至此代碼寫完了,現在看看能不能啓動起來,將當前的appium的session關閉掉:
在這裏插入圖片描述然後啓動即可:
在這裏插入圖片描述

可能會出錯:
在這裏插入圖片描述
改成3.12:
在這裏插入圖片描述
正常啓動以後,會啓動登陸,搜索北京大學並關閉。

使用簡單的代碼,啓動appium,通過appium啓動夜神模擬器從而進行後面的五個步驟的操作,就像webdriver等一致。
如果想把appium做得更好,可以用其他app寫一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章