微信小程序脚本自动化测试方案

这篇文章主要讲述了微信小程序脚本自动化测试方案,包括方案产生的初衷,选型 Minium 的原因,分阶段目标,架构设计(底层服务层、页面功能 Case、流程测试),数据 Mock 方式及流程,最后提到结合工具提升效率,实现配置化测试等。

一段痛苦的日子

从开始负责小程序开始,基本每两周发一次版本,并且是在10点半后开始发版。经常遇到的场景是等到10点,以为测试的差不多了,没有什么问题。
啪啪,打脸来的太快,总会发现一些问题,或是本次迭代导致的,或是之前遗留的,怎么办总不能带着问题上线吧。

“改”,此时回家又变成了“不是在此时 不知在何时”!

这就是我想要去做小程序自动化测试的初衷,通过自动化的方式大幅提升测试效率,尤其是回归测试的效率,提高测试覆盖率,避免漏测。

自动化测试方案选型

这里再补充三条为什么要使用脚本自动化测试的方案,而不是其他方案,毕竟脚本自动化测试还需要编码。
这样考虑是基于我们的项目特点:

  1. 需求变动不频繁

    我们的项目是类app的小程序,页面和功能很多,对单个功能来说需求变动不频繁,这样测试脚本不用频繁变更。

  2. 项目周期足够长

    长期和app需求同步开发,项目周期足够长,这样测试脚本也就可以一点点丰富。

  3. 对每个迭代来说,测试脚本可以重复利用。

目标

那么做到什么程度,才能解决上边提到的痛点了(对,痛点就是要能早回家😜)。

想象下最合理的脚本自动化测试应该是什么样的?

针对某个功能的测试,可能的操作需要经过多个页面、多个按钮、多块功能,到最后需要验证最终结果是否和预期一致。

流程类似这样:

Pasted image 20240229170359.png

我希望我们的测试或研发只需要编写一个配置文件,录入需要走的页面,点击的按钮或页面操作,最终需要校验的内容,上传运行配置,就可以做到一个特定流程的自动化测试。

最终一些配置也可以固化下来,因为很多功能不常变,每次回归不但测试脚本可以复用,甚至配置也可以复用。

一口气吃个胖子是不现实的,我们把愿景分为了三个阶段目标:

  1. 跑通主流程测试,验证技术方案

    目的:对于不常变的功能,做到脚本自动化测试

  2. 搭建Mock系统,基于Mock进行测试

    特定的场景需要特定的数据,基于mock可以做接口容灾,功能一致性测试(固定的数据对应固定的展示)。

  3. 测试用例支持配置化

    主要目的:可通过配置,无代码完成测试用例执行

架构设计

image.png

除了最下边的依赖层外,整个方案包含三层:

一、底层服务层

包含路由跳转、utils、mock等底层服务,还有常用的底层业务功能,例如登录、定位等。

二、页面功能Case

这一层主要是针对每个页面的基本操作和校验,例如在搜索页通过测试脚本点击搜索按钮、点击搜索历史、自动输入搜索词、校验搜索内容展示等功能。可以说这一层是把页面可继续的操作通过脚本方案暴漏出来。

以搜索页为例,会提供如下方法:

'''
 @Author  : TesterRoad
 @Time    : 2024/12
 @Desc    : 公众号:测试工程师成长之路
 @Software: PyCharm
'''

# 选中搜索输入框
def search_focus(self):
	# 打印过程
	process_print('选中搜索输入框')
	search_input = self.get_el
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值