我在兰亭这三年之自动化框架升级

简介:
前面说到在实施冒烟测试自动化时候,当时使用的selenium1.0所支持的浏览器版本太低,无法满足我们的需求,面对这个问题,唯有升级我们的框架,可是面前有1千多条自动化用例等着,的确需要花费很大的人力和时间来完成。当时后台组也已有人研究过Webdriver,在其中一个产品中用起来了,但是并没有对原来的东西全部升级,不过至少证明了它的实用价值。当时我跟我老大说我研究下Webdriver,OK的话要不我们索性全部升级吧。当时他还持怀疑的态度,毕竟这并不是一个小的工作量。
  就这样开始了升级之旅。刚开始时就是我自己查了很多的资料,通过新建一个项目,把原来下面所有内容复制过来,把Maven的POM文件中dependency全部改成了全新的Webdriver,然后对框架中driver实例化的地方进行了修改,当然这些还远远不够。因为两个版本设计理念不一样,原来的方法也无法通用,为了便于日后分享给大家顺利开展工作,是很有必要把两个版本如何操作页面元素的做个对比。接下来就是把我们日常用到的方法罗列出来,包括打开页面,点击元素,输入,下拉选择,单选,复选,获取文本内容,弹出框,frame的操作等等,接着把在1.0里的方法写出来,把2.0对应的方法也写出来,然后再对其中一条用例进行实验,把底层这些方法改成新的。
  到这里,钻研之路就进行的差不多了,见证奇迹的时刻到了。如果我说一运行case就通过了,也许这并不值得怀疑,但是事实上并没有这么顺利,中间遇到的诸多事宜我也记不清了,但是好在最后的确是通过了。我甚是欣喜,告诉了我老大,同时我组织我们组其他几个做自动化的同学开始了全面的升级行动。我把中间做过的事情整理成了文档,把1.0 VS 2.0的方法整理成表格,方便大家对照修改。当时我们做这个的顺序是:第一步,把所有底层的方法对照着表格全部改完,认真思考的你可能也看出来了,这的确是个苦差事,已经没有什么技术含量了;第二步,分工把所有的冒烟级别用例重新调试运行直到测试通过。
  经过大家一个Q的努力,升级工作圆满结束,不过在这之后,原来那1千多条case其实也被我们放弃了,主要原因并不是调试的工作量,而是那些是之前专门的自动化组写的用例,很多都不是按照业务重点来写的,对我们的价值并不大,之后我们所完成的400多条都是基于重新梳理手工用例后实施的,当然这些也都是基于新升级的框架上写的。当时在升级过程中关于如何进行的修改还写了一篇博文,请查看历史文章
版权声明:本文出自 zzzmmmkkk 的51Testing软件测试博客:http://www.51testing.com/?258885
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。
相关文章:


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
1月前
|
Java 测试技术 持续交付
深入理解软件测试中的自动化框架选择
【2月更文挑战第14天】在软件测试领域,自动化测试已成为提升效率、确保质量的关键手段。选择合适的自动化测试框架对实现高效稳定的测试至关重要。本文将探讨自动化框架选择的关键因素,包括项目需求、团队技能、维护成本以及集成能力,并分析当前流行的几种自动化框架的优缺点,以指导读者根据不同的测试场景作出明智的选择。
19 0
|
30天前
|
敏捷开发 分布式计算 测试技术
深入理解软件测试中的自动化框架选择与优化策略
【2月更文挑战第29天】 在软件开发的生命周期中,测试环节扮演着至关重要的角色。随着敏捷开发和持续集成的普及,自动化测试成为确保软件质量和加快产品上市速度的关键手段。本文将探讨在构建自动化测试框架时面临的挑战,分析不同类型自动化框架的特点及其适用场景,并提出一系列优化策略,旨在帮助测试工程师提高测试效率,确保测试结果的准确性。
16 0
|
5天前
|
监控 测试技术 API
深入理解自动化测试框架Selenium的设计与实现
【4月更文挑战第14天】在软件开发过程中,自动化测试是确保代码质量、减少人工重复劳动的关键步骤。Selenium作为一款广泛使用的自动化测试工具,提供了对多种浏览器和操作系统的支持。本文将探讨Selenium的核心组件及其架构设计,分析其如何通过WebDriver与浏览器交互,以及它如何支持多种编程语言进行脚本编写。同时,我们还将讨论Selenium Grid的作用以及它如何实现并行测试,以缩短测试周期并提高测试效率。
169 58
|
20天前
|
敏捷开发 设计模式 监控
深入理解自动化测试框架的设计原则
在软件开发的复杂多变环境中,自动化测试已成为确保产品质量和加速市场交付的关键步骤。本文将探讨自动化测试框架的设计原则,包括模块化、可扩展性、易用性和可靠性,旨在为软件测试工程师提供构建高效、健壮且易于维护的自动化测试系统的指导。通过分析设计模式的应用,我们将了解如何减少代码冗余,提高测试覆盖率,并适应快速变化的技术要求。
|
22天前
|
前端开发 IDE JavaScript
深入理解自动化测试框架Selenium的设计与实现
本文旨在探讨开源自动化测试框架Selenium的核心设计及其实现机制。通过分析其架构、组件和工作原理,揭示Selenium如何有效地支持跨浏览器、跨平台的自动化Web测试。文中不仅介绍了Selenium的主要功能模块,还详细讨论了其面临的挑战及应对策略,为读者提供了深入了解和使用Selenium的理论基础和实践指导。
|
25天前
|
设计模式 敏捷开发 监控
深入理解与应用软件自动化测试框架
在快速迭代的软件开发过程中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将详细探讨自动化测试框架的核心原理、设计模式及其在实际项目中的应用。我们将分析几种流行的自动化测试工具,如Selenium、Appium和JUnit,并讨论它们如何集成以形成强大的测试解决方案。文章还将展示通过自定义框架来满足特定测试需求的实例,以及如何通过持续集成和持续部署(CI/CD)流程优化测试实践。
|
26天前
|
敏捷开发 IDE 测试技术
深入理解自动化测试框架Selenium的设计理念与实践
随着敏捷开发和持续集成的理念深入人心,自动化测试在软件开发周期中扮演着越来越重要的角色。Selenium作为一个广泛使用的自动化测试工具,其设计理念和实践对于提高测试效率和质量具有指导意义。本文将深入探讨Selenium的核心设计原则、架构以及最佳实践,旨在帮助读者构建更稳定、高效的自动化测试系统。
|
26天前
|
jenkins 测试技术 持续交付
深入理解自动化测试框架设计原则与实践
本文旨在探讨自动化测试框架的设计原则及其在实际项目中的应用。通过对自动化测试框架的系统剖析,我们揭示了有效构建和维持测试框架的核心要素,并提供了一套实用的指导方案来帮助读者实现高效、可靠的自动化测试流程。文章不仅聚焦于框架的技术细节,也强调了灵活性、可维护性和可扩展性在设计时的重要性,同时结合实际案例分析,展示了如何在不同测试环境中定制化和优化测试框架。
|
29天前
|
机器学习/深度学习 敏捷开发 人工智能
深入探索软件自动化测试:框架与实践
【2月更文挑战第30天】 在快速迭代的软件开发周期中,自动化测试已成为确保产品质量和加快交付速度的关键因素。本文将深入探讨自动化测试的核心概念、常用框架以及在实际项目中的应用实践。我们将分析自动化测试的优势,并讨论其在不同开发阶段的作用,同时提出构建高效自动化测试流程的策略。通过实际案例分析,本文旨在为读者提供一套系统的自动化测试解决方案,以应对日益复杂的软件测试挑战。
|
29天前
|
设计模式 IDE 测试技术
深入理解自动化测试框架Selenium的核心组件
【2月更文挑战第30天】 在快速迭代的软件开发过程中,自动化测试已成为确保产品质量和加快上市速度的关键。本文将深入探讨Selenium这一广泛使用的自动化测试框架,剖析其核心组件以及它们如何协同工作以提供高效、灵活的测试解决方案。我们将从Selenium架构的基础出发,详细解读WebDriver API、Selenium Grid、以及各种语言绑定等关键部分,并讨论如何通过这些组件进行有效的UI测试。

热门文章

最新文章