总所周知,在app的UI测试方面,自动化测试可以减少人工参与、降低成本、提升测试效率。传统的自动化测试一般使用appium等工具完成,但需要有较强的编程能力,测试代码需要经常修改,一般测试人员很难搞定。一些中小公司因人手有限,再加上通常自动化测试需要会编程的高阶测试人员提前写好测试代码才能运行,测试成本可能反而变得比较高,所以很多中小企业很难真正落地app自动化测试。
最近我们公司在搞自动化测试的最佳实践,我们项目组研究了一种可以不用编程,通过配置就可以搞定的app测试方法,大大降低了自动化测试的门槛,让一些中小企业和个人也可以很容易搞定自动化测试。
测试相关业务逻辑
- 进入被测试app。
- 界面操作。点击界面进入新页面、或者滚动页面、或者其他界面操作等。
- 查看是否符合预期结果。比如是否出现预期的界面、文本等。
- 上传测试结果。
自动化测试实现
1.准备工作
这里我们使用冰狐智能辅助的自动构建搞定自动化测试,不需要写代码,通过参数配置搞定ui自动化测试
- 注册冰狐智能辅助账号
- 准备android手机一台
- 在手机中安装冰狐智能辅助app并登录
具体准备工作请点击这里查看https://aznfz.com/document/prepare
2.实现测试功能
使用冰狐智能辅助的自动构建功能实现测试功能,可以在不编写一行代码的前提下实现自动化测试。在开始前,请各位网友认真阅读下自动构建文档,以便完全理解下面的实现过程。
新建自动构建
- 在web页面「移动端」/「自动构建」中新建一个名为“自动化测试”的自动构建。
- 点击自动构建的“配置构建”按钮,开始选择模块并配置相关参数。
进入被测试app
所有业务逻辑模块都要放在业务逻辑入口模块里面
- 点击“业务逻辑入口模块”右边的编辑进入业务逻辑入口模块
- 启动并进入app可以选择“启动app”模块,在业务逻辑入口模块中添加“启动app”子模块
- 点击“启动app”模块右边的“编辑”按钮配置模块参数,以微信为例,packageName填写app的类名,tag填写启动app后的标志性tag,出现该tag就表示启动app完成,后面会给出所有自动构建的参数配置
实现测试逻辑?
进入app后,可以使用自动构建的模块实现各种点击进入某个页面,滚动等逻辑。
以点击进入某页面为例讲解具体如何实现,点击微信中右下角“我”按钮进入我的页面。
点击进入某页面可以选择“点击进入页面”模块(后面会给出所有自动构建的参数配置)。
- 在“启动app”模块里面添加“点击进入页面”子模块
- 配置模块参数,clickTag填“我”,checkTag填“设置”,表示点击“我”控件,当出现“设置”时表示进入页面成功,mode选择使用控件内置点击功能
- 若进入页面失败,则系统会自动调用false参数对应的模块,这里我们选择log模块,打印下失败log,在正式场景下我们可以选择上传结果给后台等处理
- 若进入页面成功,则系统会自动执行所有子模块,这里我们选择了log模块,打印进入成功的log,在正式场景下我们可以选择上传结果给后台等处理
自动构建源码(参数)
完整的自动构建源码如下,用户可以直接在自动构建处,点击“自动化测试”自动构建右边的“配置源码”按钮,把如下配置数据粘贴进去即可。
{
"type": "root",
"children": [{
"type": "declareVar",
"var": [{
"name": "temp",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "ret",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "view",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "viewContainer",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "item",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "index",
"type": "normal",
"initType": "null",
"initValue": "null"
}, {
"name": "data",
"type": "normal",
"initType": "string",
"initValue": ""
}, {
"name": "text",
"type": "normal",
"initType": "string",
"initValue": ""
}]
}, {
"type": "main",
"desc": "业务逻辑入口",
"debug": false,
"params": [],
"children": [{
"type": "launchApp",
"desc": "启动APP",
"debug": false,
"packageName": "com.tencent.mm",
"tag": "txt:微信#",
"maxStep": "30",
"children": [{
"type": "clickAndEnter",
"desc": "点击进入页面",
"class": 1,
"debug": false,
"clickTag": "txt:我#",
"root": "",
"family": [],
"descendant": [],
"checkTag": "txt:设置#",
"mode": "2",
"false": {
"type": "log",
"desc": "日志",
"debug": false,
"logType": "log",
"info": ["string-进入“我”页面失败"]
},
"failed": "",
"duration": "500",
"maxStep": "5",
"beforeWait": "0",
"afterWait": "0",
"children": [{
"type": "log",
"desc": "日志",
"debug": false,
"logType": "log",
"info": ["string-进入“我”页面成功"]
}]
}],
"false": {}
}]
}],
"desc": "根模块",
"debug": false
}
执行自动化测试
请按如下步骤执行自动化测试
- 开启冰狐智能辅助app调试模式
- 把自动构建编译成js脚本,在网页端「移动端」/「自动构建」找到“自动化测试”,然后点击右边的“编译”按钮,即可将自动构建编译成js脚本。
- 运行js脚本,在网页端「移动端」/「移动端脚本」找到到“自动化测试”,然后点击右边的“运行”按钮,选择设备,开始执行脚本。
- 在网页端「移动端」/「设备管理」找到设备,然后点击最右边的“LOG”按钮即可查看所有log
结束语
一个不需要编写代码的自动化测试就完成了,各位同学有任何问题,欢迎评论区留言!
|