众所周知,在app的UI测试方面,自动化测试可以减少人工参与、降低成本、提升测试效率。传统的自动化测试一般使用appium等工具完成,但需要有较强的编程能力,测试代码需要经常修改,一般测试人员很难搞定。一些中小公司因人手有限,再加上通常自动化测试需要会编程的高阶测试人员提前写好测试代码才能运行,测试成本可能反而变得比较高,所以很多中小企业很难真正落地app自动化测试。

最近我们公司在搞自动化测试的最佳实践,我们项目组研究了一种可以不用编程,通过配置就可以搞定的app测试方法,大大降低了自动化测试的门槛,让一些中小企业和个人也可以很容易搞定自动化测试。

测试相关业务逻辑

  1. 进入被测试app。
  2. 界面操作。点击界面进入新页面、或者滚动页面、或者其他界面操作等。
  3. 查看是否符合预期结果。比如是否出现预期的界面、文本等。
  4. 上传测试结果。

自动化测试实现

1.准备工作

这里我们使用冰狐智能辅助的自动构建搞定自动化测试,不需要写代码,通过参数配置搞定ui自动化测试

  1. 注册冰狐智能辅助账号
  2. 准备android手机一台
  3. 在手机中安装冰狐智能辅助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

结束语

一个不需要编写代码的自动化测试就完成了,各位同学有任何问题,欢迎评论区留言!

app自动化测试最佳实践相关推荐

  1. python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...

  2. 自动化测试最佳实践(一):从纺锤模型到金字塔模型

    一.当前软件开发的趋势 开篇我们先简要介绍一些近几年在企业开发中出现的重要概念,以便引入持续测试的主旨.这些概念中最重要的两个便是DevOps和微服务.两者都是目前软件开发中的最佳实践和方法论,旨在为 ...

  3. [置顶] 《自动化测试最佳实践》讲座总结

    <自动化测试最佳实践>讲座总结 2016年11月26日 - 27日,参加了为期两天的自动化测试最佳实践.讲师是业界大牛陆宏杰.他在微软工作了5年,后来又在Photoshop工作了5年. 自 ...

  4. 《自动化测试最佳实践》讲座总结

    <自动化测试最佳实践>讲座总结 2016年11月26日 - 27日,参加了为期两天的自动化测试最佳实践.讲师是业界大牛陆宏杰.他在微软工作了5年,后来又在Photoshop工作了5年. 自 ...

  5. 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...

  6. 微信小程序自动化测试最佳实践(附 Python 源码)

    随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程序项目页面越来越多,业务逻辑也越来越复杂,全手工测试已无法满足快速增长的业务需求. 然而, ...

  7. 微信小程序python自动化测试_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...

    本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序.微信公众号等.小程 ...

  8. Teams app 开发最佳实践

    经常有朋友问我,teams app开发有哪些最佳实践,我看了一些别人的分享,也结合我自己的经验,总结了一下一共有这么几点: 使用 Microsoft Graph API 访问用户数据和组织数据 Mic ...

  9. 《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一1.3 建立自动化策略...

    1.3 建立自动化策略 我们需要在不破坏现有功能的前提下发布产品的新功能特性.而且,需要尽快知道一个新的代码变动是否会引起回归测试的失败.手动回归测试在每两周的迭代后期才能给予我们反馈,以至于没有时间 ...

最新文章

  1. python对象编程例子-这是我见过最详细的Python面向对象编程!建议收藏!
  2. redirect_uri参数错误解决方法
  3. mysql数据库密码转换_MySQL数据库root账户密码忘记两种处理方法转载
  4. SAP CRM Fiori应用Simulation pipeline的刷新问题
  5. 6-vue-component
  6. sqlplus无密码登录TNS协议适配器错误
  7. LLDP发现相邻设备失败分析
  8. 【IT项目管理】第10章 应对项目风险
  9. 智能家居-斐讯N1安装篇
  10. VB6 Chr码值对应列表大全
  11. 安卓开发:医院预约挂号app
  12. 【转】TinyXML2 入门教程
  13. 语雀 添加块级模式公式
  14. 微信公共号推广技巧、快速涨粉丝的7大技巧总结
  15. 4094. Spiral matrix
  16. PyQt5系列教程(二)利用QtDesigner设计UI界面
  17. 开学季:20本Python经典书单
  18. 不忘初心,方得始终——NOIP2016前的感悟
  19. php 搜索字符串ctrl f_js搜索关键字(Ctrl + F)
  20. mysql自定义函数的分号_mysql自定义function问题解决

热门文章

  1. LeetCode 牛客网 C++ 算法 刷题必备基础知识
  2. 知网最新回应:在进行反思,整改措施择机公开
  3. webpack 打包chunk
  4. c语言生成Bmp图像
  5. 常用运放电路总结记录
  6. PHP数据类型、PHP声明和PHP变量
  7. 信贷风控——贷中、贷后
  8. oracle连接打印机,使用 LP 打印命令设置网络连接的打印机
  9. 更新驱动后,Aero特效消失
  10. 数据库性能问题总结--屡次发生的Oracle谓词越界