作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Tavern 工具进行 API 测试,并且我想在执行测试时将返回的响应保存在 JSON 文件中,因此我使用以下代码来响应 yaml 测试文件:
response:
status_code: 200
save:
$ext:
function: tavern_utils:save_response
tavern_utils:save_response() 函数:
def save_response(response):
with open('saved.json','w') as file:
json.dump(file,response.json())
因此,在使用 pytest 执行测试时,出现以下错误:
TypeError: The Object of type 'TextIOWrapper' is not JSON serializable
如何解决此错误或通过任何其他方法保存响应?
最佳答案
得到解决方案:只需将 save_response 函数替换为:
def save_response(response):
filename='file4.json'
with open(filename, 'w') as f:
json.dump(response.json(), f)
Yaml 测试文件为:
response:
status_code: 200
body:
$ext:
function: tavern_utils:save_response
关于python - 如何将 Tavern 测试的响应保存在 JSON 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51084123/
我是一名优秀的程序员,十分优秀!