locator 分层
登录页面元素定位,都是放在 PageObjects 目录下的 login_page.py 文件下的 LoginPage 类下
元素定位分层
这个登录页面要用到的元素定位还是比较少的,在真正的项目中,一个页面20~30个元素定位都是比较正常的。
现在除了 xpath 表达式没有其他的,如果我还要增加其他的表达式,都堆在这个 class 里,会塞得很满,而这个时候,我们在 LoginPage 类中写 操作元素的方法的时候,就会比较混乱
所以,将元素定位和元素操作再进行细分。
定位元素的操作,都有一个固定的方式,通过 By 的一个定位的策略,然后是对应元素的表达式
新建1个包,命名为 PageLocators ,新建 home_page_locs.py 和 login_page_locs.py 文件,分别对应 PageObjects 文件下的 home_page.py 和 login_page.py 文件 (根据页面对象进行分类)
login_page_locs.py
from selenium.webdriver.common.by import By
class LoginPageLocs:
# 简化页面元素定位
# 用户名输入框
user_input = (By.XPATH, "//div[@class='u-input box']/input[@name='email']")
# 密码输入框
psd_input = (By.XPATH, "//div[@class='u-input box']/input[@name='password']")
# 登录按钮
login_btn = (By.XPATH, "//a[@id='dologin']")
# 登录表单区域的提示信息
msg_login_form = (By.XPATH, "//div[@class='ferro