Selenium自动化测试设计模式-PO模式

这篇具有很好参考价值的文章主要介绍了Selenium自动化测试设计模式-PO模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

在python自动化过程中,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率。

不了解po设计模式的可自行百度

面向对象的特性:封装、继承、多态

传统测试脚本的弊端:

  • 测试脚本分离,维护成本高
  • 可扩展性差
  • 复用性低等

 1、实现案例

 1.1 工程目录

Selenium自动化测试设计模式-PO模式

 listing:项目根目录

cofig:配置文件

data:用例数据

logs:日志记录

picture:图片存放(用于UI)

pylib:自定义库

report:报告

test_case:用例相关

main_test:程序运行入口

pytest.ini:pytest框架配置的标签

1.2 公共方法

封装BasePage:

1.由于做selenium自动化测试的时候需要webdriver的实例,我们可以将driver封装在init方法里面,并且需要加一个判断。判断当前对象有没有driver,没有driver就生成driver,有了driver就不再产生新的driver,这一步可以通过单例模式实现

2.将公共的操作如:点击操作、输入框、获取文本信息、获取元素属性、检测元素是否可见等方法封装在基类里面以便于直接调用方法

Selenium自动化测试设计模式-PO模式

2.2 元素定位

 将元素定位表达式写在配置文件里面(yaml文件),然后编写业务代码的时候直接读取配置文件对应的元素表达式就好了

优点:如果有100个地方用到了一个元素,当元素定位表达式变了,只需要改配置文件就行了,不用100个地方每个都修改。

Selenium自动化测试设计模式-PO模式

2.3业务代码

编写具体的业务代码,实现步骤:

1.登录,继承基类BasePage的方法,登录被测系统,并且return登录以后的页面,也就是下面截图里面的:

return ShopeeDraftPage()

2.具体页面操作

Selenium自动化测试设计模式-PO模式

2.4 测试用例、报告

框架采用pytest,报告用的allure

要点:编写用例的时候调用对应业务代码的方法,然后将具体步骤拼接起来

Selenium自动化测试设计模式-PO模式

 文章来源地址https://www.toymoban.com/news/detail-403806.html

 

到了这里,关于Selenium自动化测试设计模式-PO模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • web自动化测试-PageObject 设计模式

    为 UI 页面写测试用例时(比如 web 页面,移动端页面),测试用例会存在大量元素和操作细节。当 UI 变化时,测试用例也要跟着变化, PageObject 很好的解决了这个问题。 使用 UI 自动化测试工具时(包括 selenium,appium 等),如果无统一模式进行规范,随着用例的增多会变得难

    2024年02月14日
    浏览(43)
  • 软件测试/测试开发丨Web自动化 PageObject设计模式

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27167 马丁福勒个人博客 selenium 官网 无法适应 UI 频繁变化 无法清晰表达业务用例场景 大量的样板代码 driver/find/click 降低 UI 变化导致的测试用例脆弱性问题 让用例清晰明朗,与具体实现无关 字

    2024年02月10日
    浏览(52)
  • 让自动化测试秒杀繁琐操作?试试PO模式设计框架

    目录:导读 引言 po模式 优势:  目录解释: 页面对象设计模式: base基础层: page对象层:  test:测试层 data数据层:  common层:  untils:  config层: run层: report: 结语 你是否曾经因为每次更新功能都要重新写一堆自动化测试代码而感到疲惫不堪? 或者因为页面元素的频繁变

    2024年02月02日
    浏览(46)
  • 〖Python WEB 自动化测试实战篇⑫〗- 实战 - PageObject框架设计(亦叫做 “页面对象” 模式)

    订阅 Python全栈白宝书-零基础入门篇 可报销! 白嫖入口-请点击我。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏, 免费阶段订阅数量4300+ , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:加入社区的小伙

    2024年02月02日
    浏览(66)
  • selenium UI自动化PO模式测试框架搭建

    熟悉业务-》确定方案-》选取场景-》了解前端-》定位元素-》编写脚本-》运行优化-》回归报告-》项目汇总 价值意义: 自动化执行需要:模块化 需要可制定化执行 可复用性 PO模式: 将页面定位和业务分开,元素的定位单独处理,执行脚本单独封装。维护方便。 封装BasePag

    2024年02月04日
    浏览(54)
  • UI自动化测试:Selenium+PO模式+Pytest+Allure整合

    本人目前工作中未涉及到WebUI自动化测试,但为了提升自己的技术,多学习一点还是没有坏处的,废话不多说了,目前主流的webUI测试框架应该还是selenium,考虑到可维护性、拓展性、复用性等,我们采用PO模式去写我们的脚本,本文档也主要整合了Selenium+PO模式+Pytest+Allure,下

    2024年02月08日
    浏览(87)
  • 自动化测试基础篇:Selenium 框架设计(POM)

    【导语】Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。本文介绍selenium的框架设计。 自动化测试框架 1.什么是自动化测试框架 简单来说,自动化测试框架就是由一些标准,协议,规则组成,提供脚本运行的环境。自

    2024年02月04日
    浏览(41)
  • selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(94)
  • Selenium自动化测试实战之自动化测试基础

    自动化测试概念 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。 自动化只是测试方式,跟测试阶段无关。 可以把任何测试工作写一个程序自动化实现都可以称为自动化测试。 selenium自动化测试: 2023最新的Selenium自动化测试实战,没有比

    2024年02月13日
    浏览(65)
  • 【自动化测试】Java+Selenium自动化测试环境搭建

    本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。 1.Selenium介绍 Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包