Python3+Selenium Web自动化测试案例分享⑴——框架设计详解(POM)
由于保密原则,案例都是Demo,希望能帮到感兴趣的朋友。
一、POM模型介绍
1.POM是什么?
Page Object Model (POM) 直译为“页面对象模型”,这种设计模式旨在为每个待测试的页面创建一个页面对象(class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口。
2.POM模型的优点
a. 把web ui对象从测试脚本分离,业务代码和测试脚本分离。
b. 每一个页面对应一个页面类,页面的元素写到这个页面类中。
c. 页面类主要包括该页面的元素定位,和这些元素相关的业务操作代码封装的方法。
d. 代码复用,从而减少测试脚本代码量。
e. 层次清晰,同时支持多个编写自动化脚本开发,例如每个人写哪几个页面,不影响他人。
3.POM模型的核心要素:
a.抽象封装一个BasePage基类,基类应该拥有一个指向webdriver实例的属性
b.每一个Page都应该继承BasePage,并通过driver来管理本Page的元素,且将Page才操作都封装成一个个的方法
c. TestCase应该继成unittest.Testcase类,并依赖相应的Page类来实现相应的test step(即测试步骤)
二、文件目录
1.目录结构图
2.目录详解
下图是框架中各个目录和文件作用的简单介绍,后面的章节会具体介绍如何封装这些方法。
—————————————————————————————— 选择正确的事、再把事做正确
——————————————————————————————