一、前言
最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新!
这是python+selenium实现Web自动化第七篇博文
二、Selenium成套博文地址,总有你需要的:
【Selenium篇01】python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作!
https://blog.csdn.net/pengjiangchun/article/details/105532670
【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!
https://blog.csdn.net/pengjiangchun/article/details/105532867
【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
https://blog.csdn.net/pengjiangchun/article/details/105533107
【Selenium04篇】python+selenium实现Web自动化:文件上传,Cookie操作,调用 JavaScript,窗口截图
https://blog.csdn.net/pengjiangchun/article/details/105534081
【Selenium05篇】python+selenium实现Web自动化:读取ini配置文件,元素封装,代码封装,异常处理,兼容多浏览器执行
https://blog.csdn.net/pengjiangchun/article/details/105573687
【Selenium06篇】python+selenium实现Web自动化:日志处理
https://blog.csdn.net/pengjiangchun/article/details/105574193
【Selenium07篇】python+selenium实现Web自动化:PO模型,PageObject模式!
https://blog.csdn.net/pengjiangchun/article/details/105574676
【Selenium08篇】python+selenium实现Web自动化:数据驱动框架,ddt,关键字驱动框架
https://blog.csdn.net/pengjiangchun/article/details/105574954
三、Selenium之-PO模型
PO 模型:将测试的每个页面看作一个对象,将这些对象抽象成类,完成页面元素和业务操作;将测试类和 page 类区分开来,需要调用什么类去取即可,降低耦合。当页面元素发生变化时,只需修改对应页面类部分,其他部分极可能做到最小修改。
PO 模型的分层结构(以注册页面作为page对象):
(1)register_page(页面元素查找类) --->
(2)register_handle(操作层:将查找到的元素上传递数据) --->
(3)register_business(业务层:调用操作层,根据操作层传递的数据进行测试业务场景判断,如验证码输入错误场景等)
(4)register_cases(测试模块:封装业务层,进行测试用例业务组装)。
1. 元素查找
此页面主要是查找注册页面中正常的元素和异常的元素(错误的提示信息&