自动化测试po模式是什么?自动化测试po分层如何实现?(附详细源码)
一、什么是PO模式
全称:page object model 简称:POM/PO
PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性!
主要分三层:
1.基础层BasePage:封装一些最基础的selenium的原生的api方法,元素定位,框架跳转等。
2.PO层:元素定位、获得元素对象,页面动作
3.测试用例层:业务逻辑,数据驱动!
三者的关系:PO层继承继承层,测试用例层调用PO层!
二、什么是自动化测试框架
说到自动化框架,我相信很多人应该都听过这个词,但是不知其到底是个什么东西,为什么要用自动化框架。有很多人堆自动化框架都是懵懵懂懂,就跟谈恋爱一样,朦胧美!
一个好的自动化测试框架是可以让不那么懂技术的人也可以写自动化测试脚本的,
一个好的自动化测试框架可以减少自动化测试中脚本管理和维护当中的人力物力和财力。
其实自动化框架的一个最大的意义在于可重用性。因为在框架里,你可以实现很多的通用功能来简化整个脚本的开发过程。并且生成美观的测试报告。
三、非PO模式和PO模式优缺点对比
非PO模式PO模式
面向过程的线性脚本POM把页面元素定位和业务操作流程分开。实现松耦合。
复用性差UI元素的改变不需要修改业务逻辑代码。只需要找到对应的PO页修改定位即可,数据代码分离
维护性差PO能使我们的测试代码提高代码的可读性,高复用性,可维护性。
四、如何从0到1搭建PO模型
非PO模式举个栗子:有如下百度搜索脚本:
如何把上述栗子改成PO模式呢?
1、基础层BasePage
2、PO层:封装百度页面元素定位,元素对象以及页面操作
3、测试用例层:业务逻辑和数据驱动
从上面的PO案例:让我们更加了解清晰PO的优点在于:
1.POM把页面元素定位和业务操作流程分开。实现松耦合。
2.UI元素的改变不需要修改业务逻辑代码。只需要找到对应的PO页修改定位即可,数据代码分离
3.PO能使我们的测试代码提高代码的可读性,高复用性,可维护性。
五、自动化测试框架和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持续集成
这些内容在我的CSDN博客当中基本都有涉猎,大家需要什么就去搜索什么吧!
六、总结
全文笔者耗时两小时,纯手打,纯干货,如果您觉得对您有帮助,请点赞,收藏,分享三连!您的支持是笔者最大的动力!
绵薄之力
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…….
自动化测试po模式是什么?自动化测试po分层如何实现?(附详细源码)相关推荐
- 自动化测试如何保持登录状态_自动化测试po模式是什么?自动化测试po分层如何实现?-附详细源码...
一.什么是PO模式 全称:page object model 简称:POM/PO PO模式最核心的思想是分层,实现松耦合!实现脚本重复使用,实现脚本易维护性! 主要分三层: 1.基础层BasePage ...
- 自动化测试po模式是什么?自动化测试po分层如何实现?-附详细源码
目录:导读 一.什么是PO模式 二.什么是自动化测试框架 三.非PO模式和PO模式优缺点对比 四.如何从0到1搭建PO模型 五.自动化测试框架和PO的关系 六.总结 一.什么是PO模式 全称:page ...
- python 自动化微信小程序_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
原标题:干货 | 微信小程序自动化测试最佳实践(附 Python 源码) 本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版. 随着微信小程序的功能和生态日益完善, ...
- C#毕业设计——基于C#+asp.net+sqlserver基于C2C模式的网上购物系统设计与实现(毕业论文+程序源码)——网上购物系统
基于C#+asp.net+sqlserver基于C2C模式的网上购物系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver基于C2C模式的网上购物系统 ...
- python selenium po_python+selenium基于po模式的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- java web典型模块大全_python+selenium基于po模式的web自动化测试框架
一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...
- python+selenium基于po模式的web自动化测试框架
目录:导读 一.什么是Selenium? 二.自动化测试框架 三.自动化框架的设计和实现 四.需要改进的模块 五.总结 一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具, ...
- 微信 小程序 python 渲染_干货 | 微信小程序自动化测试最佳实践(附 Python 源码)...
本文为霍格沃兹测试学院测试大咖公开课<微信小程序自动化测试>图文整理精华版,进阶学习文末加群! 随着微信小程序的功能和生态日益完善,很多公司的产品业务形态逐渐从 App 延升到微信小程序. ...
- 基于Selenium+Python的web自动化测试框架(附框架源码+项目实战)
目录 一.什么是Selenium? 二.自动化测试框架 三.自动化框架的设计和实现 四.需要改进的模块 五.总结 总结感谢每一个认真阅读我文章的人!!! 重点:配套学习资料和视频教学 一.什么是Sel ...
最新文章
- android 高级画布绘图
- C# 基础知识-02----强数据类型
- Spring入门(三)之IoC
- C小项目 —— 学生选课系统
- 风靡全球的儿童编程语言:Scratch
- mdadm中文man帮助
- AssertJ断言系列一
- Web图形开发方案选型,SVG/VML/Flash/Applet优劣比较
- 深度学习实践指南(六)—— ReLU(前向和后向过程)
- 11个最佳Ionic应用程序模板
- Cordova app中点击打开微信功能
- Let X be a finite set f : X → X a function. Prove that f is injective if and only if f is surjective
- 将ui文件转换为py文件
- 【LTE学习日记01】子载波功率与信道功率的换算
- vue3之语法糖script setup的父子组件、兄弟组件传值
- 电脑计算机打不开显示远程过程,Win10打不开图片提示“远程过程调用失败”的解决方案...
- 使用Qt学习C语言编程2(加入工具链)
- c语言字母数字有多少种组合,C语言------排列组合 组合情况(重复和不重复)
- Linux的目录挂载详解
- C#操作AD及Exchange Server总结(二)
热门文章
- Flutter-Ink家族
- 惠普HP DeskJet Ink Advantage 2777 驱动
- 125KHz 100cm ID 读卡电路_二维码门禁读卡器动态二维码扫描器二维码刷卡读头介绍...
- 图数据库|如何从零到一构建一个企业股权图谱系统
- 万字讲解OpenWrt防火墙iptables,并使用UCI配置防火墙
- 江苏工勤计算机高级工职称,事业单位专业技术职称与工勤岗高级工的区别
- 上位机串口数据检验方式(二)——奇偶校验
- Camera ISO、快门、光圈、曝光
- Android-jni(10)-jni调用java父类方法
- 英语听力采用计算机化考试,一图读懂北京高考英语听力机考流程,附特点及应对建议...