浅谈-Selenium中的Page Object设计模式的理解

一、什么是PO模式?

PO是Page Object的缩写,PO模式是自动化测试项目开发实践的最佳设计模式之一。
核心思想是通过对界面元素的封装减少冗余代码,同时在后期维护中,若元素定位发生变化, 只
需要调整页面元素封装的代码,提高测试用例的可维护性、可读性。

二、PO模式主要分为三页:

以下是我做的百度登录的页面:
在这里插入图片描述

Base(对象库层): 存放与对网页的一些基础操作并进行封装Base页适用于整个项目
在这里插入图片描述
在这里插入图片描述
Page(操作层): 通过Base页,添加定位元素,将Base页封装的方法拿来调用,每一个模块应有一个Page页,Page页之间不通用(比如登录的page不适用于购物车的page一样)
在这里插入图片描述

Case(业务层): 用例页。通过Page页调用方法来实现用例。

登录用例:
在这里插入图片描述
运行用例:
在这里插入图片描述

运行所有代码时,不要将他的path放到unittest运行框架中去,直接右击run即可 ,执行单个unittest框架的测试用例还是要将它放到unittest运行框架中
PS: 我之前就吃过这个亏QAQ

以上是代码,接下来说下我对Page Object设计模式的理解:

1、首先,我们要将所有的基础操作放入base页中,用于page页中的调用

2、page页中要调用base页,这样能够有效的提高代码的复用性,重用性很高,我们只需要将具体的定位元素装入即可,需要注意的是,我们在page页内写入的越多,那么我们在执行自动化测试脚本的时候就会更加的轻松。

比如说,我已经定位到了一个元素,并要对其进行操作时,我们可以再用其他的定位方式获取一次,这样在第一次获取不到具体的元素值时,可以有效的获取到第二个元素值
在这里插入图片描述
如果说在page页中,缺少我们想要用到的base页的公用代码,那么可以回到base页补充,base页与page页大致相同,都是补充的越全,那么我们在做自动化测试时就会省时省力,提高效率

3、case页中我们只需要将page页中代码进行调用就可以

最后,如果有需要,也可以将运行结果生成的测试报告进行单独存放:
在这里插入图片描述
在这里插入图片描述

最后,如果定位元素进行了更替,那么我们只需要在page页内将定位元素修改即可,不得不说,这个模式,深得我的喜爱~~~

自动化测试群:762141168

欢迎各位自动化测试、接口测试、移动端测试以及相关的测试好友加入
我,在这里等你,共同进步,GO GO!

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
课程介绍你是否在寻找机会进入自动化测试领域? 你是否渴望学习selenium webdriver + Java以及最新的框架和技术进行web自动化测试? 你是否感兴趣学习Selenium如何用在你现有的项目里的? 这门课带你从Selenium搭建环境开始讲起,然后学习selenium,TestNG, logback, maven, jenkins。 我们假设学员没有任何自动化经验,来设计的这套课程。每个课题都从最基础的开始讲起。Selenium相关的该覆盖的课题都覆盖了。 例子都是来自于真实的web应用项目,帮助你理解不同的组件怎么用上自动化,这将展示给你一个行业层面的框架,增加自信心。 全网没有其他课程像这门课涵盖到如此之深的细节。 您将会学到什么 学完课程以后,你将拥有完整的Selenium Webdriver知识 你将具备从头开始设计Page ObjectPage Factory、DATADRIVEN等搭建自动化框架的能力 用100多个实例对Selenium现实场景应用进行深入理解 全面了解TestNG, Maven, Jenkins, HTML报告,多浏览器并行测试 了解数据库测试和使用Selenium进行性能测试 你将彻底了解testNG框架 你从网上随便选择一个网站,都可以实现自动化,用所有可能的测试用例进行自动化测试 将提高你的编码技能,以编写最优化的自动化测试用例代码 你基本可以搞定任何Selenium面试,并能从设计阶段开始领导整个Selenium自动化项目 你应该能够使用应用程序的GUI来验证数据完整性 你将能够创建漂亮的报告来打动客户或领导 更深入地理解自动化指南和代码质量标准 会附带一个练习网站,可以用上所有可用的WebDriver功能,实现自动化 【适合人群】 软件手动测试人员想转为自动化测试的人员 自动化软件测试人员想加强专业技能的 刚毕业学生想从事软件行业 QA 组长或项目经理 【课程优势】 学完课程以后,你将拥有完整的Selenium Webdriver知识 【讲师介绍】 资质介绍: 12年以上软件测试工作经验,其7年以上自动化测试开发经验 新书“Python3+Selenium3自动化测试项目实战”作者

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值