繁体   English   中英

如何使用带有 RestAssured 的 pathParameters 提取 basePath

[英]How to extract basePath with pathParameters with RestAssured

所以我使用 RestAssured 来测试一些端点并将测试结果拉入 Allure 报告中。

我目前正在尝试使用有关每个测试用例的有用信息填充报告,例如 ping 的端点。 要提取 url 我尝试使用以下内容:

    RequestSpecification requestSpec = RestAssured.given().spec(Request.getRequestSpecification());
    QueryableRequestSpecification queryRequest = SpecificationQuerier.query(requestSpec);
    String retrieveURI = queryRequest.getBaseUri();
    System.out.println("Base URI is : "+retrieveURI);
    String retrievePath = queryRequest.getBasePath();
    System.out.println("Base PATH is : "+retrievePath);

其中Request.getRequestSpecification()返回带有RequestSpecBuilderRequestSpecification构建。

问题是我的 basePath 类似于/info/{unitId}/something这里的值在构建后填充了 pathParameter 。 但是块String retrievePath = queryRequest.getBasePath(); System.out.println("Base PATH is: "+retrievePath);

返回包含 {unitId} 的基本路径,而不是传递的实际路径参数。

有没有办法提取带有 pathParameter 的 RestAssured 请求的 basePath?

请注意,我知道存在.log().uri() 但这会在控制台中输出信息,我需要将它放在一个变量中以将其发送到 Allure 报告。

对任何人来说,这可能会有所帮助, QueryableRequestSpecification实际上有一个.getURI()方法,它基本上会返回包含 pathParameters 的完整 uri:

RequestSpecification requestSpec = RestAssured.given().spec(Request.getRequestSpecification());
QueryableRequestSpecification queryRequest = SpecificationQuerier.query(requestSpec);
String retrieveURI = queryRequest.getURI()
System.out.println("Full URI is : "+retrieveURI);

我在 windows 上使用了 intelliJ,由于某种原因,该方法在我的 IDE 中显示为红色

参考点https://javadoc.io/doc/io.rest-assured/rest-assured/3.1.1/io/restassured/specification/QueryableRequestSpecification.html#getURI--

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM