学会了“PPAP”还怕代码冗余

发表于:2017-9-27 17:11

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:搜狗测试

#
Appium
#
Python
分享:
  哈喽,艾瑞巴蒂,小编又在一个新的周二和大家见面了,言归正传“PPAP”到底是个啥呢?请继续往下看吧
  一、理解下“PPAP”
  第一个P
  Page Objects
  第二个P
  Python
  第三个A
  Appium
  查看全部↓
  二、Page Object(今天讲解的重点)
  1. 如何理解Page Object
  Page object是一种在测试自动化中非常流行的设计模式,它用于增强测试维护和减少代码复制。每当需要与该页面的UI交互时,测试就使用此类对象的方法。好处是,如果UI对页面进行更改,则测试本身不需要更改,只需要修改测试用例中的代码。随后,支持新UI的所有更改都位于一个位置。 
  Page Object设计模式提供以下优点
  ●有测试代码和页面的具体代码如定位器之间的完全分离(或如果你使用一个UI布局图)。
  ●页面提供的服务或操作只有一个存储库,而不是分散在测试中的这些服务。
  2.如何设计代码结构
  Data:测试数据。后期准备把代码中会所有测试数据都整合xml内;
  PO:所有基础类;
  Public:一些公共的方法,比如测试报告脚本,封装好的
  Result:测试结果,包括测试报告和截图
  TestCase:测试用例都放这儿
  run_case:测试套件,利用HTMLTestRunner.py,输出测试报告到/Result下
  3.如何完善后续代码
  ●Base内重新封装的是基础的Webdriver方法和一些测试用例有需要的公用方法,PO内的其他Page都是继承自Base;
  ●在DashPge中实现Driver调用,目标是只在Base内定义好Driver,指定好端口,所有测试用例共用一个Driver,直接在测试用例内调用;
  ●直接在Page内封装整个业务流程的方法,测试用例中代码量会少很多; 
  简单说明下: 
  (1)场景:登录业务 
  (2)Page内:a.输入用户名 b.输入密码 c.点击登录按钮;A.登录方法(包含abc) 
  (3)测试用例内: 1.直接调用Page的A;2.顺序调用Page的abc
  ●通过测试套件去驱动HTMLTestRunner生成测试报告,并且加入了截图功能

精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号