[分享] 自动化测试与持续集成方案-- 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 ...
随机推荐
- 生成淘口令发现的一个趣事 c#
1.今天,查看网站log,发现如下报错 详细错误:未将对象引用设置到对象的实例. 报错url:http://www.94dazhe.com/mobile/goods/show-546829202052 ...
- 解密SuperWebview的一种另类方法
解密SuperWebview的一种另类方法 什么是SuperWebview SuperWebview是APICloud官方推出的另一项重量级API生态产品,以SDK方式提供,致力于提升和改善移动设备W ...
- Jquery Ajax 保存
Jquery Ajax 保存: $.ajax({ type: "POST", async:false, url: "${ctx}/url", data: {pI ...
- MVC过滤器之添加LoginAttribute,浏览器bug:重定向次数太多
以前在写登录Action过滤时,都在每个Controller前写上CheckLoginAttribute:这次决定偷懒试一下能否将所有Action和Controller统一过滤: 出bug的代码是这样 ...
- Array和ArrayList的区别与联系
博主今天去了一个java的实习面试,发现有好多java最基础的数据结构对于博主来说反而感到陌生,在面试官问一些常见的例如HashMap这样的数据结构,博主能回答的头头是道,但是在问到Array和Arr ...
- 第三章(jQuery中的DOM操作)
3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...
- pdf文件之itextpdf操作实例
需求分析 1.需要创建一个pdf文件,包含文件的基本属性 2.文件需要包含附件,通过点击链接直接打开 3.生成的pdf文件不能直接修改(需要输入密码) 4.pdf文件需要有文字或图片水印 准备jar包 ...
- python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2
python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...
- Linux之正则表达式
正则表达式与通配符的区别: 最常应用正则表达式的命令是grep(egrep),sed,awk. 正则表达式和通配符有本质区别,正则表达式用来找:[文件]内容,文本,字符串.一般只有三剑客支持.通配符用 ...
- ASP.NET Core 四种释放 IDisposable 对象的方法
本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...