栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Python接口自动化响应结果json格式化输出+断言响应结果中指定的属性值+其他

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python接口自动化响应结果json格式化输出+断言响应结果中指定的属性值+其他

一、Python字典
二、Python元组
三、接口响应值转为字典格式
四、接口响应值以json格式输出并添加到allure报告中
五、断言响应结果中指定的属性值
六、TypeError: string indices must be integers报错处理

一、了解Python字典

字典是另一种可变容器模型,且可存储任意类型对象。

链接:https://www.runoob.com/python/python-dictionary.html

二、了解Python元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。
元组使用小括号,列表使用方括号。

链接:https://www.runoob.com/python/python-tuples.html

三、接口响应值转为字典格式
# @Author: Eayonz,,定义字典,存储response的响应值
        response_dicts = dict()
        response_dicts['code'] = response.status_code
        try:
            response_dicts['body'] = response.json()
        except Exception as e:
            print(e)
            response_dicts['body'] = ''
        response_dicts['text'] = response.text
        return response_dicts
四、接口响应值以json格式输出并添加到allure报告中
# -*- coding: utf-8 -*-            
# @Author  : Eayonz
# @FileName: ConsoleJson.py
# @Software: PyCharm

"""
封装控制台以json格式化输出
"""
import json
class ConsoleJsons:

    @staticmethod
    def console_json(response):
        a = response['text']
        j = json.loads(a)
        json_dicts = json.dumps(j, indent=4, ensure_ascii=False)
        # 当返回值>1时,Python将返回值包装成元组,并返回
        return j, json_dicts
        # allure报告中添加response,以json格式化输出数据
        jresponse = ConsoleJson.ConsoleJsons.console_json(response)[1]
        allure.attach(body=
                      f"{jresponse}",
                      name="Response Data",
                      attachment_type=allure.attachment_type.TEXT)
五、断言响应结果中指定的属性值

断言响应结果中info的下一层级:min_price字段值

# 查看上面封装的方法
# 将json字符串解码成python对象(将str转化成dict),取console_json()第1个返回值
	j = ConsoleJson.ConsoleJsons.console_json(response)[0]
	assert j['info']['min_price'] > 0
六、TypeError: string indices must be integers报错处理

解释:TypeError:字符串索引必须是整数
Python按照字典格式访问,无法直接识别json,需要借助json.loads()方法将其格式化处理。

a = response['text']
# json.loads将json字符串解码成python对象(将str转化成dict)
j = json.loads(a)

补充:

# json.dumps将python对象格式化成json字符(将dict转化成str)
json_dicts = json.dumps(j)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/887512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号