[分享] 自动化测试与持续集成方案-- UI 检查
对于自动化测试中,UI 自动化测试估计是最有争议的,让人又爱又恨。
UI 自动化做回归测试,可以省下很多人力。如果版本一直不稳定,投入跟产出不成比例的。
时机
一般是要版本稳定,界面改动不大。如果迭代版本一个接一个,界面改动大,这样就无法大规模投入 UI 自动化。因为你的维护成本大。也许你脚本还没改好,下一个版本又来了。
有些测试会说,还没有我手动快,没我手动发现的 bug 多。做 UI 自动化就是图个放心,测试的时候只测增量,原有的功能,用 UI 自动化去检测,看是否有改动,原有功能是否是好的。如果你指望它能发现很多 bug , 那你还不如手工。
产品
如果项目周期很短的产品,那你就别想了。可能你还没弄完,项目就结束了,英雄无用武之地。
迭代快,界面变化大的也别考虑了。
工具
现在能跨平台的工具不多。如果只写和维护一套脚本,既能跑在 Android 上,又能跑在 IOS 上,那会省时省力很多。
14年的时候用 Appium, 那时候 Appium 还很不成熟,不支持中文,然后我们的产品很多元素无法定位, 最终放弃了。
然后尝试用 calabash. 用这个工具主要看中它基本跨平台,然后简单,一般的测试很容易上手。
Calabash 学习经验小结 http://testerhome.com/topics/1173
Calabash Android 简介 http://testerhome.com/topics/606
超详细的 calabash-iOS 安装步骤 http://testerhome.com/topics/2129
Calabash 模拟多手机同步测试 http://testerhome.com/topics/1520
虽然检测的点很粗线条,但也能实现 UI 自动化的检测。

规模
UI 自动化要达到多大的覆盖率,跟手工用例的比率,这个要根据公司人员的配置,产品的特点,以及对质量的重视程度来决定的。
问题
1. 现在弄 Scenario Outline 的时候还没有弄通过
类似这样
Scenario Outline: Caculate Expressions
Given the table input <Input> When the calculator is run Then the output from table should be <Output> Examples: | Input | Output | | "3+5" | 8 | | "25-4" | 21 | | "10/2" | 5 | | "25+5*3"| 40 | | "4-5" | -1 |[分享] 自动化测试与持续集成方案-- UI 检查的更多相关文章
- 使用 flow.ci 实现 Android 自动化测试与持续集成
在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能 ...
- Jmeter+Ant+Jenkins持续集成方案改进
关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...
- CI/CD持续集成方案
一,CI/CD流程和持续交付简介 CI(Continuous Integration)持续集成 CD(Continuous Deployment)持续部署 CD(Continuous delive ...
- Jmeter+Ant+jenkins实现api自动化测试的持续集成
0基础上手教程 @jmeter的使用 jmeter是一个基于java语言编写的开源测试工具,广泛应用于接口测试,性能测试,自动化测试. 接口自动化的编写教程,将于后续分享. 问题一:为什么用ant,而 ...
- python 自动化测试Jenkins 持续集成
一直在做 python 自动化测试,但是脚本的执行之前是运维来维护的,通过 saltstack, 自己并未做过多的研究,后续可以研究一下 saltstack. 今天先研究一下使用 github 管理项 ...
- 手机APP自动化持续集成方案
自动化测试流程 自动化测试框架
- Jenkins+Gitlab+自动化测试配置持续集成
Jenkins安装在win7上 GitLab安装在docker上 需求:本地提交自动化测试代码在gitlab上后,jenkins自动构建,拉下新提交的自动化代码,并且运行 参考的链接: https:/ ...
- Docker 实战(4)- 结合 Jenkins + Gitlab 完成自动化测试的持续集成实战
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html Jenkins 关联 Gitla ...
- Qt Project的持续集成方案
作者:齐亮链接:http://www.zhihu.com/question/24314354/answer/27547787来源:知乎著作权归作者所有,转载请联系作者获得授权. PETER HARTM ...
随机推荐
- Java经典编程题50道之五十
有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public ...
- BOM(1)
BOM 浏览器对象模型(Browser Object Model),使浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". 浏览器对象模型(Browser ...
- 基于servlet和ajax的聊天室
(手贱点了更新发布时间,发布时间变成6-9...) 2017-5-20,在这个奇特的日子,我不再满足于在本地测试javaweb,于是在上腾讯云买了第一个云服务器,由于是学生认证,所以一个月只要10块钱 ...
- SQL Server 实现Split函数
添加一个表值函数. CREATE function [dbo].[fnSplit] ( ), --要分割的字符串 ) --字符串之间的分隔符 ) ,), TempName )) as begin de ...
- Java NIO 学习笔记五 缓冲区补充
1.缓冲区分配 方法 以 ByteBuffer 为例 (1)使用静态方法 ByteBuffer buffer = ByteBuffer.allocate( 500 ); allocate() 方法 ...
- java中得到图片的宽度 高度:
java中得到图片的宽度 高度:BufferedImage srcImage = null;srcImage = ImageIO.read(new File(srcImagePath));int sr ...
- 在win7下如何设置计划任务每一分钟执行一次
- chart.js使用常见问题
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...
- webpackage 2.x 使用
webpackage 2.x 使用 安装---(在项目目录下) //1.初始化npm的配置(添加package.json) npm init //2.安装 webpackage npm install ...
- Ion-affix & Ion-stick 仿IOS悬浮列表插件
Ion-affix & Ion-stick 仿IOS悬浮列表插件 Ion-affix 1.相关网页 Ion-affix 2.环境准备: 执行命令 bower install ion-affix ...