6.接口测试框架:interface-test用例编写

用例编写能力门槛

 python入门级,会看F12数据

  1. 熟悉功能测试,单接口测试,会使用类似postman同类工具。
  2. 熟悉 python的数据类型,string,int,list,dict等常见数据类型
  3. 了解这些数据类型的一些操作方法:拼接、切片、取数等
  4. 了解类 和 方法的 基本使用
  5. 了解F12里面的各页签和字段的数据概念。

用例设计思路:

常规用例的模板:

用例编写的内容主要包括:

1. 用例标题

2. 对应接口

3. 请求头数据

4. 请求方法和入参类型

5. 请求参数

6. 提取数据

7. 预期断言

from testbase.base_unittest import UnitTemplate


class TestAutoHome(UnitTemplate):
    """登录后获取xxx的接口"""

    def test_1001(self):
        self.tci["验证点"] = "登录后-fetchUserDesktop接口"
        self.tci["接口url"] = "/config/v2/xxxx/p/fetchUserDesktop"
        self.tci["请求头"] = {"Content-Type": "application/json"}
        self.tci["请求方法"] = "post"
        self.tci["入参类型"] = "json"
        self.tci["参数"] = {}
        self.tci["是否打印"] = "json"
        api_url, rsp = self.do_test()
        self.fast_assert_data_count(rsp, 'data.roles', 1)

用例的注意事项: 

  1. 按目录分类:

    1. 项目-模块-功能分组(目录下的__init__.py需存在)
  2. 用例文件:

    1. 英文_功能_test.py   如: a_search_test.py
  3. 用例类:

  4. 用例序号与标题

  5. 特殊信息处理:True,False,None

  6. 变量传递

提取数据:

快速断言

  • fast_assert_status_code:断言状态码200
  • fast_assert_request_time:判断接口请求时间,部分接口如果有请求时间要求,可以用这个断言去判断
  • fast_assert_jsoncode:快速验证返回json内的 code 字段。(默认判断code==0)
  • fast_assert_data_exists : 快速验证返回json内的 是否存在某个字段或字段返回不是空
  • fast_assert_data_count: 快速验证返回json的数据list的数量与预期的比较
  • fast_assert_data_equal:快速验证返回json的数据与预期是否一致
  • fast_assert_data_compare:快速验证返回json的数据与预期进行比较
  • fast_assert_endswith:快速验证json的某个字段是否以预期值结尾
  • fast_assert_startswith:快速验证json的某个字段是否以预期值开头
  • fast_assert_data_list_contain:快速验证返回json下的 list 的数据字典字段包含预期值
  • fast_assert_text_contains:快速验证返回text的数据数量
  • fast_assert_text_regex:使用正则表达式断言接口返回值是否匹配模式
  • fast_assert_result_regex:使用正则表达式断言接口返回值是否匹配模式
  • fast_assert_data_equal_new:快速验证返回json的数据是否一致,非jres框架的接口返回未统一,去掉@check_rsp(去掉了断言里面code=0的判断)
  • fast_assert_data_type:快速验证返回json的数据的类型与预期是否一致,非jres框架的接口返回未统一,去掉@check_rsp
  • fast_assert_range_time:时间范围判断,传入时间与时间范围进行判断,注意传进来的时间格式要统一
  • fast_assert_error_message:快速对错误信息进行断言
  • fast_assert_dwchat:丹渥chat返回断言统一,主要针对消息的解析,以及卡片指标的断言。

除了这些定义的快速断言,还有unittest自带的,self.assert.... 依然可以使用。

示例: 

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值