简体   繁体   中英

how to insert an array to JSONArray with rest assured

I want to insert the array with Rest Assured. tokenUUIDs - is an array ( A variable that I defined in a previous step). When I run the code - tokenUUIDs received a correct value But ArraytokenUUIDs have not received something good. He received : [[Ljava.lang.String;@6fc0bbc6]

This is my Method:

public static void releaseTokens(String[] tokenUUIDs )
{
    try{
        RequestSpecification request = RestAssured.given();
        request.header("Content-Type", "application/json");

        JSONObject releaseTokens = new JSONObject();
        releaseTokens.put("partnerCode", commonOps.partnerCode);
        releaseTokens.put("apiAccessToken",commonOps.openAccessToken);
        releaseTokens.put("sessionUUID",SessionUUID);
        releaseTokens.put("taskUUID","TaskUUID");

        JSONArray ArraytokenUUIDs = new JSONArray();
        ArraytokenUUIDs.add(tokenUUIDs);


        releaseTokens.put("tokenUUIDs", ArraytokenUUIDs);


        request.body(releaseTokens.toJSONString());

        Response response = request.post((getData("APIenv") + "/api/sessions/releaseTokens.php"));
        int code = response.getStatusCode();

        Assert.assertEquals(code, 200);

        System.out.println("Status code for releaseTokens.php is" +code );

        ResponseBody bodyreleaseTokens = response.getBody();
        System.out.println("Body bodyreleaseTokens.php  " + bodyreleaseTokens.asString() );
        String statusbodyreleaseTokens = bodyreleaseTokens.asString();

        String status = response.getBody().jsonPath().getString("status");
        Assert.assertEquals(status, "OK");




        test.log(LogStatus.PASS, "bodyreleaseTokens is done" );
    }

    catch (Exception e)
    {

        test.log(LogStatus.FAIL, "bodyreleaseTokens is not done");
        test.log(LogStatus.FAIL, e.getMessage());
        fail ("bodyreleaseTokens is not done");
    }

Change

ArraytokenUUIDs.add(tokenUUIDs);

to

for (String tokenUUID : tokenUUIDs) {
    ArraytokenUUIDs.add(tokenUUID);
}

Also consider that variables in java are named with lowercase first letter as a standard to avoid confusion with classes.

Try to add every token individually

  for (String s : tokenUUIDs){
      ArraytokenUUIDs.add(s);
   }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM