成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 測試
Minium 是為小程序?qū)iT開發(fā)的自動化框架, 提供了 Python 和 JavaScript 版本。使用 Minium 可以進(jìn)行小程序 UI 自動化測試, 但是 Minium 的功能不止于僅僅是 UI 自動化, 甚至可以使用 Minium 來進(jìn)行函數(shù)的 Mock, 可以直接跳轉(zhuǎn)到小程序某個(gè)頁面并設(shè)置頁面數(shù)據(jù), 做針對性的全面測試。

1、前言

提起 UI 自動化測試,web 端常用 Selenium,手機(jī)端常用 Appium,那么很火的微信小程序可以用什么工具來進(jìn)行自動化測試?本篇將介紹一款專門用于微信小程序的自動化測試工具 - minium。

2、簡介

minium 是為小程序?qū)iT開發(fā)的自動化框架, 提供了 Python 和 JavaScript 版本。使用 minium 可以進(jìn)行小程序 UI 自動化測試, 但是 minium 的功能不止于僅僅是 UI 自動化, 甚至可以使用 minium 來進(jìn)行函數(shù)的 mock, 可以直接跳轉(zhuǎn)到小程序某個(gè)頁面并設(shè)置頁面數(shù)據(jù), 做針對性的全面測試。

特性:

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

官方文檔:

https://run-noob.github.io/minium-doc-github/#/minium/Python/readme.

3、安裝

環(huán)境要求(Python 版本):

Python 3.x

微信公共庫版本 >= 2.7.3

安裝 穩(wěn)定版微信開發(fā)者工具

如果要測 Android,下載 微信測試包

安裝:

微信開發(fā)者工具-設(shè)置-安全設(shè)置,開啟安全模式。

安裝 minium.

pip install minium

快速上手.

使用開發(fā)者工具的命令行工具,輸入命令打開測試小程序。

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

注:

這里的 --auto-port 填寫 9420,不是開發(fā)者工具安全模式的端口。

確保開發(fā)者工具登錄的微信號具備被測小程序的開發(fā)者權(quán)限。

/Applications/wechatwebdevtools.app/Contents/MacOS/cli 命令行工具所在位置。

Mac: <安裝路徑>/Contents/MacOS/cli

Windows: <安裝路徑>/cli.bat

/Users/wangmeng/WeChatProjects/testdemo 小程序工程的路徑(例如官方的小程序示例)。

輸入后,成功打開對應(yīng)的小程序。

命令行輸出:Open project with automation enabled success,表示成功。

確認(rèn)開發(fā)者工具調(diào)試基礎(chǔ)庫版本 >= 2.7.3。

打開 IDE,如 PyCharm,創(chuàng)建示例代碼。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試

import minium

mini = minium.Minium()
system_info = mini.get_system_info()
print(system_info)

執(zhí)行結(jié)果,成功打印出系統(tǒng)信息。

如果想在手機(jī)上運(yùn)行腳本,可以點(diǎn)擊開發(fā)者工具的真機(jī)調(diào)試,連接成功后,再次運(yùn)行腳本,腳本就會在手機(jī)上面運(yùn)行。

連接成功。

再次執(zhí)行后,可以看到打印出的是手機(jī)上的系統(tǒng)信息。

測試框架.

minium 提供一個(gè)基于 unittest 封裝好的測試框架。

測試基類 MiniTest 會根據(jù)測試配置進(jìn)行測試,minitest 向上繼承了 unittest.TestBase。

示例代碼,2條用例,每條用例都加上了斷言。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 公眾號:AllTests軟件測試

import minium
import time

class 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("指示點(diǎn)", 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()

執(zhí)行結(jié)果,2條用例執(zhí)行成功。

自動生成 outputs 目錄,將測試數(shù)據(jù)輸出到 outputs 目錄里,里面包含一個(gè)簡易的測試報(bào)告。

打開命令行,跳轉(zhuǎn)到腳本項(xiàng)目目錄里,輸入:

python -m http.server 8080 -d outputs

瀏覽器中輸入 http://localhost:8080/ 可以查看測試報(bào)告。

執(zhí)行日志。

如果不想在 IDE 上運(yùn)行,只想在命令行上運(yùn)行用例。

在項(xiàng)目的根目錄上創(chuàng)建 suite.json 文件。

文件內(nèi)容:

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

項(xiàng)目結(jié)構(gòu),case 目錄存放測試用例。

打開命令行,跳轉(zhuǎn)到腳本項(xiàng)目目錄里(testdemo123 編寫的腳本項(xiàng)目),輸入:

miniruntest -s suite.json

加載用例開始執(zhí)行。

如果想在手機(jī)上運(yùn)行腳本(如 Android),只需要在用例目錄下創(chuàng)建 config.json 配置文件即可。

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

然后連接手機(jī),并且保證 adb devices 能夠識別到手機(jī),之后命令行輸入執(zhí)行命令就可以了。

責(zé)任編輯:姜華 來源: AllTests軟件測試
相關(guān)推薦

2021-06-26 07:40:21

前端自動化測試Jest

2009-08-19 09:00:48

單元測試框架自動化測試

2017-12-24 21:00:10

自動化測試測試框架敏捷

2023-05-18 14:01:00

前端自動化測試

2011-06-03 17:06:09

自動化測試

2019-04-18 09:00:00

Java自動化測試框架

2020-04-28 09:00:00

測試測試自動化

2020-09-14 07:00:00

測試自動化框架

2023-02-11 21:14:58

自動化測試框架

2023-05-08 15:59:27

UI自動化腳本鴻蒙

2023-09-13 11:40:12

2019-04-22 09:00:00

Python框架自動化測試

2022-07-05 08:26:10

Python報(bào)表自動化郵箱

2022-09-14 23:14:26

前端自動化測試工具

2013-05-16 10:58:44

Android開發(fā)自動化測試

2014-04-16 14:15:01

QCon2014

2012-02-27 17:34:12

Facebook自動化

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2022-02-17 10:37:16

自動化開發(fā)團(tuán)隊(duì)預(yù)測

2021-08-17 09:00:00

架構(gòu)PythonWeb
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91精品国产91久久久久游泳池 | 国产一区二区三区在线看 | 欧美成人精品一区二区男人看 | 国产精品一区视频 | 国产乱肥老妇国产一区二 | 天天干天天操 | 一区二区三区在线播放 | 亚洲综合视频一区 | 国产小视频自拍 | 久久久精品一区二区三区 | 日韩电影在线一区 | 日本综合在线观看 | 亚洲国产成人av好男人在线观看 | h小视频| 亚洲一区欧美一区 | 久久影音先锋 | 一区二区视频在线观看 | 久久伦理中文字幕 | 欧美黄色绿像 | 亚洲一区精品在线 | 九九热re | 国产精品免费在线 | 日韩在线一区二区 | 日韩在线h| 午夜爱爱毛片xxxx视频免费看 | 欧美日韩亚洲一区二区 | 91亚洲国产成人久久精品网站 | 国产精品毛片一区二区在线看 | 欧美视频成人 | 精品一区二区不卡 | 天天干天天色 | 超碰成人免费 | 91久久国产综合久久 | 国产精品久久久久久久久久久久冷 | 日韩精品一区二区三区免费观看 | 日韩欧美国产一区二区三区 | 亚洲视频免费观看 | 在线午夜电影 | 香蕉视频一区二区 | 国产精品99免费视频 | 二区不卡 |