UI指的是用户可以用肉眼可以看到的页面.

  UI层自动化测试的原理.不论是web端还是移动端,原理都是一样的,就是基于页面元素的识别和定位来进行模拟用户行为.

首先识别到某个元素,比如一个按钮,然后定义一个动作,比如点击,这样就通过代码模拟完成了一次按钮的点击,代替了人工去点击.如果后期再加入数据驱动和Page Object思想就基本形成了一个UI层自动化测试框架了

  UI层自动化测试的适用范围:不建议做大规模的应用,主要几个原因:

1.UI变化频繁,计划根本赶不上变化

2.初期见效太慢

3.前端开发的不规范,导致很多元素识别和定位起来较为困难

  UI层自动化测试可以应用到冒烟测试中,这里的冒烟测试是指主流程的测试,就是那些非常重要且不会频繁变化的流程,可以利用UI层自动化测试来完成.比如,之前对电商系统的主流做每日的UI层自动化回归测试,用来保证先上系统功能的正常,效果还不错

关于UI层自动化测试用例的设计:

1.用例设计,尽量简单的正向用例,不要出现反向用例

2.一个脚本,最好就完成一个功能的测试

3.一个脚本,最好是完成一个比较完整的场景,场景不要太复杂

  比如:发布一篇文章

  1.登录

  2.点击发布文章按钮

  3.填入文章

  4.发布

4.脚本之间,一定要尽可能的独立,不要有强制性的关联,不要有依赖关系

5.不要对所有的操作都做验证,比如上面的例子,就做最后发布成功的验证就行,登录那部分已经在登录用例中覆盖了

UI层自动化测试介绍的更多相关文章

  1. Bootstrap UI层收藏介绍

    Table组件使用的是bootstrap table,之所以用它是因为它的API比较全,并且博主觉得它的风格适用于各种类型的设备,无论是PC端还是手机端都都能很好的兼容各种浏览器.现将相关内容收藏如下 ...

  2. UI层自动化测试框架(一)-简介和环境搭建

    http://blog.csdn.net/ToBeTheEnder/article/details/52302777

  3. 手机GUI自动化测试介绍

    手机GUI自动化测试介绍 Posted on 2013/05/15 Xing Binbin(测试工程师) 摘要 众所周知,自动化测试可以一定程度上减轻测试人员负担,提高测试效率,并且通过自动化还可以实 ...

  4. 【DDD】领域驱动设计实践 —— UI层实现

    前面几篇blog主要介绍了DDD落地架构及业务建模战术,后续几篇blog会在此基础上,讲解具体的架构实现,通过完整代码demo的形式,更好地将DDD的落地方案呈现出来.本文是架构实现讲解的第一篇,主要 ...

  5. UI层实现

    领域驱动设计实践 —— UI层实现   目录 1. User Interface 2. Controller 3.  DTO 4.  infrastructure层的公共组件 5. UI层类图 6. ...

  6. qt中ui的 使用介绍

    1.什么是ui?ui通常是用Qt 设计师设计出来的界面文件的后缀.通常情况下ui是一个指向这个界面类的指针.ui-> 一般就是用来访问这个界面类里面的控件.例如你的ui文件里有一个叫okButt ...

  7. iOS开发UI篇—简单介绍静态单元格的使用

    iOS开发UI篇—简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...

  8. mvc项目架构搭建之UI层的搭建

    项目架构搭建之UI层的搭建 Contents 系列一[架构概览] 0.项目简介 1.项目解决方案分层方案 2.所用到的技术 3.项目引用关系 系列二[架构搭建初步] 4.项目架构各部分解析 5.项目创 ...

  9. 业务接口+UI层的设计(基于Castle实现的Repository)

    业务接口+UI层的设计(基于Castle实现的Repository) Repository层设计的文章见:[http://www.cnblogs.com/yomho/p/3297042.html]   ...

随机推荐

  1. iOS系列译文:自定义Collection View布局

    原文出处: Ole Begemann   译文出处: 黄爱武(@answer-huang).欢迎加入技术翻译小组. UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一 ...

  2. 使用strace,lstrace,truss来跟踪程序的运行过程

    使用truss.strace或ltrace诊断软件问题 2008-07-05 16:25 使用truss.strace或ltrace诊断软件问题          进程无法启动,软件运行速度突然变慢, ...

  3. 程序员之---C语言细节19(来找茬,由/* */ 引起的凝视错误)

    主要内容:由/* */ 引起的凝视错误 有4处凝视错误 #include <stdio.h> #define N 10 //使用以下宏定义的凝视 #define BSC // #defin ...

  4. 【React Native开发】React Native配置执行官方样例-刚開始学习的人的福音(8)

    ),React Native技术交流4群(458982758),请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文 ...

  5. java 基于tomcat的数据源案例

    1.在context中定义数据源 <?xml version="1.0" encoding="UTF-8"?> <Context path=& ...

  6. iOS 开发之RunLoop

    概念 RunLoop 就像她的名字一样,就是跑环,就是一个死循环.是一个可以随时休眠,随时唤醒的死循环. 那么一个手机App为什么会一直运行?而且在接受到用户点击的时候,会做出反应?这些都离不开Run ...

  7. SQL优化小结

    一 背景      客户数据库经常出现死锁.超时.查询慢等问题,数据库mssql,数据量主要表大概上千W. 二 收集信息      首先是要找出IO大.查询慢.使用频率高的脚本.直接用Profiler ...

  8. linux基础part3

    linux基础 一.linux基本命令归档命令. 1.归档的定义:归档就是把许多文件或目录打包成一个文件. 2.tar命令格式:tar  [参数-cxtzjvfpPN]  打包文件名 文件或目录路径 ...

  9. 文件传输协议FTP

    之前已经了解了TCP/IP这种低级别的协议,还有一些网络协议包括文件传输(FTP,STP).阅读Usenet新闻组(NNTP).电子邮件发送(SMTP).从服务器上下载电子邮件(POP3.IMAP)等 ...

  10. 波浪分析数据转换:大智慧、钱龙、胜龙可用Advanced GET ToGet 数据转换器V3.05特别版

    http://www.55188.com/thread-4185427-1-1.html Advanced GET ToGet 数据转换器V3.05特别版,大智慧可用软件数据类型选“分析家”源软件数据 ...