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

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

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

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

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

1、前言

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

2、簡介

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

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

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

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

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

3、安裝

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

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

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

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

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

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

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

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

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

pip install minium

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

示例代碼,2條用例,每條用例都加上了斷言。duL28資訊網——每日最新資訊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條用例執行成功。duL28資訊網——每日最新資訊28at.com

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

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

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

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

python -m http.server 8080 -d outputs

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

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

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

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

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

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

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

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

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

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

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

miniruntest -s suite.json

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

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

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

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

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

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

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

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

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

標簽:
  • 熱門焦點
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數量是否小于或等于一個數字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • 得物寵物生意「狂飆」,發力“它經濟”

    作者|花花小萌主近日,得物宣布正式上線寵物鑒別,通過得物App內的&ldquo;在線鑒別&rdquo;,可找到鑒別寵物的選項。通過上傳自家寵物的部位細節,就能收獲擁有專業資質認證的得物鑒
  • 騰訊VS網易,最卷游戲暑期檔,誰能笑到最后?

    作者:無銹缽來源:財經無忌7月16日晚,上海1862時尚藝術中心。伴隨著幻象的精準命中,碩大的熒幕之上,比分被定格在了14:12,被寄予厚望的EDG戰隊以絕對的優勢戰勝了BLG戰隊,拿下了總決
  • 微博大門常打開,迎接海外畫師漂洋東渡

    作者:互聯網那些事&ldquo;起猛了,我能看得懂日語了&rdquo;。&ldquo;為什么日本人說話我能聽懂?&rdquo;&ldquo;中文不像中文,日語不像日語,但是我竟然看懂了&rdquo;&hellip;&hell
  • 網傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網友@長三角行健者爆料稱,據經銷商集團反饋,小米汽車目前已經開始了交付中心的篩選工作,要求候選場地至少有120個車位,建筑不能低
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • AI芯片初創公司Tenstorrent獲三星和現代1億美元投資

    Tenstorrent是一家由芯片行業資深人士Jim Keller領導的加拿大初創公司,專注于開發人工智能芯片,該公司周三表示,已經從現代汽車集團和三星投資基金等
  • 半導體需求下滑 三星電子DS業務部門今年營業虧損預計超10萬億韓元

    7月17日消息,據外媒報道,去年下半年開始的半導體需求下滑,影響到了三星電子、SK海力士、英特爾等諸多廠商,營收明顯下滑,部分廠商甚至出現了虧損。作為
Top 主站蜘蛛池模板: 调兵山市| 会理县| 新乡市| 剑阁县| 南漳县| 梁河县| 印江| 浦北县| 浪卡子县| 确山县| 黄冈市| 罗甸县| 上蔡县| 蒙山县| 特克斯县| 商都县| 全州县| 旅游| 辛集市| 馆陶县| 安福县| 栖霞市| 冕宁县| 南丰县| 康平县| 洪雅县| 武川县| 老河口市| 娱乐| 固始县| 巴林右旗| 醴陵市| 塔河县| 桂东县| 宣武区| 康马县| 司法| 长治市| 福建省| 郑州市| 喀喇|