Minium Automation notes

Minium Automation

1、移动应用分类和测试

应用分类
  • Web app

    • 指移动端的web浏览器,类似于PC 段的web浏览器

    • auto test,类似也web portal

  • Native app

    • 指移动端的原生应用,Android --> apk, ios --> ipa

    • auto test: 可以使用appium / Airtest 跨平台工具

  • Hybrid App

    • 介于web App 和 Native app 间的一种app形式。

    • 小程序是特殊的混合应用,在混合应用的基础上加了微信的逻辑

    • auto test:

      • 对于Native container 的测试,可能用到uiautomator2这种原生测试框架

      • 对container中的HTML5的测试,需要用到web测试工具

  • 微信公众号 --> H5 页面

微信小程序测试难点
  • 跨平台

    • 小程序实际是跨平台的产品(IDE[微信开发者工具], Android,IOS),已有测试工具,平台覆盖度不足

  • 兼容性问题

    • 小程序底层运行内核多样化(腾讯x5, 原生webview 内核等),可能找不到对应工具

    • 小程序是复杂的混合应用,由微信客户端支撑,本身涵盖了原生和小程序两种实现形式

    • 小程序内还能嵌入H5页面,导致自动化测试难度高

技术选型
  • 由于小程序的特殊性:混合应用+微信生态

  • 市面已有技术 selenium,appium,airtest 存在不足

  • minium:

    • 由微信团队官方推出

    • 应对复杂的机型和微信版本

    • 环境:python + 微信开发者工具 + 源码

    • 运行原理: 客户端python 代码:发送指令 --> 开发者工具,接收指令,模拟人工操作

2、IDE环境准备

image-20230129105624388

使用python3.9+minitest框架来实现小程序自动化

  1. 下载微信开发者工具,官方下载地址,根据系统OS选择匹配的版本https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

  2. 安装开发这工具,根据提示一路点击下一步直到安装完成即可

  3. 启动开发者工具,使用微信扫码二维码登录

  4. 打开安全模式: 设置 -> 安全设置 -> 服务端口: 打开

  5. 安装minium:python版本必须为3.8及以上,低版本的python不支持,需要升级。 自动安装:pip3 install minium 或者手动安装:pip3 install https://minitest.weixin.qq.com/minium/Python/dist/minium-latest.zip 或者解压之后安装,进入解压后的路D:\minium-1.3.1: python setup.py install

  6. 环境监察:minitest -v 如果出现一下内容,则表示安装成功

    {'version': '1.3.1', 'revision': '052c6fed6d73aa60e5624c16e2436d3b0111dec1', 'branch': 'master', 'update_at': '2022-12-28 17:21:26'}

    否则,出现'minitest' is not recognized as an internal or external command,operable program or batch file.

    这是由于使用的自动安装方式,改为手动安装python setup.py install之后,minitest -v 正常显示版本

环境准备完毕!

3、开始使用

  • 编写配置文件config.json

    • 告诉minium要运行在什么环境,微信开发者位置,测试哪个小程序

      {
      "dev_tool_path": "",
          "project_path":"",
          "platform":"ide"
      }
  • python文件 **.py

    • 使用minium模块,写对应的指令

  • minitest--> 执行微信小程序自动化脚本

    在文件路劲下执行指令

    minitest -c .\config.json -m serach_test.py -g

    读取config.json文件,发送serach_test.py里编写的命令,发送给微信开发者工具,最后生成报告

  • 业务流程抽象-- 伪代码

    • 人的思维>操作步骤>翻译为机器的操作步骤

  • 利用编码工具编写脚本 ,完成一序列的操作

posted @ 2023-02-11 16:52  逆流的鱼2016  阅读(31)  评论(0编辑  收藏  举报