1、什么是PO模式
全称:page object model 简称:POM/POhtml
PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性!java
主要分三层:python
1.基础层BasePage:封装一些最基础的selenium的原生的api方法,元素定位,框架跳转等。mysql
2.PO层:元素定位、得到元素对象,页面动做git
3.测试用例层:业务逻辑,数据驱动!github
三者的关系:PO层继承继承层,测试用例层调用PO层!面试
2、什么是自动化测试框架
说到自动化框架,我相信不少人应该都听过这个词,可是不知其究竟是个什么东西,为何要用自动化框架。有不少人堆自动化框架都是懵懵懂懂,就跟谈恋爱同样,朦胧美!sql
一个好的自动化测试框架是可让不那么懂技术的人也能够写自动化测试脚本的,数据库
一个好的自动化测试框架能够减小自动化测试中脚本管理和维护当中的人力物力和财力。api
其实自动化框架的一个最大的意义在于可重用性。由于在框架里,你能够实现不少的通用功能来简化整个脚本的开发过程。而且生成美观的测试报告。
3、非PO模式和PO模式优缺点对比
自动化软件测试交流!!!群:642830685,领取最新软件测试资料大厂面试和Python自动化学习资料!一块儿学习交流
非PO模式面向过程的线性脚本POM把页面元素定位和业务操做流程分开。实现松耦合。复用性差UI元素的改变不须要修改业务逻辑代码。只须要找到对应的PO页修改定位便可,数据代码分离
维护性差PO能使咱们的测试代码提升代码的可读性,高复用性,可维护性。
4、如何从0到1搭建PO模型
非PO模式举个栗子:有以下百度搜索脚本:

如何把上述栗子改为PO模式呢?
一、基础层BasePage
二、PO层:封装百度页面元素定位,元素对象以及页面操做

三、测试用例层:业务逻辑和数据驱动

从上面的PO案例:让咱们更加了解清晰PO的优势在于:
1.POM把页面元素定位和业务操做流程分开。实现松耦合。
2.UI元素的改变不须要修改业务逻辑代码。只须要找到对应的PO页修改定位便可,数据代码分离
3.PO能使咱们的测试代码提升代码的可读性,高复用性,可维护性。
5、自动化测试框架和PO的关系
自动化框架=po+各类封装(日志处理封装,全局配置文件的封装,数据库链接的封装,excel操做封装,数据驱动封装等)
其实想要胜任UI自动化测试岗位还须要掌握如下内容:
1.python或java
2.selenium的API
3.unittest/pytest单元测试框架
4.htmltestrunner/allure测试报告
5.数据驱动dtt(excel,yaml,mysql)或pytest中的fixtrue
6.关键字驱动:公共类,方法封装,随机数,数据库链接,全局登陆
7.全局配置文件处理
8.日志处理
9.断言
10.第三方库
11.git和github或码云集成开发!
12.jenkins持续集成
6、总结
若是您以为对您有帮助,请点赞,收藏,分享三连!您的支持是笔者最大的动力!