Minium 是微信測試團隊為小程序?qū)iT開發(fā)的自動化框架。它實現(xiàn)了miniprogram-automator 中小程序自動化能力。使用 Minium 可以進行小程序 UI 自動化測試,但是 minium 的功能不止于僅僅是 UI 自動化,甚至可以使用 Minium 來進行函數(shù)的 Mock,可以直接跳轉(zhuǎn)到小程序某個頁面并設(shè)置頁面數(shù)據(jù),做針對性的全面測試,這些都得益于我們開放了部分小程序 API 的能力。此外,還支持并封裝了所有的原生操作都進行了封裝,屏蔽了iOS/Android底層差異,實現(xiàn)了一套腳本在三端同時運行。
下面重點介紹Minium的安裝和使用,以及可能遇到的問題和解決方案
安裝Minium框架
- 自動安裝(推薦)
pip安裝,拉取最新版本minium
pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip
- 手動安裝
下載minium安裝包,解壓后進入文件夾,python安裝
python3 setup.py install
環(huán)境檢查
- minium安裝完成后,可執(zhí)行以下命令查看版本:
minitest -v
例如輸出以下信息
{'version': '1.2.8', 'revision': 'd9e296d820fc572ce7a36bef23f16294e8dbaf46', 'branch': 'master', 'update_at': '2022-07-01 14:30:51'}
- 開發(fā)者工具自動化能力檢查
"path/to/cli" auto --project "path/to/project" --auto-port 9420
可能遇到的問題
- 端口被占用
Error: Port 9420 is in use (code 10)
關(guān)閉項目,殺掉端口進程,重新執(zhí)行,或者使用其他端口號
- 連接超時問題
receive from remote timeout, id:xxxxxxxxxxx
一般是因為ide的通道被遠程調(diào)試占用了,請檢查ide是否有打開。建議關(guān)閉工具,重新執(zhí)行,防止端口被占用?;蛘呔W(wǎng)絡(luò)環(huán)境等原因引起
- 報錯traceback中有出現(xiàn)
_miniClassSetUp
的調(diào)用
確認下開發(fā)者工具上選用的基礎(chǔ)庫是最新的:開發(fā)者工具項目窗口右上角 -> 詳情 -> 本地設(shè)置 -> 調(diào)試基礎(chǔ)庫
注意
- 微信開發(fā)者工具需保持登錄狀態(tài)
- 登錄賬號需有該小程序的開發(fā)者權(quán)限
PyCharm + 虛擬環(huán)境 配置開發(fā)環(huán)境
PyCharm工具編寫用例腳本,使用Minium框架,配置虛擬環(huán)境,具體操作如下
-
Python Interpreter
打開設(shè)置窗口,進入Python Interpreter
[Settings -> Project: xxx -> Python Interpreter
] -
Add Python Interpreter
點擊設(shè)置按鈕,點擊Add Python Interpreter
-
配置虛擬環(huán)境
配置Virtualenv Enviroment
,選擇Existing enviroment
,interpreter
選擇python安裝路徑
(注意:需python3.8及以上,若有多個python環(huán)境,選擇3.8及以上即可) -
驗證
配置好環(huán)境后,會加載多個package,包括minium包。
若沒有,可能是由于配置的python環(huán)境沒有安裝minium包,可重新選擇python環(huán)境(配置虛擬環(huán)境)
或 安裝minium框架(執(zhí)行pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip
)
PyCharm + 虛擬環(huán)境 配置開發(fā)環(huán)境
PyCharm工具編寫用例腳本,使用Minium框架,配置虛擬環(huán)境,具體操作如下
-
Python Interpreter
打開設(shè)置窗口,進入Python Interpreter
[Settings -> Project: xxx -> Python Interpreter
] -
Add Python Interpreter
點擊設(shè)置按鈕,點擊Add Python Interpreter
-
配置虛擬環(huán)境
配置Virtualenv Enviroment
,選擇Existing enviroment
,interpreter
選擇python安裝路徑
(注意:需python3.8及以上,若有多個python環(huán)境,選擇3.8及以上即可) -
驗證
配置好環(huán)境后,會加載多個package,包括minium包。
若沒有,可能是由于配置的python環(huán)境沒有安裝minium包,可重新選擇python環(huán)境(配置虛擬環(huán)境)
或 安裝minium框架(執(zhí)行pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip
)
簡單例子
小程序demo參考 miniprogram-demo
簡單UI頁面操作
class FirstTest(minium.MiniTest):
def test_ui_op(self):
# 頁面跳轉(zhuǎn)
self.app.switch_tab("/pages/index/index")
# 元素定位
ele = self.page.get_element("/page/view/navigator[3]/button")
# 元素點擊
ele.click()
# 判斷元素是否存在
self.assertTrue(self.page.element_is_exists("/page/view[9]/mytest//view", max_timeout=5))
# 打印元素文本
inner = self.page.get_element("/page/view[9]/mytest//view").inner_text
self.logger.info("UI Case %s", inner)
config.json 配置
{
"project_path":"xxx", // 小程序項目路徑
"dev_tool_path":"xxx", // 微信開發(fā)者工具安裝路徑
"platform": "ide"
}
運行case
minitest -m test.first_test -c config.json -g
運行結(jié)果
查看結(jié)果
測試結(jié)果默認存儲在outputs文件下,運行命令 python3 -m http.server 12345 -d outputs
然后在瀏覽器上訪問 http://localhost:12345
即可查看報告,如圖:文章來源:http://www.zghlxwxcb.cn/news/detail-422829.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-422829.html
到了這里,關(guān)于微信小程序自動化測試框架 Minium——快速開始的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!