Selenium中的PageObject设计模式(Python3.6实现) 附Selenium中等待的问题

认识UI测试

测试金字塔
个人兴趣接触了Selenium框架,刚开始的时候想必大家对这个框架还都蛮感兴趣的,放这个金字塔的意思就是,还是提醒一下,多进行基础的UnitTest(底层的单元测试),不要过分迷恋应用层的自动化框架。因为UI层如果全部实现自动化,是一个劳民伤财的事情,并且回报率很低,多关注底层的自动化测试才是明智之举。最近读了How Google Test(谷歌测试之道),书中对web产品测试就分为敏捷测试金字塔的三层,并且工作量配比是,Unit:70%,Service:20%,UI:10%。

PageObject设计模式(Python3.6)

PageObject模式主要是将每个页面设计为一个class,其中包含页面中的需要测试的元素(按钮,输入框,标题),等这样在Selenium测试页面中可以通过调取页面类来获取页面元素,这样避免当页面元素id或者位置变化后,需要改测试代码。当元素ID变化时,只需要改测试页面Class中的页面属性即可。将页面定位与和业务分开,分离测试对象(元素对象)和测试脚本(用例脚本),提高可维护性。
当我们对一个网页站看自动化UI测试的时候,初学者熟悉Selenium中的各种API调用以及使用方法的学习路线是很常见的,但是我们刚开始写的Code都是线性的UI流程。在熟悉了API的使用方法后,如果给你一个网站或者TestCase可能你关注的问题已经不是如何摸着线性的逻辑展开测试,而是如何解耦
简单说一下我理解的框架的意义,我们刚开始接触一些设计模式MVC或者Django用到的MTV也好,都是一些框架使用起来确实方便但是为什么呢?初期只是觉得可能框架里面的API更丰富,实现了很多接口不需要我们自己写一些函数。但是更深层次的意义就在于解耦。把一个大到一个项目,小到一个网页的内容全部解耦

UI自动化中的解耦

一个很明显的道

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值