Rest Assured:发出请求返回错误“JSON输入文本既不应为null也不应为空”。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rest Assured:发出请求返回错误“JSON输入文本既不应为null也不应为空”。相关的知识,希望对你有一定的参考价值。
我是REST-Api测试的新手。我开始使用Rest-Assured进行Rest-Api测试,我对此有疑问。以下是继续返回上述错误的代码
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
import files.resources;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import io.restassured.RestAssured;
import io.restassured.http.ContentType;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
public class Basics3 {
Properties prop = new Properties();
@BeforeTest
public void getData() throws IOException{
FileInputStream fis = new FileInputStream("C:\Users\boma.dagogo\Desktop\BOMA DAGOGO\eclipse-workspace\DemoProject\src\files\env.properties");
prop.load(fis);
//prop.get("HOST");
}
@Test
public void addandDeletePlace() {
String b = "{
" +
" "location":{
" +
" "lat" : -38.383494,
" +
" "lng" : 33.427362
" +
" },
" +
" "accuracy":50,
" +
" "name":"Frontline house",
" +
" "phone_number":"(+91) 983 893 3937",
" +
" "address" : "29, side layout, cohen 09",
" +
" "types": ["shoe park","shop"],
" +
" "website" : "http://google.com",
" +
" "language" : "French-IN"
" +
"}";
RestAssured.baseURI = prop.getProperty("HOST");
Response res = given().
queryParam("key", " qaclick123").
body(b).
when().
post(resources.placePostData()).
then().assertThat().statusCode(200).and().contentType(ContentType.JSON).and().
body("status", equalTo("OK")).
extract().response();
//Task 2: Grab the place_id from the response
String responseString = res.asString();
System.out.println(responseString);
JsonPath js = new JsonPath(responseString);
js.get("place_id");
String place_id = js.get("place_id");
System.out.println(place_id);
//Task 3: Place this place_id in the Delete request
given().
queryParam("key", prop.getProperty("KEY")).
body("{" +
""place_id":"" + place_id + """ +
"}").
when().
post("/maps/api/place/delete/json").
then().assertThat().statusCode(200).and().contentType(ContentType.JSON).and().
body("status", equalTo("OK"));
}
}
答案
字符串b中有错误。
只需替换下面的代码,然后重新运行:
String b = "{" +
""location":{" +
""lat" : -38.383494," +
""lng" : 33.427362" +
"}," +
""accuracy":50," +
""name":"Frontline house"," +
""phone_number":"(+91) 983 893 3937"," +
""address" : "29, side layout, cohen 09"," +
""types": ["shoe park","shop"]," +
""website" : "http://google.com"," +
""language" : "French-IN"" +
"}";
以上是关于Rest Assured:发出请求返回错误“JSON输入文本既不应为null也不应为空”。的主要内容,如果未能解决你的问题,请参考以下文章