接口测试 requests+DDT框架

本文介绍了接口测试中使用Python的requests库结合DDT(Data Driven Testing)框架进行测试的方法。首先讲解了框架的分类,重点讨论了数据驱动测试的原理,即数据与代码分离,测试数据决定执行顺序。接着阐述了框架优化的方向,包括丰富断言、日志记录、数据回滚、异常处理和流程测试等。并提供了DDT的具体示例,展示了Util层、common层和control层的结构,以及如何生成测试报告。
摘要由CSDN通过智能技术生成

分类的核心 ---- 归类(将需要处理的事情进行归类,每一个类就是一层)
分层的原则: 相同功能的放在同一层 ---- 工具层
分层尽可能细化 ---- 工具层(读取EXCEL操作、切割、读取数据库等)

框架的分类

KDT ---- key-word drivering test 关键字驱动
DDT ---- data drivering test 数据驱动

数据驱动(DDT)本质

数据与代码分离
测试数据来决定代码的执行顺序(怎么执行)

框架的优化方向

丰富断言 ---- 新建一个断言类 ---- (相等断言、包含、真假、主动捕获异常、实例化、数据库、json)
加日志 logging info( ) error( )
日志的级别:all > info(信息) > warning(警告) > error(错误) >fatal(致命)
例子:日志级别定位error:error + fatal
数据回滚
异常捕获和处理 ---- 稳定
添加流程测试
配置
报告 ---- txt、html
可视化 ---- 数据分析 + 图形展示
发邮件
执行触发 ---- 什么时候跑? 定时定点执行,测试环境部署完成(代码完成推送)

DDT示例

Util层

import xlrd
class ReadExcel():
    def __init__(self,filename="myproject.xlsx"):
        self.filename = filename

    # 打开工作簿
    def open_workbook(self):
        workbook = xlrd.open_workbook(self.filename)
        return workbook

    # 按名字读取sheet表
    def get_sheet_by_name(self,sheetname="login"):
        workbook = self.open_workbook()
        sheet =
### 回答1: requests unitest ddt是一种在Python中进行接口测试的工具组合。requests是一个常用的HTTP库,用于发送HTTP请求和处理响应。unittest是Python的官方测试框架,用于编写和运行单元测试。ddt(Data-Driven Testing)是一个可以通过数据驱动方式进行测试的扩展库。 使用requests进行接口测试时,可以方便地发送HTTP请求并获取响应。可以通过requests的各种方法(如get、post、put等)发送不同类型的请求,并且可以设置请求头、请求体、cookies等。通过获取响应的状态码、响应头、响应体等信息,可以对接口的返回结果进行验证。 unittest是Python中常用的单元测试框架,通过创建测试类和测试方法,可以对代码的各个部分进行测试。可以使用unittest中提供的断言方法来验证代码的输出是否符合预期结果。unittest还提供了测试套件、测试运行器等功能,方便管理和执行测试用例。 ddt是unittest框架的扩展库,它可以通过将测试数据和测试方法进行分离,实现数据驱动方式的测试。可以使用ddt提供的装饰器,将测试方法与数据源进行关联,从而自动化地执行多组测试数据。这样可以更全面地覆盖测试用例,并且数据的变动不会影响到测试方法的执行。 综上所述,requests unitest ddt是一种用于Python接口测试的工具组合,它们的结合可以方便地发送HTTP请求、验证接口返回结果,并且支持通过数据驱动方式进行测试。这样可以提高测试效率、代码覆盖率,提升接口测试的可信度。 ### 回答2: requests是一个功能强大的Python第三方库,用于简化HTTP请求,可以方便地向网页发送请求,获取响应数据。 unittest是Python的标准测试框架,用于编写和运行单元测试。可以通过编写测试用例、测试套件等,对代码进行自动化测试。 ddt(数据驱动测试)是一个扩展库,可以配合unittest使用,用于简化针对不同数据集的重复测试。 在使用requests进行HTTP请求测试时,可以结合unittest和ddt来编写测试用例和测试数据。 具体步骤如下: 1. 导入requests库、unittest库和ddt库。 2. 创建一个继承自unittest.TestCase的测试类。 3. 在测试类中,编写测试方法。 4. 使用@ddt装饰器,将测试方法变成数据驱动的。 5. 编写测试数据。 6. 在测试方法中,使用requests发送HTTP请求,获取响应数据。 7. 使用unittest的断言方法,对响应数据进行断言。 8. 运行测试类,查看测试结果。 通过ddt的数据驱动,我们可以方便地对不同数据集进行重复测试,代码更加简洁高效。这样可以减少编写重复的测试代码,提高测试效率。 总结起来,requests是一个用于发送HTTP请求的库,unittest是一个用于编写和运行单元测试的库,ddt是一个用于简化数据驱动测试的扩展库。使用这三个库结合起来,可以快速、简便地进行HTTP请求的自动化测试。 ### 回答3: requests是一个用于发送HTTP请求的Python库,它提供了简洁的API,可以轻松地发送GET、POST等各种类型的请求,并处理响应数据。 unittest是Python自带的一个测试框架,用于编写单元测试。它提供了丰富的断言方法和测试组织方式,能够方便地编写和执行各种类型的测试用例。 而ddt(Data-Driven Testing)是一个Python的测试数据驱动库,它可以结合unittest来实现更灵活、高效的数据驱动测试。ddt的核心思想是通过装饰器的方式,将测试用例和测试数据分离开来,从而实现测试数据的复用和扩展。 在使用requests和unittest进行接口测试时,可以借助ddt来优化测试用例的设计。通过使用ddt的装饰器,可以将测试数据从测试用例中抽离出来,存储到外部文件中(如Excel、CSV等),从而方便地管理和扩展测试数据。然后,在测试方法中使用requests发送请求,并使用unittest的断言方法对响应数据进行校验,保证接口的正确性。 使用ddt还可以实现参数化测试,即通过传入不同的测试数据,执行相同的测试方法来验证接口的稳定性和可靠性。这种方式可以快速地执行大量的测试用例,提高测试覆盖率。 总之,requests、unittest和ddt的结合可以优化接口测试的设计和执行,提高测试效率和质量,是接口测试工程师不可或缺的工具和技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值