Selenium + Java 做 WEB GUI 自动化测试中提升代码质量的方法

来源:互联网 发布:企业网络改造方案设计 编辑:程序博客网 时间:2024/06/05 18:35

1. 概念模型化和分层降低代码复杂度 : 定位器/页面/模块

1. 定位器 Element Locator : 从DOM中定位到目标元素
1.可以通过 xpath , byClass, byName 等方法定位到目标元素2.通常还要配合wait-until机制在合适的时机去找目标元素
2. 页面 Page : 对应一个完整的WEB页面
尽量采用和开发团队对等的页面Page概念,方便沟通。某些WEB页面虽然主功能不同,但采用同样的布局,所以很可能这些页面中的某些部分在这些页面中通用,这样的通用部分也可以抽象出来做成通用的模型来使用,比如叫做 PageFragment
3. 模块 Module : 尽量和被测系统的模块划分相对应
通过将模块和页面采用和开发团队一致的概念,当系统功能或者界面发生变化时,测试团队会很容易识别变化所发生的区域从而最快速度赶上变化。

2. 充分利用 Java 代码的重构能力不断演进代码

Java代码在主流的IDE,比如IDEA 或者 Eclipse都有很好的重构支持,当变化发生时,充分利用重构不断演化自动化测试的代码很重要,这样有至少两个很重要的目的 :         1. 代码总是能跟得上最新的设计和实现        2. 该废弃掉的代码抓紧时间废弃掉,留下来会使代码变肥,难以理解或者导致误解

3. 代码的变化规模要和导致该变化的产品功能变化规模保持线性

线性的变化,定量的或者定性的,给人的感觉都是事情可以预期和估计的。非线性的规模变化,会导致自动化代码的复杂度变化不可预期,进而导致工作量和项目时间无法控制,这绝对不是你想看到的。
阅读全文
0 0