1.什么是POM
页面对象模型(POM)是一种设计模式,用来管理维护一组web元素集的对象库;
在POM下,应用程序的每一个页面都有一个对应的page class;
每一个page class维护着该web页的表现层和操作层;
page class中的方法命名最好根据其对应的业务场景进行,
例如通常登录后我们需要等待几秒中,我们可以这样命名该方法: waitingForLoginSuccess().
2.POM优点
2.1.POM提供了一种在UI层操作、业务流程与验证分离的模式,这使得测试代码变得更加清晰和高可读性
2.2.对象库与用例分离,使得我们更好的复用对象,甚至能与不同的工具进行深度结合应用
2.3.可复用的页面方法代码会变得更加优化
2.4.更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。
例如我们要回到首页,方法名命名为: gotoHomePage(),通过方法名即可清晰的知道具体的功能实现。
3.POM模式结构
project–项目名称
common–公共方法
base.py–selenium方法二次封装
page–封装项目所有页面,每一个pageClass都继承Base类
loginpage.py–登录页面封装
homepage.py–首页封装
script–业务流程/测试用例
test_login.py–登录功能测试用例;登录流程,引用page中的loginpage文件
data–存放测试数据
excel
txt
yaml
config–存放配置文件
log–测试脚本日志文件
report–测试报告
run