python selenium对象封装_Python+Selenium框架版(五)- 框架内封装基类和实现POM

本文介绍了如何在Python Selenium自动化测试中封装基类,并应用Page Object Model(POM)模式。通过创建一个名为BasePage的基类,包含元素定位、页面操作和截图等通用方法,为后续的页面类提供便利。此外,还展示了具体的页面对象(如HomePage)和测试类的实现,强调了元素定位的正确方法以及测试过程中driver的唯一性管理。
摘要由CSDN通过智能技术生成

目标:封装一个基类和介绍如何实现POM。关于基类,是这样定义的:把一些常见的页面操作的selenium封装到base_page.py这个类文件,以后每个POM中的页面类,都继承这个基类,这样每个页面类都有基类的方法。

1.在实现封装基类里,我们实现了元素八大方式的定位和截图类封装。具体项目层级结构如下图。

2686fd27c0f15dbbb755b2fcde87f2b8.png

2.基类base_page.py的具体实现代码,这里就封装了几个常用方法,其他方法,你自己去练习封装下。

import time

from selenium.common.exceptions import NoSuchElementException

import os.path

from framework.logger import Logger

logger = Logger(logger="BasePage").getlog()

class BasePage(object):

"""

定义一个页面基类,让所有页面都能继承这个类,封装一些常用的页面操作方法到这个类

"""

def __init__(self,driver):

self.driver = driver

def quit_browser(self):

"""

退出浏览器

:return:

"""

self.driver.quit()

logger.info("退出浏览器。")

def forward(self):

"""

单击当前页上的【前进】按钮

:return:

"""

self.driver.forward()

logger.info("单击当前页上的【前进】按钮。 ")

def back(self):

"""

单击当前页上的【后退】按钮。

:return:

"""

self.driver.back()

logger.info("单击当前页上的【后退】按钮。")

def wait(self,seconds):

"""

隐式等待

:return:

"""

self.driver.implicitly_wait(seconds)

logger.info("隐式等待 %d 秒。"%seconds)

def close(self):

"""

点击关闭当前窗口

:return:

"""

try:

self.driver.close()

logger.info("点击关闭当前窗口。")

except NameEr

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值