自动化测试:数据驱动和POM

2022-02-21  本文已影响0人  82a7fe2508f4


本期主要内容

▲ 数据驱动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:对搜索页面进行测试;

上一篇 下一篇

猜你喜欢

热点阅读