专栏首页用户7466307的专栏小程序测试框架之minium入门

小程序测试框架之minium入门

一.介绍

  • minium是腾讯为小程序和小游戏开发的自动化测试框架
  • 支持语言:python,JavaScript
  • 功能:ui自动化,函数mock,脚本多端运行
  • 项目源代码地址: https://git.weixin.qq.com/minitest/minium-doc/tree/master
  • 优势:
    • 专属小程序自动化,稳定性好
    • 环境搭建简单
    • 功能比较丰富
    • 兼容性强

二.环境配置

  • 在使用前需注册微信小程序开发者帐号
  • 下载源代码zip包解压安装到python的lib目录下
  • 安装微信开发者工具: https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html
  • 安装docsify库,类似于vue的脚手架 npm i docsify-cli -g
  • 将minium源码从微信git库中checkout下来,指令为: git clone https://git.weixin.qq.com/minitest/minium-doc
  • 进入cmd环境给minium目录里面安装依赖,指令为: cd minium-doc npm install -g
  • 本地部署(需要在minium目录下运行该指令)指令为: docsify serve . (注意:此处有个点)
  • 运行 浏览器访问 http://localhost:3000 即可查看官方文档

三.使用

  • 运行开发者工具
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下面用 \\ 代替 \ )minium框架小程序自动化测试
  • 执行后界面如下:
  • 进入开发者工具后需点击界面的设置-项目设置-推送版本

minium 通过 WXSS 选择器来定位元素的,目前小程序仅支持以下的选择器:

选择器

样例

样例描述

.class

.intro

选择所有拥有 class="intro" 的组件

#id

#firstname

选择拥有 id="firstname" 的组件

element

view

选择所有 view 组件

element, element

view, checkbox

选择所有文档的 view 组件和所有的 checkbox 组件

::after

view::after

在 view 组件后边插入内容

::before

view::before

在 view 组件前边插入内容

类比于selenium,它其实也是通过对元素的点击驱动小程序自动化

//定位并点击

import time
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()
//测试用例,测试框架继承自unittest

import minium

@minium.ddt_class
class FirstTest(minium.AssertBase):

  @minium.exit_when_error
  def test_init(self):
      """
      这条用例失败会退出测试计划,minium.exit_when_error可以用来修饰初始化用例
      """
      self.assertEqual(1, 1)

  @minium.ddt_case(1, 2, 3)
  def test_ddt(self, value):
      """
      数据驱动测试,这个case会自动展开成3条用例:
      test_ddt_1
      test_ddt_2
      test_ddt_3
      """
      self.assertIn(value, [1, 3])

本文分享自微信公众号 - 软件测试test(gh_d29759b02f67)

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在Python中初始化:您需要了解的一切

    Python是当今业界最流行的编码平台之一。从业余爱好者到专业人士,每个人都使用Python编写代码并制作用于移动和Web的应用程序。作为这样一个通用平台,有些...

    用户7466307
  • 手把手教你利用Python网络爬虫获取链家网的房产信息

    随着人们生活方式的的提高,房子成为了我们必不可少的一部分。而网上的信息太过于复杂,为了了解最近房价的变化趋势。小编以链家这个网站为例,抓取房价的信息。

    用户7466307
  • 增加并行测试的好处

    快速质量是大多数CIO的新口头禅。作为响应,Development Operations已经发展了其软件生命周期-变得更加敏捷和更具可扩展性,同时试图提供完美的...

    用户7466307
  • activity的启动模式和栈管理

     在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享...

    xiangzhihong
  • GitHub 下载东西很慢?不存在的~!

    GitHub 是每一个程序员经常访问的网站之一,其实程序员的网站还有很多,比如 StackOverFlow。一提到 GitHub,大家第一个想到的一定是 clo...

    不可言诉的深渊
  • Android-Q 对 startActivity() 做了限制,怎么适配?

    今天来聊聊“Android Q 中后台禁止启动 Activity 对现有国内 App 中启动页设计的影响”这个话题,再聊聊 Android Q 限制后台启动 A...

    Android技术干货分享
  • Android-Q 对 startActivity() 做了限制,怎么适配?

    当时由于主题所限,没有聊到技术细节。今天就延续这个话题,再聊聊 Android Q 限制后台启动 Activity 的具体细节。

    CCCruch
  • Android-Q 对 startActivity() 做了限制,怎么适配?

    前几天写了篇文章,描述了 Android Q 中,后台禁止启动 Activity 对现有国内 App 中启动页设计的影响。

    程序亦非猿
  • 记一次非常规方法对接硬件设备(Grason Stadler GSI 61)

    厂家提供的自带软件是通过USB虚拟串口,每次程序启动传输是通过再次虚拟新的串口传输数据...所以我们无法捕获数据,更无法模拟客户端软件.

    KurtNiu
  • Python编程思想(24):类的实例方法

    对于在类中定义的实例方法,Python会自动绑定方法的第1个参数(通常是self),第1个参数总是指向调用该方法的对象。由于实例方法(包括构造方法)的self参...

    蒙娜丽宁

扫码关注云+社区

领取腾讯云代金券