接口测试困难

一、断言

1.数据结构判断(将值的内容忽略)通过字典键值、列表长度

2.判断预期与响应完全一致(列表按顺序或没有列表的情况)

def assert_equal(self,expect_value,response,*args):
    # 响应结果中的列表顺序必须与预期结果的顺序完全一致,否则会断言失败
    global remove_args
    remove_args = [arg for arg in args]
    if isinstance(expect_value,(list,tuple)):
        assert isinstance(response,(list,tuple)),"%s 不是列表,请核查!" %response
        assert len(expect_value) == len(response)
        if len(expect_value) != 0:
            for exp,res in zip(expect_value,response):
                self.assert_equal(exp,res,*args)
    elif isinstance(expect_value,dict):
        assert isinstance(response,dict),"%s 不是字典,请核查!" %response
        for k in expect_value.keys():
            assert k in response.keys()
            if k in remove_args :
                continue
            else:
                # assert k in response.keys()
                self.assert_equal(expect_value[k],response[k],*args)
    elif isinstance(expect_value,(int,bool,str)):
        assert expect_value == response,"%s 不等于 %s" %(expect_value,response)

  

3.判断响应数据是否包含关键字

def assert_contain(self,expect_value,response,*args):
        ‘‘‘ bool型无法转换并判断是否包含‘‘‘
        global remove_args
        remove_args = [arg for arg in args]  # 取消断言的key
        if isinstance(expect_value,(list,tuple)):
            for i in expect_value :
                self.assert_contain(i,response,*args)
        elif isinstance(expect_value,dict) :
            for k,v in expect_value.items():
                if k in remove_args :
                    continue
                else:
                    self.assert_contain(v,response,*args)
        elif isinstance(expect_value,(int,bool)) :
            self.assert_contain(str(expect_value),response,*args)
        elif isinstance(expect_value,str) :
            print(expect_value)
            assert expect_value in json.dumps(response,ensure_ascii=False),"%s 不在响应结果中,请核查!" %expect_value

4.判断结果不包含关键字

def assert_not_contain(self,expect,reponse):
        assert expect not in json.dumps(reponse,ensure_ascii=False),"%s 在响应结果中,请核查!" %expect

5.下载文件与预期结果对比

二、遇到的困难

1.接口文档在用与废弃未及时更新

2.代码复制,未修改注释,导致接口说明不清晰

原文地址:https://www.cnblogs.com/cliu/p/12159943.html

时间: 2024-10-13 21:04:55

接口测试困难的相关文章

【转】使用 Jmeter 做 Web 接口测试

最近总结了一下在接口测试方面的知识与心得,在这里与大家分享一下,如有说的不对的地方请多多指正. 接口测试概述 定义 API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for

JMeter——使用 Jmeter 做 Web 接口测试

接口测试概述 定义 API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and se

项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 项目管理大法归档: 1.思维导图 如果你在想事情,而又不那么清晰明确,那么就用思维导图吧,它可以随着你的思维,很自然地记忆你思维的过程. 其实使用

使用 Jmeter 做 Web 接口测试

接口测试概述 定义 API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and se

使用jmeter做web接口测试

接口测试概述 定义 API testing is a type of software testing that involves testing application programming interfaces (APIs) directly and as part of integration testing to determine if they meet expectations for functionality, reliability, performance, and se

一.接口测试概述

定义 WIKI定义:接口测试作为集成测试的一部分,通过直接控制API来判断系统的功能性,可靠性,性能与安全性.API测试是没有界面的,执行在通讯层.API 测试在自动化测试中有着重要的地位,因为API一般是应用逻辑的主要接口,而GUI测试在敏捷开发和DevOps的快速迭代和频繁变更中很难维护. 分类 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等.接口测

新人学习之接口测试学习

  <后台搜索服务>接口学习书 适用范围  XX软件-大客户业务中心  作者  段旭    一.项目概述 1.项目简介: (1)内容: 此文是介绍接口测试是怎样进行的,结合后台搜索服务,从理论引申到实践的一个学习过程,其中包括介绍阶段性的学习与实践,内容并不具体详细,很多细节还是需要自己进行学习和探究,知识与经验是靠累积与沉淀才稳固牢靠. (2)背景: XX开发适配各种http接口给需要服务的CP提供相应的支持. (3)意义: 议读此计划书,一共有3重意义: 第一,学习测试,认识软件测试过程,

接口测试该怎么做

结合工作实际和学习其他人的总结,是时候对"接口测试该怎么做"来一个梳理了.一.对于接口测试来说,项目测试用例的重复运行首先是表现在单个测试用例的独立性方面的,也就是说,每一个测试用例的运行除了依赖被测对象和对应的数据库环境外,是不依赖于其他任何测试用例的,并且这个测试用例执行完毕后,对系统来说,也是没有任何痕迹的,这样就保证了每个测试用例运行时,都在一个干净的环境中运行.要实现测试用例的独立性,就必须对被测系统的设计有详细的了解,这样,不会出现测试用例执行后遗漏数据,环境未改变,另外,

7-29接口测试入门

学习目录: 1.接口基础知识 2.接口测试的价值 3.接口行为观测与分析 4.接口用例编写与管理 5.接口用例运行与维护 1.接口定义 应用程序接口(API:Application Programming Interface):又称为应用编程接口,就是软件系统不同组成部分衔接的约定. API的应用开发需要按照API发布者提供的规范进行开发. API网关 接口测试的重要性 UI自动化天生缺陷 测试执行效率低下 测试构建成功率低 测试覆盖能力有限 测试用例维护困难 接口测试的必要性 行业成熟方案 更