目錄
1.前言
2.準(zhǔn)備工作
3.腳本錄入
4.UI自動化測試
5.穩(wěn)定性測試
6.性能測試
7.總結(jié)
<h1 id="1">前言</h1>
云測試平臺是一個移動端App測試一站式測試服務(wù)平臺旺订,目前Android端支持UI自動化測試东涡,Monkey測試,性能測試,iOS端支持UI自動化測試和Monkey測試井誉。后續(xù)我們還會接入更多的功能。下面我們主要介紹目前所支持的服務(wù)的使用方法。
<h1 id="2">準(zhǔn)備工作</h1>
登錄
目前云測試平臺的登錄體系已經(jīng)與平安的UM賬號體系打通,只要輸入你的UM賬號和密碼即可登錄笔刹。如果登錄過程中提示密碼錯誤,有可能是你的賬號尚未激活冬耿,或者密碼輸錯了舌菜。激活賬號可以找姚雪芹咨詢(YAOXUEQIN844@pingan.com.cn),重置密碼請登錄平安內(nèi)部門戶網(wǎng)站-UM用戶管理欄目(內(nèi)網(wǎng)地址:pws.paic.com.cn)亦镶。另外日月,首次登錄需要找云測試平臺管理員審核,賬號審核請找彭海波(penghaibo204@pingan.com.cn)缤骨。
添加產(chǎn)品
如果是首次使用我們的平臺爱咬,先到產(chǎn)品列表頁面查看是否有待測試的產(chǎn)品。如果沒有你想要測試的產(chǎn)品绊起,則點(diǎn)擊添加產(chǎn)品按鈕添加新的產(chǎn)品精拟。
上傳App
添加完成產(chǎn)品后,需要上傳你要測試的App安裝包虱歪。點(diǎn)擊對應(yīng)產(chǎn)品列表后的應(yīng)用上傳按鈕串前,即可彈出上傳對話框,選擇本地的安裝包实蔽,點(diǎn)擊上傳即可上傳安裝包到服務(wù)器上荡碾。
安裝Appium客戶端
首先下載一個Appium客戶端最新版,這里給出mac版的下載地址局装,Windows版本請自行百度坛吁。Appium客戶端又依賴于Android SDK和Xcode,因此還需要配置Android和iOS開發(fā)環(huán)境铐尚。具體安裝方法網(wǎng)上很多拨脉,這里不作講解,請自行百度宣增。安裝完各種環(huán)境之后打開Appium客戶端玫膀,配置安裝包路徑和設(shè)備ID(可以為空)。
腳本錄制
腳本的錄制是整個平臺的關(guān)鍵部分爹脾,UI自動化帖旨,穩(wěn)定性測試和性能測試都依賴于錄制的腳本去驅(qū)動。本節(jié)我將為大家介紹如何通過平臺來添加你的測試腳本灵妨。在添加完產(chǎn)品后解阅,我們要錄入該產(chǎn)品對應(yīng)的腳本才能開始自動化測試。從管理中心->我的測試腳本泌霍,進(jìn)入產(chǎn)品管理頁面货抄,點(diǎn)擊添加產(chǎn)品按鈕,即可進(jìn)入腳本錄入頁面。
腳本信息填寫
首先填寫腳本相關(guān)信息蟹地,如下圖所示积暖。產(chǎn)品為必選字段,選擇你所要測試的腳本怪与。版本類型表示要測試的系統(tǒng)類型:Android夺刑,iOS和H5,腳本名稱和描述用于對腳本進(jìn)行描述琼梆,可選填性誉。腳本標(biāo)簽用來做篩選,可選填茎杂。
測試步驟錄入
腳本的錄入最核心的功能在于測試步驟的錄入错览。測試步驟對應(yīng)了我們的測試的執(zhí)行過程。比如登錄功能煌往,我們第一步是點(diǎn)擊登錄按鈕倾哺,第二步,輸入用戶名刽脖,第三步羞海,輸入密碼,第四步曲管,點(diǎn)擊登錄却邓。我們把這樣的四個步驟對應(yīng)錄入到平臺上后,即可通過平臺來自動化執(zhí)行該腳本院水。那么錄入過程中需要做哪些操作呢腊徙?
第一步:用Appium Inspect工具分析出界面元素
手機(jī)連接上電腦,打開Appium客戶端檬某,配置相關(guān)參數(shù)后撬腾,點(diǎn)擊Launch按鈕,如果連接成功恢恼,即可看到相應(yīng)的200返回碼民傻。
接下來點(diǎn)擊Inspect按鈕(一個放大鏡的圖標(biāo))。Appium會自動安裝App到手機(jī)场斑,并啟動分析窗口漓踢。
第二步:查找關(guān)鍵元素
如上圖所示,我們通過Appium的Inspect工具分析出了頁面上的所有元素和簸,點(diǎn)擊右邊截圖的元素位置彭雾,左邊即可顯示出該元素的對應(yīng)信息。我們用的比較多的有resource-id锁保,text,xpath這三個屬性。使用優(yōu)先級是id>text>xpath爽柒。使用text作為標(biāo)志的時候要注意唯一性吴菠。
第三步:錄入測試步驟
根據(jù)上面的步驟找到關(guān)鍵元素后,即可進(jìn)行開始錄入測試步驟浩村,一個完整的測試步驟由控件類型做葵,查找方式,控件標(biāo)志和動作類型心墅,參數(shù)等屬性構(gòu)成酿矢,如下圖所示。其中控件標(biāo)志就是我們通過第二步找到的元素唯一標(biāo)志怎燥,根據(jù)查找方式對應(yīng)不同的取值瘫筐。比如查找方式為id,標(biāo)志就是控件的resource-id铐姚。動作類型就是我們要對該控件進(jìn)行的操作策肝。常用的動作類型有點(diǎn)擊,輸入隐绵,滑動等操作之众。其中有些動作是需要輸入?yún)?shù)的。比如Wait動作表示添加一個等待事件依许,參數(shù)表示等待的時間棺禾。iSExist動作表示判斷元素是否存在,參數(shù)1代表存在峭跳,0代表不存在膘婶。swipeUp(/Down/Left/Right)表示滑動事件,要接收三個參數(shù)坦康,分別以逗號隔開:起始位置竣付,步長,持續(xù)時間滞欠,例如:2,20,2000古胆。
導(dǎo)入測試步驟
測試步驟的錄入還可以通過導(dǎo)入或者插入的方式復(fù)用之前錄入的腳本,插入的腳本會自動附加到當(dāng)前腳本的最后筛璧。而導(dǎo)入的腳步則是通過引用的方式嵌入在測試步驟里面逸绎。這兩個功能,方便做腳本的引用和復(fù)制夭谤,避免重復(fù)工作棺牧。另外,你可以通過上下移動按鈕調(diào)整位置朗儒。
第四步:測試你的腳本
腳本錄入成功后颊乘,點(diǎn)擊保存即可保存到平臺参淹,用于執(zhí)行測試任務(wù)。但是寫完之后腳本是否能正確執(zhí)行呢乏悄,我們還是要測試一下才放心浙值。于是在腳本管理頁面的每條腳本后面都增加了一個測試一下的按鈕。
點(diǎn)擊測試一下按鈕后檩小,會出現(xiàn)選擇設(shè)備和App的界面开呐,選擇用于測試的設(shè)備和app后,我們的腳本即會在平臺上指定的機(jī)器上運(yùn)行你的腳本规求。運(yùn)行結(jié)果通過結(jié)果查看頁面實時刷新筐付,如下圖所示。你可以通過執(zhí)行結(jié)果和截圖分析出執(zhí)行到什么階段阻肿,測試結(jié)果是否正常瓦戚。
執(zhí)行完畢后會出現(xiàn)前往查看結(jié)果報告的按鈕,點(diǎn)擊即可進(jìn)入測試報告頁面冕茅。在測試報告頁面伤极,fail的腳本有詳細(xì)的錯誤日志,方便你定位錯誤的原因姨伤。
腳本說明
1 控件類型說明
名稱 | 說明 |
---|---|
Native | 表示要查找的元素屬于Native控件 |
Web | 表示要查找的元素屬于Web控件 |
2 動作類型說明
名稱 | 說明 | 是否針對元素 |
---|---|---|
Click | 點(diǎn)擊事件哨坪,表示對該控件進(jìn)行點(diǎn)擊操作 | 是 |
SetText | 設(shè)置文本,往文本框中輸入內(nèi)容乍楚,參數(shù)表示要輸入的文本 | 是 |
ScrollToText | 滑動到某個文本当编,根據(jù)設(shè)置的文本參數(shù)來滾動查找某個控件,直到找到為止徒溪,一般用于列表 | 否 |
iSExist | 判斷某個元素是否存在忿偷,參數(shù)1表示存在,0表示不存在 | 是 |
Wait | 等待事件臊泌,參數(shù)表示等待的時間鲤桥,單位毫秒,如1000表示等待1s再進(jìn)行下一步操作 | 否 |
ExistGoto | 如果元素存在渠概,則跳轉(zhuǎn)到指定步驟執(zhí)行茶凳,參數(shù)設(shè)置為要跳轉(zhuǎn)到的步驟編號 | 是 |
NotExistGoto | 如果元素不存在,則跳轉(zhuǎn)到指定步驟執(zhí)行播揪,參數(shù)設(shè)置為要跳轉(zhuǎn)到的步驟編號 | 是 |
pressKey | 按鍵事件贮喧,表示點(diǎn)擊設(shè)備的按鍵,4表示返回鍵猪狈,3表示home鍵 | 否 |
swipeLeft | 向左滑動箱沦,參數(shù):(開始位置,步長雇庙,持續(xù)時間)谓形,如:2,2,2000 灶伊; | 是 |
swipeRight | 向右滑動,參數(shù)設(shè)置方法同上 | 是 |
swipeUp | 向上滑動套耕,參數(shù)設(shè)置方法同上 | 是 |
swipeDown | 向下滑動谁帕,參數(shù)設(shè)置方法同上 | 是 |
excuteJS | Web控件專用峡继,用于執(zhí)行js代碼來定義web事件 | 否 |
startPerformance | 開始記錄性能數(shù)據(jù)冯袍,用于性能測試場景 | 否 |
stopPerformance | 結(jié)束記錄性能數(shù)據(jù) | 否 |
GetVerifyCode | 獲取驗證碼,并輸入碾牌,控件元素為輸入驗證碼的文本框康愤,參數(shù)為接收驗證碼的手機(jī)號 | 是 |
actionGesture | 手勢密碼,需要多個步驟配合使用舶吗,順序添加每個點(diǎn)的控件標(biāo)志征冷,參數(shù)為一共有多少個點(diǎn),必填 | 是 |
importScript | 引用腳本誓琼,通過引用的方式將公共腳本嵌入步驟里面检激,參數(shù)為腳本ID | 否 |
3 查找方式說明
名稱 | 說明 |
---|---|
id | 表示通過控件ID來查找元素,該方式最快最精準(zhǔn) |
name | 表示通過控件的text或者description屬性來查找元素腹侣,要注意唯一性 |
xpath | 表示通過xpath來查找控件叔收,該方式查找耗時長,不建議使用 |
className | 通過控件類型查找傲隶,控件類型可能會重復(fù)饺律,所以注意設(shè)置索引 |
linkText | Web控件專用,表示超鏈接的文本 |
cssSelector | Web控件專用跺株,表示通過css樣式屬性查找控件 |
小結(jié)
準(zhǔn)備階段的工作比較繁瑣复濒,主要是環(huán)境的配置和腳本的錄入。剛開始可能會比較麻煩乒省,也會遇到一些坑巧颈,但熟悉起來后,就會很快了袖扛。接下來我們就是開始發(fā)起各種測試任務(wù)了砸泛。由于Android和iOS的任務(wù)模式基本相同,這里只介紹Android端任務(wù)的創(chuàng)建方法攻锰。
<h1 id="3">UI自動化測試</h1>
UI自動化測試分為四個步驟:
第一步:選擇待測應(yīng)用晾嘶,選擇你的產(chǎn)品,然后選擇該產(chǎn)品下的App娶吞,如果沒有產(chǎn)品和App垒迂,請到產(chǎn)品管理頁面添加。
第二步:選擇腳本妒蛇,可以選擇一個或多個腳本机断,也可以在Search框中輸入關(guān)鍵字篩選腳本楷拳。如果沒有腳本,請到腳本管理頁面錄入腳本吏奸。
第三步:選擇設(shè)備欢揖,選擇要執(zhí)行的設(shè)備,一次只能選擇一個設(shè)備奋蔚。每個設(shè)備會顯示前面有多少個任務(wù)正在排隊她混,盡量選擇排隊少的設(shè)備執(zhí)行任務(wù)。
第四步:保存并執(zhí)行泊碑,提交測試之前坤按,先確認(rèn)下任務(wù)信息是否符合自己的需求。特別是郵箱信息馒过,你也可以在后面增加收件人臭脓,用逗號隔開。
<h1 id="4">穩(wěn)定性測試</h1>
穩(wěn)定性測試即Monkey測試腹忽,新建一個穩(wěn)定性測試任務(wù)也是分為四個步驟:
第一步:選擇待測應(yīng)用
第二步:設(shè)置參數(shù)和腳本来累,這里要設(shè)置執(zhí)行monkey的時間,以及用來初始化的腳本窘奏,腳本可以為空嘹锁。如果選擇了腳本,那么會先執(zhí)行腳本蔼夜,然后再開始執(zhí)行Monkey測試兼耀。一般將登陸腳本作為初始化腳本。
第三步:選擇設(shè)備
第四步:確認(rèn)并提交測試
<h1 id="5">性能測試</h1>
目前平臺通過結(jié)合UI自動化求冷,提供精準(zhǔn)化的性能測試報告瘤运。這里的精準(zhǔn)是指的頁面響應(yīng)時間,因為我們可以準(zhǔn)確得出每一個操作步驟的響應(yīng)時間匠题。但是為了便于統(tǒng)計響應(yīng)時間拯坟,在錄制你的腳本的時候有幾點(diǎn)注意事項:1. 第一步設(shè)置一個iSExist事件,原來等待某個控件出現(xiàn)韭山,從而判斷App啟動成功郁季。2. 如果要測試某個步驟的響應(yīng)時間,一定要在操作完該步驟后钱磅,設(shè)置一個iSExist事件梦裂。一個典型的腳步,如下圖所示盖淡。我們可以通過紅框標(biāo)識的步驟來獲取應(yīng)用啟動的時間和登錄耗費(fèi)的時間年柠。
測試步驟跟UI自動化任務(wù)是一樣的,只是新建任務(wù)選性能測試即可褪迟。性能測試每個任務(wù)只能添加一個腳本冗恨。執(zhí)行完后的報告包括響應(yīng)時間答憔,CPU,內(nèi)存掀抹,流量和FPS的統(tǒng)計信息虐拓。
<h1 id="6">總結(jié)</h1>
本次先只介紹了準(zhǔn)備工作,UI自動化以及Monkey測試的使用方法傲武,具體操作過程中可能還會遇到一些問題蓉驹,歡迎隨時找我咨詢。