1.POM及POM设计原理
POM(page object model)页面对象模型,主要应用于UI自动化测试框架的搭建,主流设计模式之 一,页面对象模型:结合面向对象编程思路:把项目的每个页面当做一个对象进行编程
2.POM一般分为四层
第一层:basepage层:描述每个页面相同的属性及行为
第二层:pageobject层(每个的独有特征及独有的行为)
第三层:testcase层(用例层,描述项目业务流程)
第四层:testdata(数据层)
3.代码实现
1.组织代码
2.basepage(封装公共的属性和行为)
from selenium.webdriver.support.wait import WebDriverWait
class BasePages:
def __init__(self, driver):
self.driver = driver
# 元素定位
def locator(self, *loc):
return self.driver.find_element(*loc)
# 清空
def clear(self, *loc):
self.locator(*loc).clear()
# 输入
def input(self, text, *loc):
self.locator(*loc).send_keys(text)
# 点击
def click(self, *loc):
self.locator(*loc).click()
# 滑动(上下左右滑动)
def swipe(self, start_x, start_y, end_x, end_y, duration=0):
# 获取屏幕的尺寸
window_size = self.driver.get_window_size()
x = window_size["width"]
y = window_size["height"]
self.driver.swipe(start_x=x * start_x, start_y=y * start_y, end_x=x * end_x, end_y=y * end_y, duration=duration)
3.pageobject(导航模块和登录模块)
1.导航模块
from POM.basepage.base_page import BasePages