当前位置:首页 > 科技  > 软件

Minium-小程序自动化测试框架

来源: 责编: 时间:2023-10-13 14:36:57 198观看
导读1、前言提起 UI 自动化测试,web 端常用 Selenium,手机端常用 Appium,那么很火的微信小程序可以用什么工具来进行自动化测试?本篇将介绍一款专门用于微信小程序的自动化测试工具 - minium。2、简介minium 是为小程序专门开

n2d28资讯网——每日最新资讯28at.com

1、前言

提起 UI 自动化测试,web 端常用 Selenium,手机端常用 Appium,那么很火的微信小程序可以用什么工具来进行自动化测试?本篇将介绍一款专门用于微信小程序的自动化测试工具 - minium。n2d28资讯网——每日最新资讯28at.com

2、简介

minium 是为小程序专门开发的自动化框架, 提供了 Python 和 JavaScript 版本。使用 minium 可以进行小程序 UI 自动化测试, 但是 minium 的功能不止于仅仅是 UI 自动化, 甚至可以使用 minium 来进行函数的 mock, 可以直接跳转到小程序某个页面并设置页面数据, 做针对性的全面测试。n2d28资讯网——每日最新资讯28at.com

特性:n2d28资讯网——每日最新资讯28at.com

  • 支持一套脚本,iOS & Android & 模拟器,三端运行
  • 提供丰富的页面跳转方式,看不到也能去得到
  • 可以获取和设置小程序页面数据,让测试不止点点点
  • 可以直接触发小程序元素绑定事件
  • 支持往 AppSerive 注入代码片段
  • 可以调用部分 wx 对象上的接口

官方文档:n2d28资讯网——每日最新资讯28at.com

https://run-noob.github.io/minium-doc-github/#/minium/Python/readme.n2d28资讯网——每日最新资讯28at.com

3、安装

环境要求(Python 版本):n2d28资讯网——每日最新资讯28at.com

Python 3.xn2d28资讯网——每日最新资讯28at.com

微信公共库版本 >= 2.7.3n2d28资讯网——每日最新资讯28at.com

安装 稳定版微信开发者工具n2d28资讯网——每日最新资讯28at.com

如果要测 Android,下载 微信测试包n2d28资讯网——每日最新资讯28at.com

安装:n2d28资讯网——每日最新资讯28at.com

微信开发者工具-设置-安全设置,开启安全模式。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

安装 minium.n2d28资讯网——每日最新资讯28at.com

pip install minium

快速上手.n2d28资讯网——每日最新资讯28at.com

使用开发者工具的命令行工具,输入命令打开测试小程序。n2d28资讯网——每日最新资讯28at.com

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

注:n2d28资讯网——每日最新资讯28at.com

这里的 --auto-port 填写 9420,不是开发者工具安全模式的端口。n2d28资讯网——每日最新资讯28at.com

确保开发者工具登录的微信号具备被测小程序的开发者权限。n2d28资讯网——每日最新资讯28at.com

/Applications/wechatwebdevtools.app/Contents/MacOS/cli 命令行工具所在位置。n2d28资讯网——每日最新资讯28at.com

Mac: <安装路径>/Contents/MacOS/clin2d28资讯网——每日最新资讯28at.com

Windows: <安装路径>/cli.batn2d28资讯网——每日最新资讯28at.com

/Users/wangmeng/WeChatProjects/testdemo 小程序工程的路径(例如官方的小程序示例)。n2d28资讯网——每日最新资讯28at.com

输入后,成功打开对应的小程序。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

命令行输出:Open project with automation enabled success,表示成功。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

确认开发者工具调试基础库版本 >= 2.7.3。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

打开 IDE,如 PyCharm,创建示例代码。n2d28资讯网——每日最新资讯28at.com

#!/usr/bin/env python# -*- coding: utf-8 -*-# 公众号:AllTests软件测试import miniummini = minium.Minium()system_info = mini.get_system_info()print(system_info)

执行结果,成功打印出系统信息。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

如果想在手机上运行脚本,可以点击开发者工具的真机调试,连接成功后,再次运行脚本,脚本就会在手机上面运行。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

连接成功。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

再次执行后,可以看到打印出的是手机上的系统信息。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

测试框架.n2d28资讯网——每日最新资讯28at.com

minium 提供一个基于 unittest 封装好的测试框架。n2d28资讯网——每日最新资讯28at.com

测试基类 MiniTest 会根据测试配置进行测试,minitest 向上继承了 unittest.TestBase。n2d28资讯网——每日最新资讯28at.com

示例代码,2条用例,每条用例都加上了断言。n2d28资讯网——每日最新资讯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条用例执行成功。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

自动生成 outputs 目录,将测试数据输出到 outputs 目录里,里面包含一个简易的测试报告。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

打开命令行,跳转到脚本项目目录里,输入:n2d28资讯网——每日最新资讯28at.com

python -m http.server 8080 -d outputs

浏览器中输入 http://localhost:8080/ 可以查看测试报告。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

执行日志。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

如果不想在 IDE 上运行,只想在命令行上运行用例。n2d28资讯网——每日最新资讯28at.com

在项目的根目录上创建 suite.json 文件。n2d28资讯网——每日最新资讯28at.com

文件内容:n2d28资讯网——每日最新资讯28at.com

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

项目结构,case 目录存放测试用例。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

打开命令行,跳转到脚本项目目录里(testdemo123 编写的脚本项目),输入:n2d28资讯网——每日最新资讯28at.com

miniruntest -s suite.json

加载用例开始执行。n2d28资讯网——每日最新资讯28at.com

n2d28资讯网——每日最新资讯28at.com

如果想在手机上运行脚本(如 Android),只需要在用例目录下创建 config.json 配置文件即可。n2d28资讯网——每日最新资讯28at.com

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

然后连接手机,并且保证 adb devices 能够识别到手机,之后命令行输入执行命令就可以了。n2d28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-13292-0.htmlMinium-小程序自动化测试框架

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 直播流⻚⾯内存优化⽅案

下一篇: 商业智能在供应链管理中的作用

标签:
  • 热门焦点
  • 三言两语说透柯里化和反柯里化

    三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • ESG的面子与里子

    ESG的面子与里子

    来源 | 光子星球撰文 | 吴坤谚编辑 | 吴先之三伏大幕拉起,各地高温预警不绝,但处于厄尔尼诺大&ldquo;烤&rdquo;之下的除了众生,还有各大企业发布的ESG报告。ESG是&ldquo;环境保
  • 当家的盒马,加速谋生

    当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己&ldquo;当家&rdquo;的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 网红炒股不为了赚钱,那就是耍流氓!

    网红炒股不为了赚钱,那就是耍流氓!

    来源:首席商业评论6月26日高调宣布入市,网络名嘴大v胡锡进居然进军了股市。在一次财经媒体峰会上,几个财经圈媒体大佬就&ldquo;胡锡进炒股是否知道认真报道&rdquo;展开讨论。有
  • 东方甄选单飞:有些鸟注定是关不住的

    东方甄选单飞:有些鸟注定是关不住的

    作者:彭宽鸿来源:华尔街科技眼&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;&zwj;东方甄选创始人俞敏洪带队的&ldquo;7天甘肃行&rdquo;直播活动已在近日顺利收官。成立后一
  • 冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    冯提莫签约抖音公会 前“斗鱼一姐”消失在直播间

    来源:直播观察提起&ldquo;冯提莫&rdquo;这个名字,很多网友或许听过,但应该不记得她是哪位主播了。其实,作为曾经的&ldquo;斗鱼一姐&rdquo;,冯提莫在游戏直播的年代影响力不输于现
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  •  首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    首发天玑9200+ iQOO Neo8系列发布首销售价2299元起

    2023年5月23日晚,iQOO Neo8系列正式发布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro强悍登场,限时售价3099元起;价位段最强性能手机iQOO Neo8同期上市
  • AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    AI艺术欣赏体验会在上海梅赛德斯奔驰中心音乐俱乐部上演

    光影交错的镜像世界,虚实幻化的视觉奇观,虚拟偶像与真人共同主持,这些场景都出现在2019世界人工智能大会的舞台上。8月29日至31日,“AI艺术欣赏体验会”在上海
Top