对于自动化测试中,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     |
2. 有人跟我说,多语言存在问题。
 
这个我要好好研究一下。

[分享] 自动化测试与持续集成方案-- UI 检查的更多相关文章

  1. 使用 flow.ci 实现 Android 自动化测试与持续集成

    在上篇文章--如何实现 Android 应用的持续部署中,我们使用的是 flow.ci + Github + fir.im 实现 Android 应用的持续部署.对于 Android 开发者,他们可能 ...

  2. Jmeter+Ant+Jenkins持续集成方案改进

    关于Jmeter+Ant+Jenkins如何搭建持续集成环境,网上资料一大把,就不多说了,本文主要谈一下期间的问题及扩展该持续集成方案. 其实核心的流程不复杂,Jenkins管理构建项目,Ant配置脚 ...

  3. CI/CD持续集成方案

    一,CI/CD流程和持续交付简介 CI(Continuous Integration)持续集成  CD(Continuous Deployment)持续部署  CD(Continuous delive ...

  4. Jmeter+Ant+jenkins实现api自动化测试的持续集成

    0基础上手教程 @jmeter的使用 jmeter是一个基于java语言编写的开源测试工具,广泛应用于接口测试,性能测试,自动化测试. 接口自动化的编写教程,将于后续分享. 问题一:为什么用ant,而 ...

  5. python 自动化测试Jenkins 持续集成

    一直在做 python 自动化测试,但是脚本的执行之前是运维来维护的,通过 saltstack, 自己并未做过多的研究,后续可以研究一下 saltstack. 今天先研究一下使用 github 管理项 ...

  6. 手机APP自动化持续集成方案

    自动化测试流程 自动化测试框架

  7. Jenkins+Gitlab+自动化测试配置持续集成

    Jenkins安装在win7上 GitLab安装在docker上 需求:本地提交自动化测试代码在gitlab上后,jenkins自动构建,拉下新提交的自动化代码,并且运行 参考的链接: https:/ ...

  8. Docker 实战(4)- 结合 Jenkins + Gitlab 完成自动化测试的持续集成实战

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html Jenkins 关联 Gitla ...

  9. Qt Project的持续集成方案

    作者:齐亮链接:http://www.zhihu.com/question/24314354/answer/27547787来源:知乎著作权归作者所有,转载请联系作者获得授权. PETER HARTM ...

随机推荐

  1. 生成淘口令发现的一个趣事 c#

    1.今天,查看网站log,发现如下报错 详细错误:未将对象引用设置到对象的实例. 报错url:http://www.94dazhe.com/mobile/goods/show-546829202052 ...

  2. 解密SuperWebview的一种另类方法

    解密SuperWebview的一种另类方法 什么是SuperWebview SuperWebview是APICloud官方推出的另一项重量级API生态产品,以SDK方式提供,致力于提升和改善移动设备W ...

  3. Jquery Ajax 保存

    Jquery Ajax 保存: $.ajax({ type: "POST", async:false, url: "${ctx}/url", data: {pI ...

  4. MVC过滤器之添加LoginAttribute,浏览器bug:重定向次数太多

    以前在写登录Action过滤时,都在每个Controller前写上CheckLoginAttribute:这次决定偷懒试一下能否将所有Action和Controller统一过滤: 出bug的代码是这样 ...

  5. Array和ArrayList的区别与联系

    博主今天去了一个java的实习面试,发现有好多java最基础的数据结构对于博主来说反而感到陌生,在面试官问一些常见的例如HashMap这样的数据结构,博主能回答的头头是道,但是在问到Array和Arr ...

  6. 第三章(jQuery中的DOM操作)

    3.1 DOM 操作分类 ①DOM Core 包括(getElementById() , getElementsByTagName() , getAttribute() , setAttribute( ...

  7. pdf文件之itextpdf操作实例

    需求分析 1.需要创建一个pdf文件,包含文件的基本属性 2.文件需要包含附件,通过点击链接直接打开 3.生成的pdf文件不能直接修改(需要输入密码) 4.pdf文件需要有文字或图片水印 准备jar包 ...

  8. python 三级菜单 while循环三次,湖北省市-县-街道的选择,3个while的循环 -day2

    python编写一个三级while的循环菜单 1.定义字典,字典里面嵌套字典,内嵌字典的值为列表. 思路: 湖北省的市:字典中的定义3个字典,用于存储{序列-键:市名} shiqu_dir = {} ...

  9. Linux之正则表达式

    正则表达式与通配符的区别: 最常应用正则表达式的命令是grep(egrep),sed,awk. 正则表达式和通配符有本质区别,正则表达式用来找:[文件]内容,文本,字符串.一般只有三剑客支持.通配符用 ...

  10. ASP.NET Core 四种释放 IDisposable 对象的方法

    本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...