java 记录放心流量

kxkpmulp  于 2023-08-02  发布在  Java
关注(0)|答案(4)|浏览(113)

我想知道是否有一种方法可以记录restassured处理的所有调用和响应(url + payload)。
最后将有一个“调试”测试日志,记录所有的调用和流量。
当然,我可以在自己的代码中发出对日志记录器的调用,但是我担心全局地设置这种行为,而不是在所有的测试方法中添加日志记录器调用。
谢谢你的指点

33qvvth1

33qvvth11#

我举一个例子:

Response response = given().
                    queryParam("apiKey", "abc123").
                    queryParam("code", code).
                    queryParam("type", type).
                    contentType("application/json").
                    log().all().
                    when().
                    get(url).
                    then().
                    contentType("application/json").
                    statusCode(200).
                    extract().response();

字符串

1bqhqjot

1bqhqjot2#

设置log().all()作为你的响应,就可以了。

k4emjkb1

k4emjkb13#

对不起,愚蠢的问题(或与我的愿景问题),一切都记录在:

9q78igpj

9q78igpj4#

下面是记录到日志文件并进行全局配置以记录所有测试的请求和响应详细信息的步骤
创建静态打印流对象

private static PrintStream logps;
        try {
        // fileoutputstream can be opened in append mode to append the logs every time
        // we run
        // printstream is enabled for autoflush
        logps = new PrintStream(new FileOutputStream("src/test/resources/logfile.txt", true), true);
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

字符串
在beforeall静态方法中,应用默认实现的请求和响应日志记录过滤器,并使它们能够使用打印流

RestAssured.filters(new RequestLoggingFilter(logps), new ResponseLoggingFilter(logps));


现在我们不需要为请求和响应分别指定log()方法,而且日志也会被发送到日志文件中

相关问题