对于自动化测试中,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. Java经典编程题50道之五十

    有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件 "stud"中. public ...

  2. BOM(1)

    BOM 浏览器对象模型(Browser Object Model),使浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". 浏览器对象模型(Browser ...

  3. 基于servlet和ajax的聊天室

    (手贱点了更新发布时间,发布时间变成6-9...) 2017-5-20,在这个奇特的日子,我不再满足于在本地测试javaweb,于是在上腾讯云买了第一个云服务器,由于是学生认证,所以一个月只要10块钱 ...

  4. SQL Server 实现Split函数

    添加一个表值函数. CREATE function [dbo].[fnSplit] ( ), --要分割的字符串 ) --字符串之间的分隔符 ) ,), TempName )) as begin de ...

  5. Java NIO 学习笔记五 缓冲区补充

    1.缓冲区分配 方法   以 ByteBuffer 为例 (1)使用静态方法 ByteBuffer buffer = ByteBuffer.allocate( 500 ); allocate() 方法 ...

  6. java中得到图片的宽度 高度:

    java中得到图片的宽度 高度:BufferedImage srcImage = null;srcImage = ImageIO.read(new File(srcImagePath));int sr ...

  7. 在win7下如何设置计划任务每一分钟执行一次

  8. chart.js使用常见问题

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...

  9. webpackage 2.x 使用

    webpackage 2.x 使用 安装---(在项目目录下) //1.初始化npm的配置(添加package.json) npm init //2.安装 webpackage npm install ...

  10. Ion-affix & Ion-stick 仿IOS悬浮列表插件

    Ion-affix & Ion-stick 仿IOS悬浮列表插件 Ion-affix 1.相关网页 Ion-affix 2.环境准备: 执行命令 bower install ion-affix ...