[英]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()
返回带有RequestSpecBuilder
的RequestSpecification
构建。
问题是我的 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 中显示为红色
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.