2017-09-06 10 views
1

私はJavaを初めて使い慣れているので、コンソールログを読みやすいファイルに出力する方法をスクリプトに追加できません。 Log4jを使用しようとしましたが、正しく実装できませんでした。私が研究し、この中に見つけた、しかし、私は実装する方法がわからなかった - https://static.javadoc.io/com.jayway.restassured/rest-assured/2.7.0/com/jayway/restassured/config/LogConfig.htmlTestngフレームワークを使用して、安心できるコンソールログを書き換え可能ファイルまたはtxtファイルに書き込む方法はありますか?

import static io.restassured.RestAssured.given; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Paths; 
import java.util.Properties; 

import org.testng.annotations.BeforeTest; 
import org.testng.annotations.Test; 
import files.reusableFunctions; 
import io.restassured.RestAssured; 
import io.restassured.http.ContentType; 
import io.restassured.path.xml.XmlPath; 
import io.restassured.response.Response; 

public class Playlist_Acknowledgement { 

    Properties prop = new Properties(); // creating prop object as global 

    @BeforeTest 
    public void testData1() throws Exception { 

     FileInputStream f = new FileInputStream("D:\\Tools\\Workspace\\BXF\\src\\files\\config.properties"); 
     prop.load(f); // to load the file object into prop file 

     reusableFunctions rf = new reusableFunctions(); 
     rf.createBxfPlaylistXml(); 
    } 

    @SuppressWarnings("unused") 
    @Test 
    public void postData() throws IOException { 


     String pth = prop.getProperty("PLAYLISTACK_ENDPOINT"); 
     File path = new File(pth); 

     File[] files = path.listFiles(); 
     for (int i = 0; i < files.length; i++) { 

      pth = files[i].toString(); 
      System.out.println("Path = " + pth); 
      String postData = new String(Files.readAllBytes(Paths.get(pth))); 
      // BaseURL 
      // value populating from property above 
      RestAssured.baseURI = prop.getProperty("AISHOST"); 

      Response resp = given().log().all() 
        .header("Content-Type", "application/XML; charset=utf-8") 
        .body(postData) 
        .when().post("/bxfxml") 
        .then().log().all() 
        .assertThat() 
        .statusCode(200).and() 
        .contentType(ContentType.XML) 
        .extract().response(); 


      // to convert raw data to string 
      XmlPath xmlResponse = reusableFunctions.rawToXML(resp); 
      String responseString = resp.asString(); 
      System.out.println("XML response is - " + responseString); 
      // Files.delete(files[i].toPath()); 
      // Files.copy(path.toPath(), prop.getProperty(key)); 
     } 
    } 
} 

答えて

1

セットアップできた構成として

LogConfig logconfig = new LogConfig().enableLoggingOfRequestAndResponseIfValidationFails().enablePrettyPrinting(true); 
RestAssured.config().logConfig(logconfig); 

以下、その後、あなたの通常の

RestAssured.given().log().all() 
     .header("Content-Type", "application/XML; charset=utf-8") 
     .body("") 
     .when().post("/bxfxml") 
     .then().log().all() 
     .assertThat() 
     .statusCode(200).and() 
     .contentType(ContentType.XML) 
     .extract().response(); 
を進めることができます