一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“自动化测试:数据驱动和POM”。
本期主要内容
数据驱动ddt
页面对象模型POM
数据驱动
数据驱动:从数据文件读取输入数据,而后将测试数据传入测试脚本,不同的数据对应不同的测试用例,达到数据和脚本分离的效果。
优点:
数据与测试脚本分离,从而可以在不修改测试脚本的情况下通过更新测试数据完成对测试用例的增加、更改和删除;
通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例;
提高了测试脚本的灵活性,增加测试覆盖面,以及提高应对测试对象变更的能力;
数据驱动-ddt
数据驱动--ddt
1. ddt装饰器装饰测试类;
2. data、file_data,、uppack装饰器装饰测试方法
3. 测试数据通过data或file_data装饰器传输给测试方法
4. 运行时需要运行整个测试类
示例:
@ddt
class Test112(unittest.TestCase):
data0=[(1,1),(3,4),(5,6)]
@data(*data0)
@unpack
def test11(self, data1,data2):
self.assertEquals(data1,data2)
POM页面对象模型
Page Object设计模式是一种面向对象的设计模式,将测试对象及单个的测试步骤封装在每个page类中,以页面为单位进行管理。
页面对象与用例分离,使得我们更好的复用对象;
可复用的页面方法代码会变得更加优化;
业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰
更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素
页面基类:封装页面类公共的方法和属性;
页面类:继承页面基类,并管理当前页面的元素及操作;
测试类:继承TestCase类,实现测试用例的组织;
示例:
BasePage:百度网站各页面通用的操作等;
SearchPage:管理搜索页面的元素和操作;
TestSearchPage:对搜索页面进行测试;
今天关于“自动化测试:数据驱动和POM”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!