▌?背景
在TesterHome社區看到有人問微信小程序如何自動化界面,所以想分享一下如何自動化微信小程序界面。
▌?微信小程序接口自動化問題
微信小程序登錄流程:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
小程序登錄需要調用 wx.login() 拿到 的方法code,然后去請求服務獲取 token,請求后續接口。因此,接口自動化的問題在于如何獲得 code 去獲取 token。
▌?環境準備
- 一臺 windows 或者 mac 電腦
- 微信開發者工具
- 微信號和小程序開發者權限
- 小程序代碼
▌?原理
- Python 使用minium,JS 使用miniprogram-automator,這是微信官方提供的 UI 自動化測試工具的原理是調動微信開發者工具,然后提供自動化測試端口,然后提供 API 應與此端口通信。
- 我是用的 miniprogram-automator,以下是 miniprogram-automator 解釋,然后使用 miniProgram.callWxMethod調用 的方法wx.login() 這種方法獲取 code,這就是獲取 code 的方法。
▌?實現
- 我寫了一個服務,暴露了一個接口,http://127.0.0.1:3000/wxlogin?appid=xxxxxxxxxxxx,接口需要傳輸一個參數是小程序 appid,然后是 config.js 去配置 appid 和小程序的絕對項目路徑(注意:一個小程序獲取的 code 不能在另一個小程序上登錄,code 應該是和 appid 是有關聯的);
- 通過該 appid 找到小程序項目的路徑,調用 automator.launch() 方法,啟動微信開發者工具,然后調用 miniProgram.callWxMethod() 調用 wx.login() 這種方法獲取 code,最后把 code 從我提供的接口返回;
- 每個小程序在要求任何接口時都需要調用我提供的接口來獲取 code 登錄后進行后續請求操作。
▌?注意點
- 不要并發要求自己提供的界面!不要并發要求自己提供的界面!不要并發要求自己提供的界面!因為這個方案需要調動微信開發人員工具,如果并發調動,微信開發人員工具就會崩潰。一開始,我同時調用了10個 以上的小程序,然后崩潰了微信開發人員工具,所以我串行要求微信小程序的界面用例;
- http://127.0.0.1:3000/wxlogin?appid=xxxxxxxxxxxx?這個接口需要調用微信開發者工具才能獲得 code,所以響應速度會比較慢;
- 需要提前登錄微信開發者工具;
- 無法在 linux 部署,因為微信開發者工具沒有 linux 版本。
▌?總結
該方法已在公司實施,并實現了 10 多個微信小程序的生產檢查。維護工作是注意微信開發人員工具賬戶需要保持登錄,如果自動退出,可以掃描代碼登錄。▼?相關閱讀AI小程序生態質量保證方向技術的實施
推薦行業活動
第十屆MTSC會議 上海站1主會場 12大專場,精英齊聚一堂// 專場包括 //知乎、鴻蒙、開源、游戲、酷家樂、音視頻、客戶服務、數字經濟、效率提升、質量保證、智能測試

上一篇: 投票抽獎小程序盈利模式介紹
下一篇: 小程序代理商靠譜嗎?



