日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Minium-小程序自動化測試框架

來源: 責編: 時間:2023-10-13 14:36:57 276觀看
導讀1、前言提起 UI 自動化測試,web 端常用 Selenium,手機端常用 Appium,那么很火的微信小程序可以用什么工具來進行自動化測試?本篇將介紹一款專門用于微信小程序的自動化測試工具 - minium。2、簡介minium 是為小程序專門開

gnN28資訊網——每日最新資訊28at.com

1、前言

提起 UI 自動化測試,web 端常用 Selenium,手機端常用 Appium,那么很火的微信小程序可以用什么工具來進行自動化測試?本篇將介紹一款專門用于微信小程序的自動化測試工具 - minium。gnN28資訊網——每日最新資訊28at.com

2、簡介

minium 是為小程序專門開發的自動化框架, 提供了 Python 和 JavaScript 版本。使用 minium 可以進行小程序 UI 自動化測試, 但是 minium 的功能不止于僅僅是 UI 自動化, 甚至可以使用 minium 來進行函數的 mock, 可以直接跳轉到小程序某個頁面并設置頁面數據, 做針對性的全面測試。gnN28資訊網——每日最新資訊28at.com

特性:gnN28資訊網——每日最新資訊28at.com

  • 支持一套腳本,iOS & Android & 模擬器,三端運行
  • 提供豐富的頁面跳轉方式,看不到也能去得到
  • 可以獲取和設置小程序頁面數據,讓測試不止點點點
  • 可以直接觸發小程序元素綁定事件
  • 支持往 AppSerive 注入代碼片段
  • 可以調用部分 wx 對象上的接口

官方文檔:gnN28資訊網——每日最新資訊28at.com

https://run-noob.github.io/minium-doc-github/#/minium/Python/readme.gnN28資訊網——每日最新資訊28at.com

3、安裝

環境要求(Python 版本):gnN28資訊網——每日最新資訊28at.com

Python 3.xgnN28資訊網——每日最新資訊28at.com

微信公共庫版本 >= 2.7.3gnN28資訊網——每日最新資訊28at.com

安裝 穩定版微信開發者工具gnN28資訊網——每日最新資訊28at.com

如果要測 Android,下載 微信測試包gnN28資訊網——每日最新資訊28at.com

安裝:gnN28資訊網——每日最新資訊28at.com

微信開發者工具-設置-安全設置,開啟安全模式。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

安裝 minium.gnN28資訊網——每日最新資訊28at.com

pip install minium

快速上手.gnN28資訊網——每日最新資訊28at.com

使用開發者工具的命令行工具,輸入命令打開測試小程序。gnN28資訊網——每日最新資訊28at.com

/Applications/wechatwebdevtools.app/Contents/MacOS/cli --auto /Users/wangmeng/WeChatProjects/testdemo --auto-port 9420

注:gnN28資訊網——每日最新資訊28at.com

這里的 --auto-port 填寫 9420,不是開發者工具安全模式的端口。gnN28資訊網——每日最新資訊28at.com

確保開發者工具登錄的微信號具備被測小程序的開發者權限。gnN28資訊網——每日最新資訊28at.com

/Applications/wechatwebdevtools.app/Contents/MacOS/cli 命令行工具所在位置。gnN28資訊網——每日最新資訊28at.com

Mac: <安裝路徑>/Contents/MacOS/clignN28資訊網——每日最新資訊28at.com

Windows: <安裝路徑>/cli.batgnN28資訊網——每日最新資訊28at.com

/Users/wangmeng/WeChatProjects/testdemo 小程序工程的路徑(例如官方的小程序示例)。gnN28資訊網——每日最新資訊28at.com

輸入后,成功打開對應的小程序。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

命令行輸出:Open project with automation enabled success,表示成功。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

確認開發者工具調試基礎庫版本 >= 2.7.3。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

打開 IDE,如 PyCharm,創建示例代碼。gnN28資訊網——每日最新資訊28at.com

#!/usr/bin/env python# -*- coding: utf-8 -*-# 公眾號:AllTests軟件測試import miniummini = minium.Minium()system_info = mini.get_system_info()print(system_info)

執行結果,成功打印出系統信息。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

如果想在手機上運行腳本,可以點擊開發者工具的真機調試,連接成功后,再次運行腳本,腳本就會在手機上面運行。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

連接成功。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

再次執行后,可以看到打印出的是手機上的系統信息。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

測試框架.gnN28資訊網——每日最新資訊28at.com

minium 提供一個基于 unittest 封裝好的測試框架。gnN28資訊網——每日最新資訊28at.com

測試基類 MiniTest 會根據測試配置進行測試,minitest 向上繼承了 unittest.TestBase。gnN28資訊網——每日最新資訊28at.com

示例代碼,2條用例,每條用例都加上了斷言。gnN28資訊網——每日最新資訊28at.com

#!/usr/bin/env python# -*- coding: utf-8 -*-# 公眾號:AllTests軟件測試import miniumimport timeclass MyTest(minium.MiniTest):    def test_view(self):        self.page.get_element("view", inner_text="視圖容器").click()        self.page.get_element(".navigator-text", inner_text="swiper").click()        self.page.get_elements("switch")[0].click()        self.page.get_elements("switch")[1].click()        assertValue1 = self.page.get_element(".weui-cell__bd").text        self.assertEqual("指示點", assertValue1)        time.sleep(0.5)        self.app.navigate_back()    def test_form(self):        self.page.get_element("view", inner_text="表單組件").click()        self.page.get_element(".navigator-text", inner_text="textarea").click()        self.page.get_element("page > view > view > view:nth-child(1) > view.textarea-wrp > textarea").click()        self.page.get_element("page > view > view > view:nth-child(1) > view.textarea-wrp > textarea").input("小程序自動化測試")        assertValue2 = self.page.get_element("page > view > view > view:nth-child(1) > view.textarea-wrp > textarea").text        self.assertIn("小程序", assertValue2)        time.sleep(0.5)        self.app.navigate_back()

執行結果,2條用例執行成功。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

自動生成 outputs 目錄,將測試數據輸出到 outputs 目錄里,里面包含一個簡易的測試報告。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

打開命令行,跳轉到腳本項目目錄里,輸入:gnN28資訊網——每日最新資訊28at.com

python -m http.server 8080 -d outputs

瀏覽器中輸入 http://localhost:8080/ 可以查看測試報告。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

執行日志。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

如果不想在 IDE 上運行,只想在命令行上運行用例。gnN28資訊網——每日最新資訊28at.com

在項目的根目錄上創建 suite.json 文件。gnN28資訊網——每日最新資訊28at.com

文件內容:gnN28資訊網——每日最新資訊28at.com

{    "pkg_list": [        {            "pkg": "case.*",            "case_list": [                "test_*"            ]        }    ]}

項目結構,case 目錄存放測試用例。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

打開命令行,跳轉到腳本項目目錄里(testdemo123 編寫的腳本項目),輸入:gnN28資訊網——每日最新資訊28at.com

miniruntest -s suite.json

加載用例開始執行。gnN28資訊網——每日最新資訊28at.com

gnN28資訊網——每日最新資訊28at.com

如果想在手機上運行腳本(如 Android),只需要在用例目錄下創建 config.json 配置文件即可。gnN28資訊網——每日最新資訊28at.com

{    "debug_mode": "info",    "enable_app_log": false,    "platform": "Android"}

然后連接手機,并且保證 adb devices 能夠識別到手機,之后命令行輸入執行命令就可以了。gnN28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-13540-0.htmlMinium-小程序自動化測試框架

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 直播流??內存優化?案

下一篇: 商業智能在供應鏈管理中的作用

標簽:
  • 熱門焦點
  • 一加Ace2 Pro真機揭曉 鈦空灰配色質感拉滿

    終于,在經過了幾波預熱之后,一加Ace2 Pro的外觀真機圖在網上出現了。還是博主數碼閑聊站曝光的,這次的外觀設計還是延續了一加11的方案,只是細節上有了調整,例如新加入了鈦空灰
  • 官方承諾:K60至尊版將會首批升級MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版將會搭載天璣9200+處理器和獨顯芯片X7的同時,Redmi給出了官方承諾,K60至尊重大更新首批升級,會首批推送MIUI 15。也就是說雖然
  • 小米降噪藍牙耳機Necklace分享:聽一首歌 讀懂一個故事

    在今天下午的小米Civi 2新品發布會上,小米還帶來了一款新的降噪藍牙耳機Necklace,我們也在發布結束的第一時間給大家帶來這款耳機的簡單分享。現在大家能見到最多的藍牙耳機
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 6月安卓手機性價比榜:Note 12 Turbo斷層式碾壓

    6月份有一個618,雖然這是京東周年慶的日子,但別的電商也都不約而同的跟進了,反正促銷沒壞處,廠商和用戶都能滿意。618期間一些產品也出現了歷史低價,那么各個價位段的產品性價比
  • 一年經驗在二線城市面試后端的經驗分享

    忠告這篇文章只適合2年內工作經驗、甚至沒有工作經驗的朋友閱讀。如果你是2年以上工作經驗,請果斷劃走,對你沒啥幫助~主人公這篇文章內容來自 「升職加薪」星球星友 的投稿,坐
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 三分鐘白話RocketMQ系列—— 如何發送消息

    我們知道RocketMQ主要分為消息 生產、存儲(消息堆積)、消費 三大塊領域。那接下來,我們白話一下,RocketMQ是如何發送消息的,揭秘消息生產全過程。注意,如果白話中不小心提到相關代
  • 2299元起!iQOO Pad明晚首銷:性能最強天璣平板

    5月23日,iQOO如期舉行了新品發布會,除了首發安卓最強旗艦處理器的iQOO Neo8系列新機外,還在發布會上推出了旗下首款平板電腦——iQOO Pad,其最大的賣點
Top 主站蜘蛛池模板: 盱眙县| 新津县| 维西| 阿拉善右旗| 宁河县| 云霄县| 西峡县| 太保市| 佛教| 赫章县| 隆尧县| 乐东| 确山县| 雷山县| 阿瓦提县| 大连市| 宜丰县| 呼伦贝尔市| 巩义市| 邻水| 安平县| 乌兰察布市| 思南县| 堆龙德庆县| 雷州市| 抚远县| 台州市| 缙云县| 铜川市| 大洼县| 剑川县| 南京市| 海城市| 鹤山市| 龙岩市| 杭锦旗| 蒙城县| 平原县| 奉新县| 师宗县| 红河县|