接着我们来继续学习Selenium/Appium框架都会用到的一个设计模式:Page Object
其旨在将元素定位和元素操作分层,只接触测试内容,不写基础内容,便于后续对自动化测试用例体系的维护
OK~来看如下用法:
一、Page Object1.只写测试内容,不写基础内容
2.不需要直接接触Selenium
3.把元素定位和元素操作分层,这样当元素发生变化时,只需维护page层的元素定位,不用关心哪些测试用例使用了这些元素
4.在编写测试用例时,也不用关心元素时如何定位的
5.继承父类后注意driver和逻辑、元素共享
该例子:百度搜索selenium,我们的关系是:BasePage -> BaiduPage -> TestBaidu
1.base_page.py:
# coding = utf8
import os
os.path.abspath(".")
class BasePage:
"""基础Page层,封装一些常用方法
"""
def __init__(self, driver):
self.driver = driver
# 打开页面,如果为None,则继承子类的url,否则用url
def open_url(self, url = None):
if url is None:
self.driver.get(self.url)
else:
s