Python接口自动化测试框架【四】

本文为博主原创,未经许可严禁转载。
本文链接:https://blog.csdn.net/zyooooxie/article/details/113543817

已经分享了前3篇,第一篇第二篇第三篇,继续分享。

在这里插入图片描述

接口自动化测试框架的 category,有兴趣,可以看看。

个人博客:https://blog.csdn.net/zyooooxie

需求

要将接口实际的返回值 和 expected data 做断言,如何来做呢?

assert_fun

    @staticmethod
    def assert_fun(dy, res):
        Log.info('处理后的断言:{}'.format(dy))
        res_json = res.json()
        res_json_str = str(res_json)

        if isinstance(dy, str):
            assert res_json_str.find(dy) != -1

        elif isinstance(dy, dict):
            for k, v in dy.items():
                Log.info('k:v 实际 {}:{}'.format(k, v))
                result = jsonpath.jsonpath(res_json, '$..'+k)[0]
                assert result == v

        elif isinstance(dy, int):
            assert res.status_code == dy
        else:
            raise Exception('处理后的断言 不合法')

sql_assert_fun



    @staticmethod
    def sql_assert_fun(dy, sql, res, db, cur):
        try:
            cur.execute(sql)
            data = cur.fetchall()
            Log.info('数据库执行sql的结果:{}'.format(data))
        except Exception as e:
            db.rollback()
            raise Exception('数据库 查询失败:{}'.format(e))

        Log.info('excel 期待响应的结果:{}'.format(dy))
        assert float(data[0][0]) == float(dy)

        res_text = res.text
        Log.info('请求实际响应的结果:{}'.format(res_text))
        assert res_text.find(str(data[0][0])) != -1

这部分代码:

  1. excel 无sql语句,断言,走assert_fun();
  2. excel 有sql语句,走sql_assert_fun();但实际有风险,只断言响应中 有此str;故而 增加一条用例。

在这里插入图片描述

这篇就主要这些内容;该系列第五篇 接口自动化框架之 测试用例

交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值