这次我们来聊UI自动化测试中的两种设计模式PO、关键字,相信做自动化测试的朋友都很清楚这两个设计模式的重要性,首先PO是目前公认最好的设计模式没有之一,现在公司里面基本都是用的这种设计模式,关键字:面向对象编程思维逻辑、流传至今,最为核心的测试框架底层逻辑重要性可想而知,RobotFramework框架就是基于关键字来实现的,能学会这两个设计模式,面试成功率增加70%,不多说开始介绍两种设计模式.
目录
自动化测试介绍:PO原理讲解:关键字驱动原理讲解(面向对象编程思维体现):自动化测试介绍:
1.目前在UI自动化中,主要的自动化技术分为两类:
POM关键字驱动
2.主流技术就是Selenium+WebDriver来实现的。
Selenium一般应用Selenium3.141版本。WebDriver对应浏览器即可。线性代码(对于自动化测试的学习而言是非常好的一个东西。)
缺点:
1代码冗余过
2.维护复杂程度高
3.代码的不稳定
4.无法推行
PO原理讲解:
目前业内最主流的自动化测试框架设计模式分为:
PO设计模式
PO和POM的区别到底是什么?
唯一的区别就是POM多了一个M,除此之外没有区别。PageObject Module,页面对象模型。简称PO或者POM,是目前业内公认最佳的设计模式。
自动化测试的实际价值,自动化测试覆盖率,传统的关键字驱动测试覆盖率一般在30%到40%左右,POM测试覆盖率做的好的,基本可以涵盖60%到70%左右的覆盖率,UI领域下,自动化测试模式中最好的一种模式。
POM是一种针对于单个系统专门定制研发的测试框架。如果你们的企业是以一个核心产品来进行经营,POM体系会非常适合你们。
实例:
登录——添加商品到购物车——下单——支付——完成
POM:
1.进入登录页,实现登录业务
2.进入商品详情页,添加商品到购物车
3.进入购物车页,选中内容进行下单支付。
4.完成,登录页——商品详情页——购物车页
POM实现工程结构:
1.基类:基于关键字驱动类,实现的工具库
2.页面对象类:所有的页面对象保存(页面核心元素、页面URL,页面业务流)
3.测试用例类:执行的测试代码
4.测试数据类:测试过程中所需要使用的数据
关键字驱动原理讲解(面向对象编程思维体现):
关键字驱动(面向对象编程思维逻辑)
流传至今,最为核心的测试框架底层逻辑
通过调用特定的关键字,然后基于关键字逻辑实现既定的业务流程。
列:听明白的请刷花
对象: 学员
触发事件:刷花
触发条件:听明白的
def 刷花:
if 学员听明白的:
return 刷花
else:
return None
代码变得更简单,复用性更好,维护性也更好。冗余也降低了。
关键字驱动体系下的结构:
逻辑代码
测试代码
测试数据
基于数据驱动结合关键字驱动实现的自动化测试效果。
关键字驱动主要应用方向:
对于多系统的复用性自动化测试执行
列:关键字驱动结构实现RobotFramework测试框架底层核心:
1.rf最为出名的就是关键字驱动结合数据驱动,基于表格编程的形态实现自动化测试。
2.基于python+Excel实现rf的底层逻辑
3.在excel中填入关键字以及对应的参数
4.读取excel内容
5.基于excel内容执行相对于的关键字函数,实现自动化测试
需要相关视频教程、笔记、面试题点击这里领取