Python+Selenium+Unittest实现PO模式web自动化框架(1)
2024-09-02 22:18:21
1.什么是PO模式?
PO是Page Object的缩写
PO模式是自动化测试项目开发实践的最佳设计模式之一,讲页面定位和业务操作分开,也就是把对象的定位和测试脚本分开,从而提供可维护性。
主要有以下几种分层方式:
1)两层: 对象逻辑层+业务数据层
2)三层:对象库层+逻辑层+业务数据层
3)四层:对象库层+逻辑层+业务层+数据层
2.PO模式的优势
1)效率高 :PO模式的逻辑层方法有具体定义,元素发生变化修改逻辑层,业务层不变。这样看来结构简单清晰,舒服更符合人类习惯, 普通方式就是继续堆case。
2) 复用多收益大: 同样这里如果逻辑复用越多,PO模式收益越大,因为对于PO模式来说都只需要修改一个地方多处受益。
2) 复用多收益大: 同样这里如果逻辑复用越多,PO模式收益越大,因为对于PO模式来说都只需要修改一个地方多处受益。
3.po模式的具体框架
1.Af_Web:项目名称
2.Common:主要放封装好的定位元素方法、项目的路径配置、测试报告的方法库、自定义的logging模块等
3.Outputs:主要放log日志、测试报告、测试截图等
4.PageLocators:主要放web页面的定位元素
5.PageObjects:主要放各页面的业务功能
6.TestCases:主要放测试用例根据Python+unittest或者Python+pytest进行测试用例的封装
7.TestDatas:主要放测试数据
8.main.py:最后在项目下有一个main.py文件,就是项目的入口。
注:PO模式有很多的分层,你也可以根据你自己的要求进行设计,po模式只是一种思想,没有固定的模式的。
源码地址:
链接:https://pan.baidu.com/s/1tbq87ZmjaLcfHwUfnrCNWQ
提取码:wwe7
复制这段内容后打开百度网盘手机App,操作更方便哦
最新文章
- Git – Fast Forward 和 no fast foward
- Dojo注意
- Android调试常用的工具简单介绍
- thinkphp操作数据库
- CA 配置网站映射
- USACO Hamming Codes DFS 构造
- 【 DCOS 】织云 CMDB 管理引擎技术详解
- Leetcode_238_Product of Array Except Self
- the import java.util.* cannot be resolve,怎么解决
- Bigger-Mai 养成计划,Python基础巩固四
- python(leetcode)-66加一问题
- Lab 9-2
- Xamarin.Android 压缩图片并上传到WebServices
- 【BZOJ4813】[CQOI2017]小Q的棋盘(贪心)
- Javascript 原生Cookie使用用法
- 基于VS Code创建Java command-line app
- 卷积神经网络 CNN 笔记
- java.net.NoRouteToHostException
- 492. Construct the Rectangle
- 埃及分解:将2/n分解成为1/x+1/y的格式
热门文章
- QEMU网络模式(一)——bridge
- Kubernetes应用管理器OpenKruise之CloneSet
- 使用SimpleDateFormat验证日期格式
- day021|python之面向对象进阶1
- ASP.NET Web API运行提示:找到了与该请求匹配的多个操作的解决方法
- python序列(一)列表的增加
- 使用@Cacheable注解时,Redis连不上,直接调用方法内部的解决方案
- IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了
- Node.js躬行记(5)——定时任务的调试
- ServletContext的作用