Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在报告中提供请求和响应主体_Java_Cucumber_Rest Assured_Cucumber Java - Fatal编程技术网

Java 在报告中提供请求和响应主体

Java 在报告中提供请求和响应主体,java,cucumber,rest-assured,cucumber-java,Java,Cucumber,Rest Assured,Cucumber Java,我用的是爪哇黄瓜,请放心。目前,我尝试创建一个报告,在该报告中,我不会为报告中的每个请求提供完整的请求和响应信息。因此,问题是: 是否可以在变量中保存所有请求和响应信息?或者使用另一种方法在报告中获取此数据 另外,我知道如何获取响应(extract().response())或在控制台日志(log().all())中打印所有请求信息。我已经设置了maven cucumber reporting,它生成html报告,但没有所有请求和响应API数据 不熟悉cucumber,但如果它需要捕获报告的输出

我用的是爪哇黄瓜,请放心。目前,我尝试创建一个报告,在该报告中,我不会为报告中的每个请求提供完整的请求和响应信息。因此,问题是: 是否可以在变量中保存所有请求和响应信息?或者使用另一种方法在报告中获取此数据


另外,我知道如何获取响应(
extract().response()
)或在控制台日志(
log().all()
)中打印所有请求信息。我已经设置了maven cucumber reporting,它生成html报告,但没有所有请求和响应API数据

不熟悉cucumber,但如果它需要捕获报告的输出,您可以在REST Assured中创建一个过滤器:

import io.restassured.filter.FilterContext;
import io.restassured.filter.OrderedFilter;
import io.restassured.response.Response;
import io.restassured.specification.FilterableRequestSpecification;
import io.restassured.specification.FilterableResponseSpecification;

public class RcAllureFilter implements OrderedFilter {

    @Override
    public int getOrder() {
        return LOWEST_PRECEDENCE;
    }

    @Override
    public Response filter(FilterableRequestSpecification requestSpec, FilterableResponseSpecification responseSpec, FilterContext ctx) {
        Response response = ctx.next(requestSpec, responseSpec);
        //you need to implement it, refer to io.restassured.internal.print.RequestPrinter#print
        printRequest(requestSpec.getMethod(), requestSpec.getURI(), requestSpec);
        //you need to implement it, refer to io.restassured.internal.print.ResponsePrinter#print
        printResponse(response, response, response.getStatusLine());
        return response;

    }
}

<>如果您可以考虑从放心的切换,空手道具有您正在寻找的详细能力,其中详细的HTTP请求和响应日志出现在黄瓜HTML报告中。这是一本书

你可以找到空手道和“放心”的详细比较

免责声明:我是开发人员

import io.restassured.specification.FilterableRequestSpecification;
import io.restassured.specification.FilterableResponseSpecification;
// ...

我已经试过了,在我开始并行运行测试之前,它工作得很好。该报告偶尔会中断测试运行,因此我不得不对其进行注释,现在我还对另一种方法感兴趣,即如何记录请求/响应数据。

您可以使用Scenario的write()方法并传入响应请求文本。在Before钩子中,您可以传入Scenario对象并将其存储在step definition类的实例变量中。欢迎使用stackoverflow。请提供您的具体问题代码。这证明了你做了多大的努力,它将帮助其他成员更好地理解你的问题,同时,你将为他们提供你的问题的背景。请检查这些链接:和