2017-06-04 3 views
1

Pour une raison quelconque, lorsque j'essaie d'imprimer la réponse à l'aide d'une instruction d'impression pour le corps de la réponse, le système n'imprime pas. aidez s'il vous plaît.Impossible d'imprimer la réponse API sur la console

Dans le post API suivant, j'utilise Java, rassurez-vous, TestNG sur Eclipse Neon 3. En utilisant l'annotation @DataProvider, je passe plusieurs paramètres dans la requête Post pour voir la réponse de l'appel. Toute aide serait vraiment appréciée.

package com.auto.restassured; 

import io.restassured.RestAssured; 
import static io.restassured.RestAssured.basic; 
import static io.restassured.RestAssured.given; 
import org.testng.annotations.DataProvider; 
import org.testng.annotations.Test; 
import io.restassured.response.Response; 
import org.apache.log4j.Logger; 
import org.apache.log4j.BasicConfigurator; 


public class FilePostToVirusTotal { 


static String baseURL = "https://www.virustotal.com/vtapi/v2/file/report"; 
Response myResponse; 


@DataProvider(name = "md5hashes") 
public String[][] createMd5Hashes() { 

    return new String[][] { 

     {"md51", "c1105fb75bc00b5e487f7b26a5be7088"}, 
     {"md52", "213f3287c81d09b095334c9f3151cff8"}, 
     {"md53", "b00c2c458b4cf1eb172e354f54f0fe12"}, 
     {"md54", "32ac9b6b6b7cdbfce179acc5edae98c3"}, 
     {"md55", "510b0b81b85c025d538ed4bad78dc64f"}, 

    }; 

} 

@Test(dataProvider = "md5hashes") 
public void md5JsonTest(String apikey, String resource) 
{ 

    //Catch API response 
    myResponse = given().param("text", resource).param("text", "34b937e6e2d28ee6f93a70392d958de8ac4a8dd842e08bbca9bcb0d22f9b9960").when().post(baseURL); 
    //Print Response 
    System.out.println(myResponse.getBody().asString()); 

} 

}

+2

Il n'imprime pas du tout, ou n'imprime pas ce que vous attendez? La méthode est-elle en cours d'exécution? Avez-vous confirmé dans un débogueur? – shmosel

+0

J'ai mis le débogueur sur la méthode et après l'instruction d'impression. Ça ne fait rien. Cependant, la méthode affiche les demandes mais rien n'est imprimé sur Response. Quand je le fais manuellement en utilisant Postman, il répond en retour. – user1911509

+1

Quelle est la réponse? Vérifiez avec myResponse.getStatus() - cela ne peut arriver que si votre corps de réponse est vide .. –

Répondre

1

Vous pouvez utiliser des méthodes de journal intégré par exemple given().log().all() pour la demande et then().log().all() pour la réponse