1、PO简介
PO:page Object(页面对象),将自动化测试涉及的页面或模块封装成对象
(将页面的元素定位和元素行为封装成一个 page 类。实现页面对象和测试用例分离)
2、PO能解决什么问题
1、代码复用性
2、便于维护(脚本层与业务层分离)---如果元素信息发生变化,也不用去修改脚本
3、PO如何做
Base层:存放所有页面公共方法
page层:基于页面或者模块单独封装当前页面操作的对象
Script层:脚本层 + unittest
4、PO实现(已登录为例)
4.1、Base层(base.py)
# 定义Base类,存放所有page页面公共操作方法
from selenium.webdriver.support.wait import WebDriverWait
from utils import UtilsDriver
class BaseFunction:
def __init__(self):
self.dirver = UtilsDriver.get_driver()
# 查找元素
def base_get_element(self, location):
"""
:param location: 元素的位置信息
:return:
"""
return WebDriverWait(self.dirver, timeout=10, poll_frequency=1).