接口测试时,传入的参数要求是string类型,但目前是字典dict类型
首先尝试用str()转换后,发起接口请求后,报服务器异常
然而用json.dumps()转换后,可以发起成功
观察了下两者的区别:
使用str()转换:
a = {'term':'5',} b = {"term":"5",} print(str(a)) print(str(b))输出结果均为:{'term': '5'}
使用json转换:
import json a = {'term':'5',} b = {"term":"5",} print(json.dumps(a)) print(json.dumps(b))
输出结果均为:{"term": "5"}
由于我使用的接口请求
request().post(url, header, param)
param = {'subData': a1, }param的格式如此,用str转换后,就会导致param的格式变为{'subData': "{'term': '5',}”},与实际需求不一致,导致服务器报异常。
延伸下:list格式用这2种转换的结果都可以正常发请求
本文探讨了接口测试中参数从字典(dict)类型转换为字符串(string)类型的方法。通过对比str()与json.dumps()两种方式,解释了为何使用json.dumps()能正确发起请求,而str()会导致服务器异常。
832

被折叠的 条评论
为什么被折叠?



