7.1.1 eb頁面 首元素渲染&頁面加載完成
0)該項檢測說明︰與actiity數據采集方式相同,eb頁面都是借助app中的ebvie activity來oad ur,因此此處不論什麼業務,activity響應時延都是ebvie activity的響應時延,基本相同。因此eb頁面更關注的是首元素渲染何時可以讓用戶知道頁面開始加載了。但eb頁面的加載深受網絡質量的影響,因此這里區分ifi和移動網絡。
1) ifi下,首元素渲染(展示到界面上)<2s,全頁面數據加載完成<3s。
2)移動網絡下最差2g),首元素渲染<3s,全頁面數據加載完成<10s。
特殊說明︰目前android手q,eb頁面的加載都是在eb進程中,因此首次訪問涉及起進程耗時最後一次統計接近1s),因此1)2)的數據會有超標,需要在評估時適當放寬標準。
7.1.2 eb頁面使用離線緩存
0)該項檢測說明︰當業務一次訪問需要加載的靜態資源jscss圖片)>200k以上,且靜態資源不經常改變,就可以考慮使用離線包當然也可以考慮其他緩存實現方式,比如瀏覽器緩存)
7.1.3 eb頁面 按需加載
0)該項檢測目的︰避免無端流量浪費,列表加載時默認加載一屏1015條數據),在首屏渲染完成後,滑動頁面觸發第二屏加載。
1)檢測手段︰fidder抓包查看首屏數據請求返回時的實際數據條數,分頁控制在合理的間隔內。注意︰某個需求開發為了用戶體驗速度,層提出過偽加載一次性返回多頁數據,但前端只展示一頁,下拉時展示第二頁),這點不行。
7.1.4 eb頁面 避免302請求
0)該項檢測目的︰302臨時跳轉請求,原則上沒有必要,應盡量避免,因為一次跳轉肯定會浪費eb加載時間,但某些特殊原因有必須存在時,合流規範要求一次業務訪問302跳轉要<2個
1)檢測手段︰fidder抓包查看業務訪問所有請求的http返回狀態碼
7.1.5 eb頁面 避免404請求
0)該項檢測目的︰沒有理由,任何情況都不允許404
1)檢測手段︰fidder抓包查看業務訪問所有請求的http返回狀態碼
7.1.6 eb頁面 靜態文件(jscss)請求不能帶okie
0)該項檢測目的︰無端流量耗費、也不安全
1) fidder熱點抓包分析請求頭,jscss靜態文件請求頭不能帶okie(如有特殊情況,請開發說明理由)
7.1.7 eb頁面(jscss)代碼必須壓縮
0)該項檢測說明︰資源文件盡量壓縮減少流量消耗,空格注釋除了方便閱讀沒有任何作用,js混淆變量名替換)在壓縮js的同時也增強了分析難度。因此(jscss)代碼必須壓縮去除了空格注釋,js文件變量名變成ab等代替
1) fidder熱點抓包分析or 資源文件直接pc訪問下載,檢查文件內容。
7.1.8 eb頁面 http請求需經過gzip壓縮
0)該項檢測說明︰http請求壓縮可進一步節省流量。
備注︰但如離線包特別注意對gzip壓縮的支持,出過不支持gzip導致壓縮包不可用的bug。
1) fidder熱點抓包分析,檢查ate
7.1.9 eb頁面 單張圖片<60k
0)該項檢測說明︰移動終端60k的圖片目前的分辨率下就已經很清晰了,沒必要浪費流量,除非滿足某些人高清查看需求時,也要先用縮略圖,按需主動觸發加載大圖
1) fidder熱點抓包分析
7.1.10 eb頁面圖片大小和尺寸檢查
所有的圖片尺寸都控制在以下範圍,720x1280(60k以內)、640x1136(50k以內)、480x800(40k以內)、190x284(15k以內)、152x182(10k以內)
7.1.11 eb頁面橫豎屏切換不會重新拉取數據
0)該項檢測說明︰未做特殊處理時,橫豎屏切換導致的界面重繪會重新網絡拉取eb數據,浪費流量。
1)使用ats性能監測工具,監控指定apk進程,程序穩定後,切換手機橫豎屏,觀察ats是否抓到流量新增
7.1.12 eb頁面靜默拉取︰非ifi環境流量>200k需要提醒用戶
本小章還未完,請點擊下一頁繼續閱讀後面精彩內容!
0)該項檢測說明︰降低用戶流量消耗投訴,優化體驗,目前該項很少使用,前面檢測項5和8都控制了首屏流量<200k,只有在這兩項明確無法控制的前提下,考慮本限制是否要給用戶一個合理提示。
1)使用ats性能監測工具,監控指定apk進程,程序穩定後,入口處流量記錄清零,操作特性一個場景的關鍵路徑,數據加載穩定後,查看ats實時上傳下載流量,>200k時有提醒
八、自動化測試
qt4a是ick test for android的縮寫,它是一個android ui自動化工具。主要的工作原理是通過pc端的python腳本向手機終端發送命令,針對android activity層面以控件作為操作單元,模擬手工操作過程。可用于頁面自動化測試來替代手
8.1 環境搭建
8.1.1 基本環境
主要有jdk 、 pytipse、android sdk,安裝參考6.1.1和6.1.2
8.1.2 python依賴庫
需要安裝pyt。
如本地沒有安裝,編譯時會報錯。編譯時會給出明確的錯誤,具體是缺少哪個庫,按照錯誤提示安裝缺少的庫即可。
8.1.3 ecipse pydev插件安裝
運行ecipse,並選擇菜單p》insta ne sofare》add<e填︰pydev
按照提示選擇pydev安裝。
8.1.4 ecipse pydev配置
運行ecipse,並選擇菜單indo》preferences》pydev》interpreters》python interpreter,然後點擊ick autonfig按鈕,完成pydev的pytipse pugin安裝。
8.1.6 導入工程<port》svn》從svn檢出項目》創建新的資源庫地址》輸入svn地址
8.1.7 android虛擬機安裝配置
1)安裝virtuabox
可以使用電腦管家的軟件管理進行安裝
2)導入虛擬機鏡像文件
直接導入,啟動即可使用
3)啟動虛擬機
啟動後,可以像真機一樣操作虛擬機。如果需要使用add中執行“adb nnect 127.0.0.15555”命令,然後在設備列表中就可以看到該設備了。
8.1.8 測試樁插樁
插上真機或者開啟模擬機,進入項目工程目錄》qt4a》androiddriver,運行androiddriver.py文件,對設備進行插樁。
插樁的目的是︰與執行pc機通訊,接收下發指令執行並反饋結果給pc。
8.1.9 uispy使用
點擊刷新獲取設備id;
點擊獲取控件,獲取當前頁的控件樹;
點擊+,獲取當前頁的某一個控件;
(本章完)
喜歡簡單寫作1000章節請大家收藏︰()簡單寫作1000章節書更新速度全網最快。