谈到TB的UI自动化,最多的就是Automan。Automan的强大,在保证上线后的产品质量中得到了很好的体现。来淘宝一年多的日子里,我将Automan应用在产品上线后的维护中,看到每日回归列表中日益增加的脚本数和脚本运行发现的bug,心里平添些许的“安全感”。
我们可以很好的应用Automan平台提供的支持,完成自动化脚本的创建、优化、稳定回归,而现在,我们不禁思考,UI自动化仅仅是上线后产品质量的一道“护身符”么?
两个月前,“XXXXX项目”正式立项,根据项目自身的特点,在项目的前期,我开始着手大部分功能的页面自动化的实现。
接下来,我开始了项目页面自动化思考和尝试的过程,从项目立项,开发阶段,到项目环境的一二轮测试,中间交叉着开发的两次迭代,再到daily,预发和发布测试~页面自动化编写,优化和维护的跌宕感受都交织其中~
这种感受,是对项目页面自动化的亲身体验,在这些爽与不爽的感受中,我开始对项目页面自动化的实现有了新的思考,如何组织脚本的编写,如何高效实现更多tc的覆盖,如何提升脚本的编写和排错效率,如何让脚本更易于后期的维护等~
针对“XXXXX”项目,我想把这些思考和实践的点点滴滴,通过这样的记录沉淀下来,分享给更多的人。下面的分享,从项目页面自动化总述,脚本编写思路,脚本编写效率和脚本运行环境(包括预发和发布)分别展开。
项目页面自动化分享(一)
——what,why,when,how
What:
项目页面自动化是什么?我的理解是,在以手工测试为主的情况下,对项目中确定的功能点辅以页面自动化测试并实现bug多次修改后的不断回归,代替手工测试中页面上的反复点击操作,主流程中对radio/checkbox的勾选到数据保存的校验,页面展示结果的校验~对此小结:只要是firebug能获取到的控件,我们都可以通过Automan平台提供的api来获取控件中想要的属性,通过对属性值的提取和校验,在这次项目中判断诸如菜单是否高亮,页面是否展示, 10种类型的卖家主账号和子账号下所有菜单权限点的校验。
Why:
为什么要实现页面自动化?最大的好处,减少多次重复的手工测试量,增加探索性测试时间。比起产品上线维护过程中实现的页面自动化主流程,项目页面自动化的实现可以细化到每条tc,校验点更细致,时间点利用更充分。项目测试时间的紧张和松散是相对的,利用松散的时间,实现自动化对功能点的细化。如何利用项目过程中松散的时间,只有靠自己去体会和把握。
When:
项目页面自动化何时编写?何时运行自动化?对“何时”,我说下自己的体验。测试设计完成时,我开始着手项目中页面元素的抓取,开始自动化的第一步。因这次项目是对老版卖家中心的模块化,元素抓取的页面有现成的,自动化编写时间在demo的产出前。正常的编写时间应该在demo的产出后。如果项目在立项时,确定项目要介入页面自动化,就要和前端沟通,达成自动化页面demo的产出时间,为自动化编写争取时间。第一轮测试完成手工测试,就可以运行自动化,在coding脚本时,难免会有很多错误点,在第一轮测试中尽量调通脚本,第二轮测试可以体验到自动化给测试带来的效率。
How:
项目页面自动化具体做些什么呢?这里涉及时间的把控度,页面自动化覆盖率,自动化编写和调试的效率等~这些在此次项目中都体验了一把。
分享到:
相关推荐
这个“办公自动化java项目管理系统11”结合了Java编程、SSH框架、Ajax、Comet以及Oracle数据库技术,旨在为用户提供一个全面、高效的办公自动化解决方案。用户可以通过系统进行文档管理、审批流程、信息交流等操作,...
文件“Web自动化测试实战(四).docx”、“Web自动化测试实战(三).docx”和“Web自动化测试实战(二).docx”可能涉及了页面对象模式、数据驱动测试、页面导航和元素操作、异常处理、浏览器兼容性测试等方面。...
基于selenium, python的WebUI自动化测试框架移动端移到android_ app仓库 软件架构 ●语言: python ●自动化框架: selenium ●设计模式:POM/关键字驱动数据分离 ●自动化用例组织框架: pytest ●自动化报告: allure ...
总结来说,这个实战项目涵盖了Selenium的基本用法,如浏览器对象的创建、页面导航、元素定位、交互操作,以及处理cookies和弹窗等常见场景,是学习Web自动化测试的一个很好的示例。通过这样的实战练习,我们可以更好...
在Python中,我们通常使用Selenium库进行Web页面的自动化测试。Selenium提供了一套全面的API,可以模拟用户的各种交互行为,如点击、输入等。然而,对于Canvas元素,Selenium无法直接进行操作,因为它们不是DOM的一...
【自动化办公Java项目】是一个专为初学者设计的实践项目,尤其适合那些已经掌握SSH(Struts2、Spring、Hibernate)三大主流Java企业级开发框架的学员。该项目旨在通过实际操作,帮助学习者巩固和深化对这些框架的...
这个实例项目展示了如何将这四个强大的工具集成为一套完整的自动化测试解决方案。 **Java**: Java是一种广泛使用的面向对象的编程语言,以其跨平台的特性闻名,非常适合编写自动化测试脚本。在自动化测试中,Java...
### Selenium2 Python自动化测试项目实战知识点解析 #### 一、Selenium2与Python自动化测试概述 **Selenium2**是一个广泛使用的开源自动化测试框架,它支持多种浏览器和编程语言,如Java、Python等。其中,...
Python通用UI自动化测试框架源码2.0是一个旨在简化UI自动化测试的工具,适用于各种软件或Web应用的测试。这个框架的核心目标是提高...对于任何进行UI自动化测试的项目,理解和使用这样的框架都能带来显著的效率提升。
本项目“测试平台项目代码-自动化测试”聚焦于这一领域,提供了相应的代码实现,让我们来深入探讨其中涉及的关键知识点。 首先,自动化测试主要依赖于测试框架,这些框架提供了一种结构化的方式来编写和执行测试...
除了这些基础知识,进阶的Python自动化测试还包括页面对象模型(Page Object Model)的设计模式,它提倡将网页的结构和操作抽象化,提高代码的可读性和可维护性。还有数据驱动测试,通过使用外部数据源(如CSV文件或...
PDF 自动化是 Python 办公自动化的重要组成部分,包括模块介绍与安装、Python 提取 PDF 文字内容、编程实现 PDF 合并及页面删减、排序、旋转、Python 批量完成 PDF 加密及解密等内容。掌握 PDF 自动化技术可以大大...
在本篇"Python+Selenium+Chrome 自动化测试 TPshop 商城项目实战(一) —— 注册,登录练习"中,我们主要学习了如何利用 Python 的 Selenium 库进行 Web 自动化测试,特别是针对 TPshop 商城的注册流程。以下是对其中...
"iOS自动化测试的演示项目"是一个专门为Xcode 4.2设计的实例,旨在教会开发者如何在该版本的Xcode中设置和执行自动化测试。下面将详细阐述iOS自动化测试的相关知识点,以及与"LoginWindow"相关的测试内容。 首先,...
在IT行业中,自动化测试是提升效率的关键,尤其是在页面性能评估这一领域。页面性能评估涉及到网站的加载速度和用户体验,对于电商、搜索引擎...这种自动化测试方案对于任何关注网页性能的项目都是一个值得参考的实践。
Selenium是一个开源的Web应用程序接口(API),可以模拟用户在浏览器中的操作,如点击按钮、填写表单、导航等,从而实现对Web页面功能的自动化测试。 Pytest是Python的一个测试框架,它提供了灵活且易于使用的测试...
针对标题"vue react自动化创建单页面多页面应用项目调试项目打包的一体化cli工具"以及描述,我们可以深入探讨这个CLI工具在Vue.js和React开发中的应用。 Vue.js和React都是当前非常流行的JavaScript框架,用于构建...
【北大青鸟JAVA三单元项目办公自动化系统】是一个基于JAVA技术的办公自动化(OA)解决方案,旨在提升企业内部的工作效率和协同能力。该系统利用了Java的三大框架——Spring、Struts2和Hibernate(SSH)进行开发,这些...
本项目专注于构建一套全面的自动化测试解决方案,尤其强调了截图和录屏功能,以及元素的多方式定位,这些特性使得测试更为高效和精确。本文将深入探讨与这个项目相关的知识点。 首先,我们要了解Selenium,这是一个...
【JSP开发项目-办公自动化管理系统】是一个基于JSP技术构建的企业级应用,主要用于提高办公效率,实现工作流程自动化。这个系统通常包含了用户管理、文档管理、任务分配、日程安排、通知公告等多个功能模块,旨在为...