PO模式 - 目录结构

前言:
我们为什么要用到PO模式?因为随着时间的迁移。测试套件将持续的增长,脚本也将变得越来越多。如果需要维护10个页面,100个页面,甚至1000个呢?那么页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错
那怎么解决呢?ui自动化中,常用的一种方式,引入Page Object(PO):页面对象模式来解决,po能让我们的测试代码变得可读
性更好,可维护性高,复用性高。

PO是什么:
1、页面对象模型(PO)是一种设计模式,用来管理维护一组web元素的对象库
2、在PO下,应用程序的每一个页面都有一个对应的page class
3、每一个page class维护着该web页的元素集和操作这些元素的方法
4、page class中的方法命名最好根据对应的业务场景进行,例如通常登录后我们需要等待几秒钟,

PO的优势:
1、PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。
2、页面对象与用例分离,使得我们更好的复用对象。
3、可复用的页面方法代码会变得更加优化
4、更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。

看一下整体的结构
在这里插入图片描述
解释:
Common:存放公共类
Outputs:存放日志文件、测试报告等
PageLocators:存放页面定位元素
PageObjects:存放页面操作
TestCases:存放测试用例
Testcfg:存放配置文件
TestDats:存放测试数据

在软件开发,使用Page Object (PO) 模式可以帮助我们更加有效地管理测试代码。PO模式是将测试页面上的元素和操作封装成对象的一种设计模式,这样可以使测试代码更加清晰、易于维护和复用。生成PO模式代码的过程通常包括以下步骤: 1. 分析菜单结构:首先需要理解应用程序的菜单结构和页面之间的跳转关系,确定要创建的页面对象。 2. 创建页面类:为每个页面创建一个类,这些类通常以“页面名PO”命名,例如“登录页面PO”(LoginPagePO)。 3. 定义页面元素:在每个页面类定义对应的UI元素(如按钮、链接、文本框等),可以使用Webdriver提供的选择器来定位这些元素。 4. 封装页面操作:在页面类封装各种操作,例如点击按钮、填写表单、验证页面标题等。将这些操作定义成方法,以供测试脚本调用。 5. 管理页面跳转:创建方法来模拟用户从一个页面跳转到另一个页面的动作,如点击一个链接后跳转到新页面的操作。 举个例子,如果有一个登录页面和一个注册页面,可能会有以下的PO模式代码: ```java public class LoginPagePO { // 页面元素 private By usernameField = By.id("username"); private By passwordField = By.id("password"); private By loginButton = By.id("login"); // 页面操作 public void enterUsername(String username) { // 输入用户名 } public void enterPassword(String password) { // 输入密码 } public void clickLoginButton() { // 点击登录按钮 } // 页面跳转 public RegisterPagePO navigateToRegisterPage() { // 点击注册链接跳转到注册页面 // 返回注册页面的PO对象 return new RegisterPagePO(); } } public class RegisterPagePO { // 页面元素和操作类似上面的登录页面 } ``` 在上述例子,我们定义了登录页面和注册页面的操作,同时也实现了从登录页面到注册页面的跳转。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值