Page Object模式是一种自动化测试设计模式,将页面定位和业务操作分开,分离测试对象(元素对象)和测试脚本(用例脚本), 提高用例的可维护性。
传统的设计测试用例存在的弊端: 1.易读性差 2.复用性差 3.可维护性差 4.扩展性差
PO的核心要素: 1.在PO模式中抽象封装成一个BasePage类,改基类拥有一个只实现webdriver实例属性 2.每个page都继承BasePage,通过driver管理page中的元素,将page中的操作封装成一个个方法(函数) 3.TestCase继承unittest.TestCase,并且依赖page类,从而实现相应的步骤
以百度搜索selenium为例
BasePage.py
from selenium.webdriver.support.wait import WebDriverWait from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC class BasePage(object): """ BasePage封装了所有的公共方法,如driver/find_element... """