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

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

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

> 霍格沃兹测试学院  TestingStudio

实战演示

在 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();
    }
}

> 霍格沃兹测试学院  TestingStudio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值