我是靠谱客的博主 感性睫毛,最近开发中收集的这篇文章主要介绍基于Python Selenium Unittest PO设计模式详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  本文章会讲述以下几个内容:
  
  1、什么是PO设计模式(Page Object Model)
  
  2、为什么要使用PO设计模式
  
  3、使用PO设计模式要点
  
  4、PO设计模式实例
  
  1、什么是PO设计模式 (Page Object Model)
  
  一种在测试自动化中变得流行的设计模式,使得自动化测试脚本的减少代码重复、更易读、减少维护成本。
  
  一般PO设计模式有三层
  
  第一层:
  
  对Selenium 进行二次封装,定义一个所有页面都继承的 BasePage ,
  
  封装 Selenium 基本方法 例如:元素定位,元素等待,导航页面 ,
  
  不需要全部封装,用到多少方法就封装多少方法。
  
  第二层:
  
  页面元素进行分离,每个元素只定位一次,隔离定位,如果页面改变,只需要改变相应的元素定位;
  
  业务逻辑分离 或 操作元素动作分离
  
  第三层:
  
  使用单元测试框架对业务逻辑进行测试
  
  2、为什么要使用PO设计模式
  
  页面频繁变化,(页面html结构等变化)导致页面UI元素频繁变动,元素定位改变
  
  传统线性自动化(面向过程开发),用例中需要反复的定位同一个元素
  
  每当页面发生变化的时候,需要在用例中寻找变动的部分,工作量大,容易产生遗漏,不容易维护
  
  3、使用PO设计模式要点
  
  不要在page页面对象外做元素定位
  
  不在page页面对象里面写断言,除非是页面是否成功加载断言
  
  需要多少个元素就定位多少个,不需要对整个页面的元素进行定位
  
  当你的用例设计页面跳转时,例如登陆操作,登陆完成后跳转首页,当页面发生“跳转”
  
  ,封装的业务逻辑需要返回(return)对应的页面对象的实例
  
  BasePage封装Selenium 基础方法,不需要全部封装,用到多少方法就封装多少方法
  
  4、 PO设计模式实例
  
  以TAPD作为项目例子,用PO设计模式实现登陆:
  
  const myMap = new mapboxgl.Map({
  
  container: '<Id of Container Element>',
  
  style: '<Your yongshiyule178.com Style Here www.dasheng178.com>',
  
  center: [112.508203125, 37.97980872872457],
  
  zoom: 4,
  
  pitch: 0,
  
  bearing: 0,
  
  });
  
  Github地址:https://www.ysyl157.com github.com/SEtester/easy_POM

最后

以上就是感性睫毛为你收集整理的基于Python Selenium Unittest PO设计模式详解的全部内容,希望文章能够帮你解决基于Python Selenium Unittest PO设计模式详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部