微信小程序自动化测试框架 Minium—— 测试进阶

前文 微信小程序自动化测试框架 Minium——快速开始 主要介绍了Minium的安装和使用,以及可能遇到的问题和解决方案。本文主要介绍使用Minium框架测试进阶,测试计划的配置及执行、真机调试。小程序demo参考 miniprogram-demo

测试计划

配置测试计划

测试计划用例名和包名需要配置在 suit.json

{
  "pkg_list": [
    {
      "case_list": [
        "test_*"
      ],
      "pkg": "test.*_test"
    }
  ]
}
基础配置

config.json 配置部分基础信息,如小程序运行的平台、小程序代码的项目路径、微信开发者工具安装路径

{
  "project_path":"xxx",     // 小程序项目路径
  "dev_tool_path":"xxx",  // 微信开发者工具安装路径
  "platform": "ide"
}
测试用例
# `first_test.py`
class FirstTest(minium.MiniTest):
    def test_get_system_info(self):
        sys_info = self.mini.get_system_info()
        self.assertIn("SDKVersion", sys_info)

    def test_ui_op(self):
        # 页面跳转
        self.app.switch_tab("/pages/index/index")
        # 元素定位
        ele = self.page.get_element("/page/view/navigator[3]/button")
        # 元素点击
        ele.click()
        time.sleep(3)
        # 判断元素是否存在
        self.assertTrue(self.page.element_is_exists("/page/view[9]/mytest//view", max_timeout=5))
        # 打印元素文本
        inner = self.page.get_element("/page/view[9]/mytest//view").inner_text
        self.logger.info("UI Case %s", inner)


# `second_test.py`
class SecondTest(minium.MiniTest):
    def test_log(self):
        self.logger.info("【info级别日志】")
        self.logger.debug("【debug级别日志】")
        self.logger.warn("【warn级别日志】")

执行测试计划

在项目路径下执行以下命令

minitest -s suite.json -c config.json -g

在项目目录下运行命令 python3 -m http.server 12345 -d outputs,在浏览器上访问 http://localhost:12345,查看测试报告

在这里插入图片描述

常见问题
  • 出现新执行的测试结果没有更新问题
    由于本地浏览器有缓存问题,Chrome浏览器打开控制台 F12,点击 设置,在 偏好设置网络 中勾选 停用缓存(在开发者工具已打开时)

在这里插入图片描述

真机调试

真机调试需 IDE 依赖,支持 USB 真机调试。Android调试首先需安装安装ADB工具(Android调试桥),获取安卓设备信息。iOS需安装 libmobiledevice,配置WebDriverAgent,获取设备信息。

安卓真机调试,ADB工具(Android调试桥)可以直接操作管理android模拟器或者真实的android设备
执行 adb devices,获取设备序列号

在这里插入图片描述

config.json 配置设备信息,如果只有一台手机在线,那么只需要把 platform 配置成 Android 即可, 而如果多台设备连接到手机,配置文件需要制定设备的序列号,如:

{
  "project_path":"xxx",     // 小程序项目路径
  "dev_tool_path":"xxx",  // 微信开发者工具安装路径
  "platform": "android",
  "device_desire": {
    "serial": "xxx"
   }

iOS设备信息配置详情可参考 真机测试配置

常见问题
  1. 配置了真机环境但无法拉起真机上的小程序,请排查是否使用了真机调试2.0(暂不支持自动化),如果是,切换回真机调试1.0

Can’t wait until App.initialized

  • minium发起了远程调试,但手机没有正常启动小程序/白屏
    • 可以尝试手动切换成 二维码真机调试 后再切换 自动真机调试
    • 若还是不行,请先确认 远程调试 功能正常
  • minium发起了远程调试,远程调试窗口已经弹出,但手机端没有打开小程序
    • 请手动确认是否使用了真机调试2.0

在这里插入图片描述

测试结果

在项目目录下运行命令 python3 -m http.server 12345 -d outputs,在浏览器上访问 http://localhost:12345

在这里插入图片描述

建议

建议开发者在云测上执行用例,可以将本地调试好的用例上传至云测,新建测试计划,新建 Minium 任务,可选择多平台真机,且支持多平台同时运行,无需用户部署和维护真机环境

测试结束后,云测服务提供详细的测试报告,包括运行截图、日志信息,网络请求分析,性能分析等。当用例执行失败时,会提供错误日志及错误行代码,方便用户排查错误原因。具体操作可参考云测官方文档 自定义测试

本地执行与云测服务执行用例对比
能力本地执行云测服务执行
测试账号可以用自己的微信账号只支持使用虚拟账号测试
真机部署需要自己部署真机,安装wda或者adb环境无需准备真机环境,直接提测
环境维护需要自己维护开发者工具登录态不依赖开发者工具,无需用户维护
查看报告需要自己搭建报告查看环境提供详细的测试报告,并支持分享报告https链接
性能数据需要手动调用接口获取支持查看用例性能数据,如CPU,内存占用等,可以开启体验评分,进一步查看运行时性能数据
Devops需要自己实现提供第三方https接口提交任务,获取结果,详情参考 打通devops流程

需要帮助

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest ui自动化测试实战主要包括安装并配置环境、练习pytest基本使用、练习selenium基本使用以及使用pytest和selenium实现UI自动化测试四个部分。在练习pytest基本使用中,我们可以通过编写简单的用例格式来实现对测试目的和要求的覆盖。而在练习selenium基本使用中,我们可以使用脚本语言来模拟用户行为操作,接近真实用户场景,实现对web页面的自动化测试。通过这些实践,我们可以了解基于pytest和selenium的UI自动化测试的基本思路,并熟悉这两种测试工具的基本操作。此外,pytest还是一个非常成熟的Python测试框架,它具有简单的用例编写格式和丰富的插件,如pytest-html和pytest-rerunfailures等,可以生成漂亮的测试报告并实现失败用例的重复执行。通过实战,我们可以基本掌握pytest的使用方法。另外,还可以基于pytest实现测试用例收集方案、自定义参数化方案、页面元素定位数据存储方案、测试用例数据存储和维护方案等,以避免重复设计和维护复杂的问题。此外,还可以修改定制并汉化html测试报告,使其更加简洁、美观、易读。同时,还可以封装集成selenium、appium、minium和WinAppDriver等工具,以更好地支持不同平台和应用的自动化测试。总之,通过pytest ui自动化测试实战,我们可以全面了解和掌握UI自动化测试的基本原理和实践技巧。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [软件测试案例|使用 pytest+selenium 行UI自动化测试](https://blog.csdn.net/qq_41640218/article/details/124031645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [基于pytest设计自动化测试框架实战](https://blog.csdn.net/hotswwkyo/article/details/103211805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值