1.什么是PO模式?

PO是Page Object的缩写

PO模式是自动化测试项目开发实践的最佳设计模式之一,讲页面定位和业务操作分开,也就是把对象的定位和测试脚本分开,从而提供可维护性。

主要有以下几种分层方式:
1)两层: 对象逻辑层+业务数据层
2)三层:对象库层+逻辑层+业务数据层
3)四层:对象库层+逻辑层+业务层+数据层

2.PO模式的优势

1)效率高 :PO模式的逻辑层方法有具体定义,元素发生变化修改逻辑层,业务层不变。这样看来结构简单清晰,舒服更符合人类习惯, 普通方式就是继续堆case。

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,操作更方便哦

最新文章

  1. Git – Fast Forward 和 no fast foward
  2. Dojo注意
  3. Android调试常用的工具简单介绍
  4. thinkphp操作数据库
  5. CA 配置网站映射
  6. USACO Hamming Codes DFS 构造
  7. 【 DCOS 】织云 CMDB 管理引擎技术详解
  8. Leetcode_238_Product of Array Except Self
  9. the import java.util.* cannot be resolve,怎么解决
  10. Bigger-Mai 养成计划,Python基础巩固四
  11. python(leetcode)-66加一问题
  12. Lab 9-2
  13. Xamarin.Android 压缩图片并上传到WebServices
  14. 【BZOJ4813】[CQOI2017]小Q的棋盘(贪心)
  15. Javascript 原生Cookie使用用法
  16. 基于VS Code创建Java command-line app
  17. 卷积神经网络 CNN 笔记
  18. java.net.NoRouteToHostException
  19. 492. Construct the Rectangle
  20. 埃及分解:将2/n分解成为1/x+1/y的格式

热门文章

  1. QEMU网络模式(一)——bridge
  2. Kubernetes应用管理器OpenKruise之CloneSet
  3. 使用SimpleDateFormat验证日期格式
  4. day021|python之面向对象进阶1
  5. ASP.NET Web API运行提示:找到了与该请求匹配的多个操作的解决方法
  6. python序列(一)列表的增加
  7. 使用@Cacheable注解时,Redis连不上,直接调用方法内部的解决方案
  8. IaaS、PaaS、SaaS、DaaS都是什么?现在怎么样了?终于有人讲明白了
  9. Node.js躬行记(5)——定时任务的调试
  10. ServletContext的作用