首页 > 编程语言 >小程序自动化测试框架Minium——框架介绍和环境搭建

小程序自动化测试框架Minium——框架介绍和环境搭建

时间:2023-04-27 16:23:18浏览次数:36  
标签:Minium 框架 Python 微信 cli 开发者 test minium 搭建

转自:https://blog.csdn.net/wessonlan/article/details/125360537

一、Minium 简介

minium 是微信团队为小程序专门开发的自动化框架,我们可以用它来做小程序的UI自动化测试,但是它的能力却不仅仅在于UI自动化。

正是得益于官方订制打造,所以对于小程序很多原生内容和特性的支持自然也是非常独到的,比如:

  • 直接对函数进行 mock
  • 直接跳转到小程序某个页面
  • 直接设置页面数据

这些能力是其他的一些工具做不到的。不仅如此,还有诸多其他特性也非常的吸引人:

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

二、环境搭建

主要是三大件:

  • Python 3.8及以上
  • 微信开发者工具
  • 微信版本 >= 7.0.7

语言是基于Python来的,而且框架中某些接口也是继承了unittest.TestCase,所以对于熟悉Python和unittest的童鞋来说,无疑又降低了上手难度。

如果是小白的话其实也不用过于担心,可以抽时间快速学习一下基础知识也可以上手实操。学习资源搜索引擎里就太多啦,这里放置一个菜鸟教程的学习链接。

Python 和 微信开发者工具的下载传送门:

  • Python:下载Python 3.8即可。
  • 微信开发者工具:下载稳定版即可。

1. 安装 minium 框架

在Python和开发者工具都安装完成后,就可以安装minium框架了。打开cmd输入命令:

pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip

 执行以下命令查看安装版本:

minitest -v

2.设置开发者工具

  • 安装微信开发者工具(我本机使用的版本是1.05.2103200),并打开安全模式: 设置 -> 安全设置 -> 服务端口: 打开
  • 在工具栏菜单中点击设置,选择项目设置,切换到“本地设置”,将调试基础库选择大于2.7.3的库; 

3.开启被测试项目的自动化端口号

开发者工具自动化能力检查,命令行输入:

"path/to/cli" auto --project "path/to/project" --auto-port 9420

注意这里不是直接复制粘贴执行,这里:

path/to/cli:指代开发者工具cli命令路径。macOS: <安装路径>/Contents/MacOS/cli, Windows: <安装路径>/cli.bat
path/to/project: 指代填写存放小程序源码的目录地址,文件夹中需要包含有project.config.json文件
以我win10本地为例最后输入的检查命令:

"D:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat" auto --project "D:\my-miniprogram\miniprogram-demo" --auto-port 9420

 4.代码示例

项目结构

 first_test.py

import minium


class ComponentTest(minium.MiniTest):
    def test_ui_op(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()
        print("test_ui_op执行测试")

suite.json

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

 config.json

这里替换上你自己本地的对应路径。

{
  "project_path": "D:\\my-miniprogram\\miniprogram-demo",
  "dev_tool_path": "D:\\Program Files (x86)\\Tencent\\微信web开发者工具\\cli.bat",
  "debug_mode": "warn"
}

在项目根目录下,输入命令:

minitest -m test.first_test -c config.json -g -s suite.json

可以看到微信开发者工具在执行代码里的动作。

控制台也有对应的输出。

 测试完成后,开发者工具里的项目会自动关闭掉。

 5.测试报告

在项目中的outputs里存放了测试结果,我们可以方便的生成一份网页版的报告

python -m http.server 12345 -d outputs

 

标签:Minium,框架,Python,微信,cli,开发者,test,minium,搭建
From: https://www.cnblogs.com/Chilam007/p/17353557.html

相关文章

  • 基于Linux系统的PXE搭建方法
    本文分享自天翼云开发者社区《基于Linux系统的PXE搭建方法》,作者:t***n 一、底层环境准备1、安装RedHat7.6系统2、关闭防火墙和Selinuxsystemctlstopfirewalldchkconfigfirewalldoffvim/etc/sysconfig/selinux    修改SELINUX=disabled3、配置本地yum源vim/e......
  • iis搭建discuz7.2 的曲折经历 y以及各种报错的处理
    环境windowsserver 2008R2  mysql 5.1.73 iis6 php5.6安装PHP解压PHP,我给的路径是C:\Users\Administrator\Desktop\php,大伙儿随意把php.ini-production改名为php.ini(用于开发环境的话,就改那个development)修改扩展路径extension_dir="./ext"启用MySQL扩展(即去......
  • 直播平台搭建源码,使用EasyExcel实现导入导出功能
    直播平台搭建源码,使用EasyExcel实现导入导出功能使用,添加依赖 <dependencies> <!--https://mvnrepository.com/artifact/com.alibaba/easyexcel--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>......
  • .NET使用一行命令轻松生成EF Core项目框架
    dotnetef是EntityFrameworkCore(EFCore)的一个命令行工具,用于管理EFCore应用程序的数据库和代码。除了提供管理数据库的命令之外,dotnetef还可以生成和管理实体和上下文代码。本文将介绍如何使用dotnetef动态生成代码。一、环境准备1、项目准备用vs2022新建一个.NET6的asp.......
  • uniapp脚手架项目抖音小程序中使用了uView框架中的IndexList 索引列表组件报错uni.req
    解决办法如果您是vue-cli模式的项目,还需要在项目根目录的vue.config.js文件中进行如下配置://vue.config.js,如没有此文件则手动创建module.exports={transpileDependencies:['uview-ui']}......
  • Hadoop集群搭建总结
    对这两天搭建Hadoop集群做个经验总结master节点:Ubuntu22.04,也就是我的台式机主机slave节点:Debian11,通过VMware虚拟出来(1)集群节点设置和角色分配master  namenode,datanode,resourcemanager,nodemanagerslave0  secondarynamenode,datanode,nodem......
  • laravel框架中上传图片,并在本地显示
    1//处理文件上传2if($request->hasFile('image')&&$request->file('image')->isValid()){3//对上传文件做必要处理4$filename=date('ymdHis').rand(100000,999999).'.'.$request->f......
  • 应用scrapy爬虫框架
    Scrapy是一个基于Python的开源网络爬虫框架,它可以帮助我们快速、高效地抓取网页数据,并支持数据的自动化处理、存储和导出。Scrapy提供了丰富的扩展机制,可以轻松地实现各种自定义需求。Scrapy的基本使用流程:1、安装Scrapy框架2、创建一个Scrapy爬虫项目3、编写爬虫代码,定义要抓......
  • Django框架——ORM执行SQL语句、神奇的双下划线、外键字段的创建、跨表查询、进阶操作
    ORM执行SQL语句有时候ORM的操作效率可能偏低我们是可以自己编写SQL的方式一: models.User.objects.raw('select*fromapp01_user')方式二: fromdjango.dbimportconnectioncursor=connection.curson()cursorexecute('selectnamefromapp01_user')prin......
  • windows驱动开发环境搭建
    下载WDK,我是在http://www.microsoft.com/en-us/download/details.aspx?id=11800下载的,版本7.1.0。下载VisualDDK,下载地址:http://visualddk.sysprogs.org/download/先安装WDK,然后安装VisualDDK,都直接点下一步就可以了,没有特别设置。安装好后,打开VS2010,会出现VisualDDK的项目类型,新......