微信小程序demo测试实践
https://mp.weixin.qq.com/cgi-bin/wx:平臺地址
建議先了解他的各個文檔,
github.com/wechat-miniprogram/miniprogram-demo
demo下載地址
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
開發者工具地址
開發版:測試
安裝后需要登錄,
把demo放進開發者工具里,
demo的文件內容。這里導入時需要APPID 如果沒有可以使用測試號會有選填
編譯完成后可以預覽,預覽可以直接綁定測試機上亦可掃描二維碼。導入后會顯示此些工具,模擬器、編輯器、調速器(f12的控制臺)
? ?真機調試時分為直接關聯手機和二維碼掃碼,展開后 會查看到
我的真實情況是這里是沒有打開性能面板
?打開后需要重啟
安卓打不開---問題
通過展示出來的性能數據,我們能夠直觀的看到實時的性能,比如切換頁面時的頁面切換耗時。如果想要看性能的整體的長時間變化趨勢,則需要借助trace工具。
我的安卓和蘋果都沒有;開發版的無法解決在其他兩個版本中連接adb使用查看性能解決長時間問題。
未有權限報錯:invalid scope 沒有權限,請先開通云服務
百度的解決辦法,但我么有就先擱置,
appDate 類似于fiddler中inspectors。
通過修改真機調試界面中AppData中的數據可以實現和fiddler中autoresponder類似的功能,檢查各種數據的情況下界面的顯示。因為微信小程序是運行在微信之上的,所以各種功能交互更多是微信考慮處理,測試微信小程序時可以不用太考慮。
兼容性測試:
1、操作系統兼容性(兼容android系統和ios系統),android系統和ios系統對js代碼的處理存在差異,所以需要考慮這兩個系統的兼容性。實際工作中同一個小程序,需要在android微信上和ios微信上分別進行測試。
2、機型兼容性(屏幕的適配),微信小程序中考慮了屏幕的自動適配,專門設計了一個rpi單位,但還是不能完全保證適配沒問題,所以針對小程序仍然需要考慮機型兼容。
? ? ? ?3、微信版本的兼容性(基礎庫版本適配)
針對開發版,通過修改調試基礎庫版本即可做兼容性測試。
在詳情本地設置欄,
微信小程序網絡測試
移動app 的網絡測試考慮:
1、強網測試,不同網絡下使用、網絡切換下的使用
2、弱網測試
3、無網測試
微信小程序和移動app的網絡測試類似。
控制臺紅色部分是進行的無網,
其他兩個版本可以用filder測試(體驗版和正式版)
對于體驗版或者正式版,可以完全類似于移動app的測試方式,利用fiddler來做測試。
使用步驟:
1、電腦上的fiddler設置抓取和解析https的包
2、手機上安裝fiddler的證書
3、手機上開啟代理
運行小程序后,即可以在fiddler上看到抓取的https的包。
微信小程序性能測試
移動app的性能測試關注:
1、業務響應時間(啟動時間/頁面切換時間),通過logcat中查詢displayed關鍵字
2、Cpu,emmagee
3、Gpu,過度繪制、高速相機
4、內存,emmagee
5、流量,emmagee
6、電量,emmagee
微信小程序因為一般運行的時間短、頻度低,所以關注的性能指標比app要少一些。
1、業務響應時間(小程序包下載時間/啟動時間/頁面切換時間)
2、內存
3、Cpu
4、幀率
5、數據緩存大小
微信小程序針對開發版提供性能監控器工具。
微信小程序特殊測試點
1、小程序包大小不能超過3M,開發版對大小沒有限制,但是體驗版和正式版都有限制。
2、頁面層級跳轉不能超過10次,比如分類-》居家-》布藝軟裝-》居家-》被枕-》居家-》。。。達到10次就無法跳轉了,如果非要有這種跳轉方式,需要考慮不讓微信覺得是10次跳轉。
3、緩存,微信小程序為了提升用戶體驗,會緩存用戶的頁面及數據,方便下次調用時直接使用。可能產生的問題:
1)微信小程序緩存的數據是否和服務器端一致。實際測試時可以先訪問頁面,然后修改服務器上數據,再回看小程序中頁面,看數據是否一致。
2)切換相似的頁面,看是否緩存的數據會產生混亂,比如居家和餐廚兩個分類,切換分類的時候,會不會因為緩存導致具體信息不發生變化。
1.fiddler的使用場景
開發環境host配置,前后端接口調試,線上bugfix,性能分析優化
2.fiddler的主界面分為:工具面板,會話面板,監控面板,狀態面板
工具面板:
說明注釋、重新請求、刪除會話、繼續執行、流模式/緩沖模式、解碼、保留會話、監控指定進程、尋找、保存會話、切圖、計時、打開瀏覽器、清除IE緩存、編碼/解碼工具、彈出控制監控面板、MSDN、幫助
兩種模式
緩沖模式(Buffering Mode)Fiddler直到HTTP響應完成時才將數據返回給應用程序。可以控制響應,修改響應數據。但是時序圖有時候會出現異常
流模式(Streaming Mode)Fiddler會即時將HTTP響應的數據返回給應用程序。更接近真實瀏覽器的性能。時序圖更準確,但是不能控制響應。
抓取手機端是灰色的問題
發現使用的http connect方法
connect是為了建立http tunnel,connect是http眾多方法中的其中一種,它跟post、get、put、options方法是并列的。但是它的使用場景很特殊。只有在受限制的網絡環境中(防火墻、NAT、代理器)并且是https通信時,客戶端使用http connect請求代理服務器,代理服務器使用connect方法與目標服務器建立http tunnel,通道建立后,客戶端與服務器進行通信,代理服務器就像透明一樣,只是接收、轉發tcp stream。
為什么要建立http tunnel呢?
這是因為,網絡環境受限,客戶端無法直接訪問某些網絡,所以只能通過代理服務器訪問網絡,然后,將內容轉發給客戶端,從宏觀上看,客戶端與服務器端就像建立了一條隧道一樣。
但是由于http tunnnel可控性不強,所以,服務器通常會限制”可connect的端口”(一般只開放SSL的443端口)
關于NAT(network address translation)環境如下圖
又一問題需要解決?
總結:
一、微信小程序的測試點---
單純功能測試的層面來說,微信小程序測試、APP測試、web測試在流程和功能測試上是沒有區別的,但由于載體的不同,導致有一些不同,主要可以從幾個方面體現:入口,微信錢包、卡包、
1、系統架構方面
2、性能方面
3、兼容方面
4、測試工具方面
微信小程序測試與app測試非常相似,微信小程序是已微信為載體的,通過微信進入小程序中。
性能方面:
1.微信小程序使用微信開發者工具對小程序進行性能測試和web差不多 主要是頁面展開時間、頁面渲染時間、資源的占用,
兼容性:
3、微信版本-微信各個版本(可估計主要的用戶群體和使用的微信版進行測試(主要不同的微信版本對應的api)-微信小程序后臺可查看使用版本的統計)
測試點:
更新:熱更新、覆蓋更新(需要注意更新版本時,用戶是否需要刪除小程序才會有效果)
微信版本類型:開發版、體驗版、正式版,在測試過程中,曾經遇到同一套代碼在體驗版正常,發布 正式版就掛了,經開發分析是微信本身的bug,需要注意這點。
安全方面:
? ? 什么內嵌啊不需要測 因為是在微信中運行,主要測接口數據是否加密
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的微信小程序demo测试实践的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为OJ平台——整形数组合并
- 下一篇: JS中this的四种用法