2017-06-04 35 views
1

出於某種原因,當我嘗試使用打印語句爲響應主體打印響應時,系統不打印。請幫忙。無法在控制檯上打印API響應

在下面的API文章中,我使用了Java,rest-assured,EclipseNonon 3上的TestNG。使用@DataProvider註解,我在Post請求中傳遞多個參數以查看調用的響應。任何幫助將被真正讚賞。

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

它根本不打印,或它不打印你的期望?該方法是否正在運行?你在調試器中確認了嗎? – shmosel

+0

我在打印語句之後和之後設置了調試器。它什麼都不做。但是,該方法發佈請求,但沒有在響應中打印。當我用Postman手動進行操作時,它會迴應。 – user1911509

+1

什麼是迴應?使用myResponse.getStatus()檢查 - 只有當您的響應人員爲空時纔會發生這種情況.. –

回答

1

您可以使用內置的日誌方法例如given().log().all()的請求和then().log().all()的迴應