面向对象的特性:封装、继承、多态。在自动化中一样适用,Selenium自动化测试中有一个名字常常被提及PageObject(思想与面向对象的特性相同),通过PO模式可以大大提高测试用例的维护效率。
##传统测试脚本的弊端
测试脚本分离,维护成本高
可扩展性差
复用性低等
PageObject设计模式
selenium自动化测试框架之PO设计模式
PO的核心要素:
在PO模式中抽象封装成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性。
每个一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个的方法。
TestCase继承unittest.Testcase类,并且依赖page类,从而实现相应的测试步骤。
案例
基础案例
前面基础场景选取的是baidu搜索页面(baidu页面简单,不需要搭建测试环境)baidu.py
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get(“http://www.baidu.com”)
driver.find_element_by_xpath("//input[@id=‘kw’]").send_keys(“Bela”)
driver.find_element_by_xpath("//input[@id=‘su’]&