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注入的方式来进行界面元素操作!
Web自动化测试框架改进的更多相关文章
- Web自动化测试框架-PO模式
Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试 ...
- 基于Selenium+Python的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- Windows环境搭建Web自动化测试框架Watir
Windows环境搭建Web自动化测试框架Watir 一.前言 Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将We ...
- web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架
基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- Web 自动化测试框架 sweetest 介绍
项目开源: https://github.com/tonglei100/sweetest 文章转载:https://segmentfault.com/a/1190000011612061 介绍 swe ...
- Web自动化测试框架Watir(基于Ruby) - 第2章 使用Watir写自动化测试脚本
一.先来看一个小DEMO 通过上一篇博文<Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署>的介绍,我们已经有了完整Watir运行环境,现在我们可以来 ...
- Web自动化测试框架Watir(基于Ruby) - 第1章 Windows下安装与部署
一.前言 Web自动化测试一直是一个比较迫切的问题,对于现在web开发的敏捷开发,却没有相对应的敏捷测试,故开此主题,一边研究,一边将Web自动化测试应用于工作中,进而形成能够独立成章的博文,希望能够 ...
- web自动化测试框架总结
web自动化测试框架总结: https://www.processon.com/mindmap/5bdab924e4b0878bf41e9e09
- selenium3与Python3实战 web自动化测试框架 ☝☝☝
selenium3与Python3实战 web自动化测试框架 selenium3与Python3实战 web自动化测试框架 学习 教程 一.环境搭建 1.selenium环境搭建 Client: py ...
随机推荐
- [python工具][pycharm]pycharm licence activation失效的解决方法
推荐网站: http://idea.lanyus.com/ 1 请将“0.0.0.0 account.jetbrains.com”添加到C:\Windows\System32\Drivers\etc\ ...
- line-height与vertical-align
css世界读书笔记: 内联元素与流 块级元素负责结构,内联元素接管内容 x元素的下边缘就是我们的基线baseline x-height就是x的高度 vertical-align:middle是x中点位 ...
- 谈谈Python中元类Metaclass(一):什么是元类
简单的讲,元类创建了Python中所有的对象. 我们说Python是一种动态语言,而动态语言和静态语言最大的不同,就是函数和类不是编译时定义的,而是运行时动态创建的. 比方说我们要定义一个HelloW ...
- httpClient 保持session
import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HttpClient; import ...
- [BZOJ1433][luogu_P2055][ZJOI2009]假期的宿舍
[BZOJ1433][luogu_P2055][ZJOI2009]假期的宿舍 试题描述 输入 输出 输入示例 1 3 1 1 0 0 1 0 0 1 1 1 0 0 1 0 0 输出示例 ^_^ 数据 ...
- 采花 flower
采花 flower 题目描述 萧芸斓是 Z 国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花.花园足够大,容纳 了 n 朵花,花有 c 种颜色(用整数 1- ...
- 替换/重制Homebrew源
homebrew主要分两部分:git repo(位于GitHub)和二进制bottles(位于bintray),这两者在国内访问都不太顺畅.可以替换成国内的镜像,git repo国内镜像就比较多了,可 ...
- ZOJ1608 Two Circles and a Rectangle
Time Limit: 2 Seconds Memory Limit: 65536 KB Give you two circles and a rectangle, your task is ...
- Codevs 1993 草地排水
1993 草地排水 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 在农夫约翰的农场上,每逢下雨,Bessie最喜欢的三叶草地 ...
- 【HDOJ5519】Kykneion asma(状压DP,容斥)
题意:给定n和a[i](i=0..4),求所有n位5进制数中没有前导0且i出现的次数不超过a[i]的数的个数 2<=n<=15000,0<=a[i]<=3e4 思路:设f(n, ...