专栏首页用户6517667的专栏浅析Minium,微信小程序自动化测试框架

浅析Minium,微信小程序自动化测试框架

来源:https://www.testwo.com/

微信发布了小程序的自动化测试框架Minium,提供了多种运行验证方式,其特点:

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

官方地址如下:https://git.weixin.qq.com/minitest/minium-doc/tree/master minium 是为小程序专门开发的自动化框架, 提供了 Python 和 JavaScript 版本。 使用 minium 可以进行小程序 UI 自动化测试, 但是 minium 的功能不止于仅仅是 UI 自动化, 甚至可以使用 minium 来进行函数的 mock, 可以直接跳转到小程序某个页面并设置页面数据, 做针对性的全面测试, 这些都得益于我们开放了部分小程序 API 的能力。 除此之外,小程序有部分组件使用了系统原生的组件,对于这部分的组件,我们也基于 uiautomator 和 wda 做了补充。

环境依赖

  • Python 3.x
  • 微信公共库版本 >= 2.7.3
  • 下载并安装稳定版微信开发者工具,工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html
  • 如果要测Android,请下载微信测试包,下载地址:http://dldir1.qq.com/weixin/android/wechat_0x2700069A_1460.apk

文档使用

Minium的文档是采用Nodejs编写的,因此想看文档还需要安装NodeJs的环境,如果你不知道怎么安装请自行查找。文档的安装:

npm i docsify-cli -g

npm i docsify-cli -g

然后checkout文档项目:

git clone https://git.weixin.qq.com/minitest/minium-doc

安装依赖:

 cd minium-docnpm install
本地部署:
 docsify serve .

然后通过浏览器访问 http://localhost:3000 即可以查看了。

框架依赖运行环境部署

首先你要先下载框架压缩包:https://git.weixin.qq.com/minitest/minium-doc/raw/master/minium/Python/dist/minium-0.0.2.zip 接下来,你要打开微信开发者工具的安全模式 然后安装Minium:

 pip3 install minium-0.0.2.zip


使用

首先你要通过命令行启动开发者工具提供了命令行 命令行 通过命令行调用安装完成的工具可执行文件,完成登录、预览、上传、自动化测试等操作。调用返回码为 0 时代表正常,为 -1 时错误。 命令行工具所在位置:

  • macOS: <安装路径>/Contents/MacOS/cliWindows: <安装路径>/cli.bat

命令行启动工具 -o, --open [projectpath]: 打开工具,如果不带 projectpath,只是打开工具。如果带 project path,则打开路径中的项目,每次执行都会自动编译刷新,并且自动打开模拟器和调试器。 projectpath 不能是相对路径。项目路径中必须含正确格式的 project.config.json 且其中有 appid 和 projectname 字段。示例: 打开工具

  • cli -o

打开路径 /Users/username/demo 下的项目

  • cli -o /Users/username/demo

输入如下命令:

path/to/cli --auto /miniprogram/project/path --auto-port 9420 # path/to/cli 是命令行工具所在位置:# macOS: <安装路径>/Contents/MacOS/cli# Windows: <安装路径>/cli.bat windows版本在安装之后默认会把cli加入到系统路径,可以先测试cli命令是否可用,如果可用,path/to/cli可以直接用cli替换# /miniprogram/project/path 是小程序工程的路径( Windows下面用 \\ 代替 \ )

本文分享自微信公众号 - 软件测试培训(iTestTrain),作者:软件测试培训

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 精准测试及其工具(连载3)

    1,将星云提供的lanyuan_v_3.sql导入到数据库中(右键新建lanyuan_v_3),如图29所示。

    小老鼠
  • 当我们谈论Unit Test时我们在谈论什么?

    直译:面向独立单元的测试方法。 单单这一句话我们心里有就有了疑问:什么是独立单元,或者什么样的代码才算一个独立单元? 为了回答这个问题,这里引用一下wikipe...

    小老鼠
  • 基于Django的电子商务网站开发(连载25)

    购物车模块包括“购物车中所有商品的显示”“添加商品进入购物车”“删除购物车中某种商品”“删除购物车中所有的商品”和“修改购物车中某种商品的数量”。

    小老鼠
  • 微信小程序的自动化测试框架

    官方地址如下:https://git.weixin.qq.com/minitest/minium-doc/tree/master

    Criss@陈磊
  • 微信小程序的自动化测试框架

    官方地址如下:https://git.weixin.qq.com/minitest/minium-doc/tree/master

    Criss@陈磊
  • 前后端多环境配置

    介绍一下前后端的多环境配置,前端使用的 Vue 框架,后端使用的是 SpringBoot 框架。

    wsuo
  • Flutter 学习笔记4-构建布局示例

    一行中有三个子元素,其中第一列子元素本身又是一列,包含两行文字。需要占用大量空间,所以它必须包装在 Expanded widget 中。

    七适散人
  • SpringBoot 实战 (十五) | 服务端参数校验之一

    估计很多朋友都认为参数校验是客户端的职责,不关服务端的事。其实这是错误的,学过 Web 安全的都知道,客户端的验证只是第一道关卡。它的参数验证并不是安全的,一旦...

    一个优秀的废人
  • 解决jar包冲突的简单办法

    解决jar包冲突的简单办法– 在使用log4j.properties时,pom中导入的一些jar会产生log4j类的冲突报错,以下是一个简单的pom配置:

    一滴水的眼泪
  • GitHub开学大礼包:近50种专业开发者工具,最高节省32万!

    GitHub推出学生礼包计划已经有6年了。至今已经为150多万学生提供了免费的最佳实践开发工具和培训。这个项目的初衷是帮助学生利用真实的工具进行实操来获取项目经...

    代码医生工作室

扫码关注云+社区

领取腾讯云代金券