首页 > 其他分享 >技术分享 | 接口测试中如何使用Json 来进行数据交互 ?

技术分享 | 接口测试中如何使用Json 来进行数据交互 ?

时间:2022-08-16 14:59:52浏览次数:76  
标签:contentType 请求 json 接口 Content application Json post 交互

原文链接

本文节选自霍格沃兹测试开发学社内部教材

json 是一种轻量级的传输数据格式,用于数据交互。json 请求类型的请求头中的 Content-Type 对应为 application/json 。碰到这种类型的接口,使用 Java 的 REST Assured 或者 Python 的 Requests 均可解决。

实战演示

在 Python 中,使用 json 关键字参数发送 json 请求并传递请求体信息。

>>> import requests
>>> r = requests.post(
   'https://httpbin.ceshiren.com/post',
   json = {'key':'value'})
>>> r.request.headers

{'User-Agent': 'python-requests/2.22.0',
'Accept-Encoding': 'gzip, deflate',\
 'Accept': '*/*', 'Connection': 'keep-alive',
 'Content-Length': '16',\
  'Content-Type': 'application/json'}

如果请求的参数选择是json ,那么Content-Type 自动变为application/json

在 Java 中,使用contentType()方法添加请求头信息,使用body()方法添加请求体信息。

import static org.hamcrest.core.IsEqual.equalTo;
import static io.restassured.RestAssured.*;

public class Requests {
    public static void main(String[] args) {
        String jsonData = "{\"key\": \"value\"}";
        //定义请求头信息的contentType为application/json
        given().contentType("application/json").
                body(jsonData).
                when().
                post("https://httpbin.ceshiren.com/post").
                then().body("json.key", equalTo("value")).log().all();
    }
}

获取更多相关资料,请添加微信ceshiren001

标签:contentType,请求,json,接口,Content,application,Json,post,交互
From: https://www.cnblogs.com/chengzi-ceba/p/16591562.html

相关文章

  • HttpClient.PatchAsJsonAsync - dotnet/runtime 项目贡献小记
    TL;DR迫于PatchAsJsonAsync方法缺失,我给dotnet/runtime项目贡献了相关的API,可惜要到.NET7才能用上。https://github.com/dotnet/runtime/pull/60672正文同事小......
  • 如何使用Axure RP 9 Mac创建当按钮处于各种交互状态时具有不同样式的按钮?
    AxureRP9forMac是一款交互式原型设计神器,使用axurerp9以最佳的方式展示您的作品,优化现代浏览器并为现代工作流程设计。同时确保您的解决方案正确完整地构建。在本篇文......
  • Webpack 打包 - 1.webpack 基本打包(JS、JSON)。
    1.文件结构  2.初始化,生成package.json文件$npminit 2.1安装webpack和webpack-cli.(这里使用的是webpack5以下的版本)[email protected]......
  • 【快应用】webview接口打开网页,网页会被自动放大,如何适配手机大小
    【现象描述】通过webview接口打开网页,网页会被自动放大,问题代码如下:webview.loadUrl({url:'https://cdn.langqing.club/jQuery/index.html',allowthirdpartycookies:......
  • Queue接口分析
    一、Queue是什么该接口时Java集合框架成员Queue:通常(但不一定)队列就是一个先入先出(FIFO)的数据结构,和堆一样(但可以进行转换,比如优先级列队排序,又或者改为栈形式的后进先出......
  • 第六章 - 本地方法接口
     走选择的路,别只选好走的路1.本地方法简单地讲,一个NativeMethod是一个Java调用非Java代码的接囗。一个NativeMethod是这样一个Java方法:该方法的实现由非Java语......
  • json详解
    简述json是JavaScript Object Notation的缩写,json是轻量级的文本数据交换格式,SON独立于语言:JSON使用Javascript语法来描述数据对象,但是JSON仍然独立于语言和平......
  • fastjson中$ref循环引用
    问题描述:  当我们使用fastjson工具包的方法转换成字符串时,我们发现转换后的字符串不正确,出现了$ref,如图为啥会出现$ref:  这是因为我们对象出现了重复引用,待转换......
  • 操作系统学习笔记2 | 操作系统接口
    这部分将讲解上层应用软件如何与操作系统交互,理解操作系统到底发生了什么事情,理解操作系统工作原理,为以后扩充操作系统、设计操作系统铺垫。参考资料:课程:哈工大操作系......
  • 最普通的ajax交互
    本文主要是介绍前后端数据交互的方法。现在在软件开发的设计中大多采用前后端分离的方法,那就不可避免出现前后端数据交互的问题。同时我们在上网的过程中所使用的浏览器为......