前言:做selenium自动化,肯定是要学习po模式的,它会让你的代码实现低耦合,数据与结构分离。
Page Object Model (POM)“页面对象模型”,讲元素定位和基本方法封装在一个页面对象中,只对外提供必要的操作接口
如何设计pom?
①首先要有一个BasePage类,用来封装浏览器基本操作,一些公共方法和关键字
②各个Page类是封装它这个页面的一些元素操作和方法,以及所需的参数值
③TestCase就是用unittest执行用例,并且加入断言判断用例是否成功
下面是我画的流程图
BasePage.py 这个类是封装浏览器基本操作方法的,比如driver,找寻元素定位,输入框输入,点击事件等,注意带的参数,包括找寻方法用显式等待
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
class BasePage():
'''
封装浏览器基本操作
公共方法:等待时间,截图,点击,日志,浏览器所有操作
需求:任何点击,自动去加等待时间
关键字驱动:
公共方法关键字:
业务关键字:操作经常绑定在一起的,封装成关键字