Search code examples
javarest-assuredrest-assured-jsonpath

Rest Assured code not allowing to use println


I am trying to automate twitter API. when tried to print "js.get("text") using

System.out.println(js.get("text")); I am getting error as "The method println(boolean) is ambiguous for the type PrintStream"

I downloaded jars and passed in Build path as well "scribejava-apis-2.5.3" and "scribejava-core-4.2.0"

Below code is not allowing me use println for ------>js.get("text")


public class Basicfunc {

String Consumerkeys= "**************";
String Consumersecretkeys="*******************";
String Token="*******************";
String Tokensecret="***************************";


@Test
public void getLatestTweet(){

    RestAssured.baseURI = "https://api.twitter.com/1.1/statuses";
    Response res = given().auth().oauth(Consumerkeys, Consumersecretkeys, Token, Tokensecret).
    queryParam("count","1").
    when().get("/home_timeline.json").then().extract().response();


    String response = res.asString();
    System.out.println(response);
    JsonPath js = new JsonPath(response);
    System.out.println(js.get("text")); 
}

}


Solution

  • Use System.out.println(js.getString("text")); instead of System.out.println(js.get("text"));, because get returns any primitive value.

    I think your problem is that your twitter response is actually a list.

    Try to use System.out.println(js.getList()[0].get("text")); and be aware that you are only using the first [0] entry and ignoring the rest.