【Python3-接口自动化-5-JSON和字典的区别】教程文章相关的互联网学习教程文章

python接口自动化之-- json参数替换【代码】

#! /usr/bin/python# coding:utf-8# class changeData(object):class getValues(object): def __init__(self): pass #通过key获取嵌套字典value def get_target_value(self,key, dic, tmp_list): """ :param key: 目标key值 :param dic: JSON数据 :param tmp_list: 用于存储获取的数据 :return: list """ if not isinstance(dic, dict) or not isinstance(tmp_l...

python接口自动化之json断言【图】

做接口自动化的时候,少不了断言的方法。常用的断言方法:r.url,r.status_code,r.headers,r.cookies,r.json,r.request等。我自己在做接口自动化的时候,经常会使用多个断言,不只是使用其中一个断言的。今天讲下r.josn()断言的使用方法。如下图:1,先打印出r.json(), 再进行json()断言。我使用的是python的unittest框架,所以断言方法如下图:我这里是断言:headers中的‘content-length‘的值。前面的一个截图中,content-length的...

python接口自动化39-JMESPath解析json数据【代码】【图】

前言 前面学了 jsonpath 可以很好的解析 json 数据,提取出我们想要的内容,对于平常的基本工作没太大的问题,但有一点点小遗憾。 jsonpath 的 python 库功能并不是很强大,不支持过滤器使用正则表达式,一些常用的函数也不支持,对于一些高级语法并不支持。 看到有小伙伴提到 JMESPath 库也可以解析json,于是翻阅了下官方文档,资料很全,功能也很强大 JMESPath 简介 JMESPath 是 JSON的查询语言,您可以从JSON文档中提取和转换元...

python接口自动化(三十一) json解析神器jsonpath【图】

前言 做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言。 当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往在返回结果取值上浪费很多时间,于是就有了jsonpath解析库,专门解决json路径深,取值难的问题。 字典取值 对接口返回的json,转成dict类型,通过字典键值对取值#返回结果,下面是dict result = {"code": 0,"data": [{"age": 20,"create_time": "2019-09-15","id": 1,...

Python3-接口自动化-5-JSON和字典的区别【代码】

json:是一种数据格式,是纯字符串。可以被解析成Python的dict或者其他形式。 dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方案。它使用内置的哈希函数来规划key对应value的存储位置,从而获得的数据读取速度。 一、json和dict区别: 1、json的key只能是字符串,python的dict可以是任何可hash对象(hashtable type); 2、json的key可以是有序...

python接口自动化:响应内容中json字符串对象的处理【代码】

实现代码如下:import json #定义一个字典、一个列表、两个字符串({}中必须是双引号) di1={"name":"badbadboy","age":"24"} di2=[{"name":"badbadboy","age":"24"}] di3={"name":"badbadboy","age":"24"} di4=[{"name":"badbadboy","age":"24"}] #将列表/字典转换为json字符串对象 di5=json.dumps(di1) di6=json.dumps(di2) #将字符串转换为json列表/字典对象(响应内容中若为json字符串对象,可用json.loads()处理) di7=json.loads...

python接口自动化--json数据处理【代码】

Request传Json参数 Post请求有两种方法传json参数第一种:传json参数(自动转json了)第二种:传data参数(需json转换) Responses返回json数据 1 import requests2 3 url ="http://v.juhe.cn/toutiao/index"4 5 6 payload = {7 "type":"top",8 "key":"59ed1aee419f8951278cee1d8c681085",9 } 10 11 r = requests.post(url,data=payload) 12 13 print(r.text) 14 print(r.json()[result][data]) 15 #获取头条 16 for i i...

python接口自动化13-data和json参数傻傻分不清【图】

前言 在发post请求的时候,有时候body部分要传data参数,有时候body部分又要传json参数,那么问题来了:到底什么时候该传json,什么时候该传data? 一、识别json参数 1.在前面1.8章节讲过,post请求的body通常有四种类型,最常见的就是json格式的了,这个还是很多识别的2.用抓包工具查看,首先点开Raw去查看body部分,如下图这种,参数最外面是大括号{ }包起来的,这种已经确诊为json格式了。3.再一次确认,可以点开Json这一项查...