minium
是為小程式專門開發的自動化框架,使用minium
可以進行小程式UI
自動化測試。 當然,它的能力不僅僅侷限於UI
自動化, 比如:
minium
來進行函數的mock
這些能力是其他的一些工具所不具備的,不僅如此,它還有許多其他特性,也是很吸引人的:
iOS
&Android
& 模擬器,三端執行AppSerive
注入程式碼片段執行wx
物件上的介面Mock wx
物件上的介面Hook wx
物件上的介面suite
方式管理用例,config
管理執行裝置pip3 install minium
或者
pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip
下載minium安裝包, 解壓後進入資料夾, 執行
python3 setup.py install
這裡我們以官方範例小程式專案作為演示,使用git
直接clone
:
git clone https://github.com/wechat-miniprogram/miniprogram-demo.git
下載到本地之後,先cd
到miniprogram-demo
中,然後cnpm i
。接著再cd
到miniprogram
中,再次cnpm i
。(npm 真不好使)
安裝、依賴、編譯成功,就可以看到如下小程式:
minium安裝完成後,可執行以下命令檢視版本:
輸入minitest -v
出現如下表示安裝成功
開發者工具自動化能力檢查
path/to/cli" auto --project "path/to/project" --auto-port 9420
路徑說明:
path/to/project
: 指代填寫存放小程式原始碼的目錄地址,資料夾中需要包含有project.config.json
檔案path/to/cli
: 指代開發者工具cli
命令路徑。macOS
: <安裝路徑>/Contents/MacOS/cli
, Windows
: <安裝路徑>/cli.bat
log
並且開發者工具上有以下提示的則通過,否則根據提示和開發者工具檔案偵錯解決舉個栗子:
以我win10
系統為例,輸入如下命令:
"E:\Program Files (x86)\Tencent\微信web開發者工具\cli.bat" auto --project "D:\pyworkspace\miniprogram-demo" --auto-port 9420
看到如下顯示,證明安裝成功且小程式也會被啟動!
簡單建立一個python專案即可,如下所示:
在專案目錄新增suite.json
,範例如下:
{
"pkg_list": [
{
"case_list": [
"test_*"
],
"pkg": "test_case.*_test"
}
]
}
在專案目錄新增config.json
,這裡替換上你自己本地環境的對應路徑。範例如下:
{
"project_path": "D:\\pyworkspace\\miniprogram-demo",
"dev_tool_path": "E:\\Program Files (x86)\\Tencent\\微信web開發者工具\\cli.bat",
"debug_mode": "warn"
}
範例程式碼如下:
# -*- coding: utf-8 -*-
"""
@Time : 2022/12/30 15:48
@Auth : longrong.lang
@File :my_test.py.py
@IDE :PyCharm
@Motto:ABC(Always Be Coding)
"""
import minium
class ComponentTest(minium.MiniTest):
def test_ui_op(self):
self.page.get_element("view", inner_text="檢視容器").click()
self.page.get_element("navigator", inner_text="swiper").click()
self.page.get_elements("switch")[0].click()
self.page.get_elements("switch")[1].click()
print("執行測試結束!")
選中測試類執行
執行結果如下:
命令列形式
minitest -m test_case.first_test -c config.json -g -s suite.json
執行結果如下:
效果
輸入如下命令,可生成一份美麗的測試報告
python -m http.server 12345 -d outputs
開啟瀏覽器,存取http://localhost:12345即可檢視報告。
寫這篇文章,算是技癢吧,在微信群看到某位同學分享的名字,我順騰摸瓜花了一小時就有了它。
學習的意義,不在於一定要用上,而在於要用的時候可以輕鬆無縫銜接,而不是不會憋得一腦袋汗!
到此,小程式的入門分享完畢,感興趣的同學可以檢視官方檔案。
我是測試君,關於後面小程式測試框架的更新,我也會繼續,更多請繼續關注我,覺得對你有用,請星標即可,不用轉發!
優秀不夠,你是否無可替代
軟體測試交流QQ群:721256703,期待你的加入!!
歡迎關注我的微信公眾號:軟體測試君