以下是废话,不想看的直接进入正题:《WEB自动化测试中的页面模型(一) 工程结构及登陆页面

示例工程地址:https://github.com/assilzm/PageObjectExample

前言

开坑,越是忙出了屎,越是要找事情来调节。所以趁晚上这点时间写点东西,就以页面模型的设计开个头。

在WEB自动化测试中,对页面进行管理的方法有很多,但是它们都易用、好用、便于人理解吗?从网上容易找到的资料中,能把以上几点都做好的貌似也不多。

因此在这里分享下我在项目中的页面模型设计及管理方法来与大家做一些交流分享,有做的不好的地方欢迎大家提出改进建议。

页面模型

我理解的页面模型:是一种将页面抽象成框架结构、组件、属性、功能组成的对象的方法

因为页面是业务的载体,因此页面模型本质上一种对业务的抽象

本系列文章主要介绍一种我理解的页面模型的设计方法

注意

由于是讲设计方法,因此本文中不涉及具体的操作代码,所有的底层代码仅以虚假的方法代替。

同样由于不涉及具体的实现,因此选取了容易写的语言来做示例,示例工程使用语言为Groovy,但是我会尽量使用偏Java的方式去写,即会把属性方法的定义及返回值描述清楚。如有特殊的作用域,也会同样标明。

工程结构使用Gradle的默认工程结构。

结构和语法应该算简单明了,各个语言的使用者看起来也算很容易理解。

示例说明

示例的我挑选了测试Email,具体产品使用简单方便的126邮箱(其他邮箱同理,本来想选facebook的,考虑到还要注册什么的很麻烦就挑了个简单的)。

本次使用的框架设计针对的是功能测试,因此所有的操作都针对功能,不过颗粒度的大小可以根据实际情况调整,关系并不大,本文主要是介绍设计方法。