评论

Minium项目实践

Minium项目实践,实践过程中遇到的问题总结

在公司的小程序自动化过程中遇到很多问题,感谢微信群的大佬热心解答,终于落地完成,也想记录下来,如有问题,请不吝赐教。

以下介绍的小程序名称以MP来代替,均来自项目实践过程中遇到的问题总结,比较接地气。

一、准备工作:

参考:https://minitest.weixin.qq.com/#/minium/Python/introduction/quick_start

python>=3.8

微信开发者工具

小程序源码

成为小程序对应的appid的开发者

准备ngnix环境(查阅测试报告时需要)

jenkins环境(集成构建时需要)

二、MP小程序自动化框架介绍

框架整体思路采用page object模式,将元素操作和测试用例分离:

basepage完成控件操作封装,元素查找,等待,输入,页面跳转,mock,hook, 截图,等封装

pages包含所有页面的操作,继承basepage

basecase是基础用例,其中setup负责登录操作

testcases包含所有用例,每个用例继承basecase

Config.json 开发者工具路径,小程序源码路径等配置

Suite.json配置需要运行的用例

Run.py运行脚本

三、特殊场景操作

3.1 toast获取

toast需要使用hook  wx.showToast方法,来监听toast弹出

 

3.2 模态弹框操作

模态弹框,属于native控件,无法直接定位操作,需要用到 native方法

3.3 文件上传, 需要使用mock模拟上传

 

3.4 滚动选择器picker操作

小程序中时间控件,省市区控件一般选择使用picker控件,自动化测试中先定位到picker元素,再调用picker的trigger触发选择操作。

时间控件和省市区有点区别:

时间控件trigger参数为时间戳,2023-06-30 08:52对应的时间戳1682873520000

单列和多列滚动器,主要在value值不一样

 

3.5 input控件失去焦点触发事件

有些输入框,输入完了,再移除焦点的时候有事件触发,例如

3.6 条件等待,等待属性出现

例如在上传图片页面,需要等待上传完了,才有一个‘提交’按钮,

那么就需要等待,判断按钮的 @aria-disabled='false'属性才可以点击。

3.7 手机号快捷登录

3.8 模拟扫描二维码

查看小程序源码:使用的wx.scanCode方法进行扫描二维码

在做自动化的时候,就需要使用Mock方法模拟扫描。

 

3.9 相机授权

进件上传图片的地方需要调用mock方法进行相机授权

三、本地运行与日志查看

1.运行suit.json:   minitest -c config.json -g -s suite.json

2.查看报告: python -m http.server 8089 -d outputs(使用该命令生成的报告,命令行退出,报告就查看不到,以下介绍ngnix部署报告)

配置ngnix作为web容器

1. 下载nginx-1.24.,解压

2. 修改\nginx-1.24.0\conf\nginx.conf配置文件

3. root处修改成自己的outputs目录

4.启动nginx    start nginx,就可以查看到报告了

 

 

 

 

最后一次编辑于  2023-12-08  
点赞 2
收藏
评论

7 个评论

  • W
    W
    2023-12-11

    光是搞minium乱七八糟的配置都搞了好久,在你这又看到了还需要ngnix的环境,真的头大了 不知道从哪里搞起

    2023-12-11
    赞同 1
    回复 2
  • L.、
    L.、
    星期二 10:21

    想问下 ,怎么可以获取到 测试结果数据呢,本次用例数和失败数这些。

    星期二 10:21
    赞同
    回复
  • 幻风
    幻风
    05-24

    怎么部署到服务器上跑起来

    05-24
    赞同
    回复
  • 小五
    小五
    01-09

    写的很详细,但有个问题想请教下,随着生成的报告越来越多,如果想定期删除的话该怎么做呢?

    01-09
    赞同
    回复
  • 小椿
    小椿
    01-04

    关注。

    01-04
    赞同
    回复
  • Jianbo
    Jianbo
    2023-12-08

    关注。

    2023-12-08
    赞同
    回复
  • YY
    YY
    2023-12-08

    很赞呀,示例代码可以放在 https://git.weixin.qq.com/ 上,方便大家一起学习

    2023-12-08
    赞同
    回复 1
    • jasmin
      jasmin
      2023-12-11
      不好意思,因为是公司项目,不适合上传全部业务代码,只是把重点部分提取出来供有需者参考
      2023-12-11
      回复
登录 后发表内容