项目的结构如下:
图片.png
图片.png
POM是什么?
Page Object Model (POM) 直译为“页面对象模型”,这种设计模式旨在为每个待测试的页面创建一个页面对象(class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口。
POM模型的优点
a. 把web ui对象从测试脚本分离,业务代码和测试脚本分离。
b. 每一个页面对应一个页面类,页面的元素写到这个页面类中。
c. 页面类主要包括该页面的元素定位,和这些元素相关的业务操作代码封装的方法。
d. 代码复用,从而减少测试脚本代码量。
e. 层次清晰,同时支持多个编写自动化脚本开发,例如每个人写哪几个页面,不影响他人。
POM模型的核心要素:
a.抽象封装一个BasePage基类,基类应该拥有一个指向webdriver实例的属性
b.每一个Page都应该继承BasePage,并通过driver来管理本Page的元素,且将Page才操作都封装成一个个的方法
c. TestCase应该继成unittest.Testcase类,并依赖相应的Page类来实现相应的test step(即测试步骤)