51Testing软件测试论坛

标题: Web自动化测试框架改进 [打印本页]

作者: 橙子0012    时间: 2018-2-28 16:47
标题: Web自动化测试框架改进

Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject

设计模式进行二次开发形成的框架。
一、适用范围:传统Web功能自动化测试、H5功能自动化测试。
二、兼容性:建议使用火狐或谷歌浏览器,因为Selenium与其兼容性最好。
三、框架改进亮点(比Selenium框架优的地方):

1、 采用PageObject设计模式,将某个页面的所有元素(包含控件)属性及元素操作

封装在1个Class里面,如下所示:

这样做的目的是为了解耦,即测试代码与被测页面对象代码分离,后面若页面元素发

生了变化,只需要修改被测页面对象代码(即上述Class文件)而不需要修改测试代码,

这样大大减小了后期因页面变化导致脚本或用例维护的成本。
下面展示的测试代码片段中未用到任何页面元素对象:

2、 采用XPath策略来寻找页面元素,而不建议使用Name、Link等方式来寻找。因

为当页面元素的Name、Link发生了变化,测试代码(测试用例)就无法执行下去

或执行过程中不稳定。若采用XPath,只要页面元素所在区域未发生变化,而Name、

Link等发生了改变,测试代码基本不会受影响,代码如下所示:

声明:一般XPath是基于CSS样式来做的,但CSS-Style改变的需求或可能性不是很

大,换句话说,这样的变动周期较长;若想“以不变应万变”, 使用DOM元素的ID

进行定位,这种方式的好处是不受元素所在位置、以及所应用的样式的影响。

3.将页面元素属性信息与代码分离,即与被测对象代码分离,这样做的目的也是为了

进一步降低后续因页面变化带来的维护成本,即当页面发生改变时,只需要修改对

应页面中XML配置文件信息,如下所示:

个人心得:
若希望基于Selenium框架二次开发的框架更加易于扩展,可以尽量少用Selenium

提供的API,可以使用大量JS注入的方式来进行界面元素操作!



作者: 梦想家    时间: 2018-2-28 17:00

作者: 清晨一缕阳光    时间: 2018-3-1 08:27
赞一个!
作者: 海海豚    时间: 2018-3-1 09:01
谢谢分享~正好要学习selenium!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2