python中locator_locator 分层设计思想

本文介绍了Python自动化测试中页面元素定位的分层设计,通过创建PageLocators包来分离元素定位,使得代码更加清晰。同时,文章探讨了测试用例的独立性和测试数据的分层管理,强调了测试数据独立性的重要性,并给出了测试数据存储的多种方式,如csv、excel或yaml文件。最后,展示了测试框架的四层封装结构:PO页面对象层、测试用例层、测试数据层和元素定位层。
摘要由CSDN通过智能技术生成

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值