如何在Rest Assured中获取排除准备时间的Get请求响应时间?
如何用Rest Assured获取排除准备时间的请求耗时?
可以拿到,Rest Assured提供了专门的API来获取拆分后的请求耗时,刚好对应你Postman里红色高亮的、排除准备阶段的时间。
先明确对应关系:
- Postman黄色高亮:总请求耗时(含DNS解析、连接建立等准备阶段时间),就是你现在用
getTime()拿到的结果 - Postman红色高亮:实际请求响应耗时(从请求发送完成到接收完响应的时间,排除准备阶段)
直接获取目标耗时的代码示例
通过Response对象的getDetailedResponseTime()方法拿到详细耗时对象,直接调用对应方法获取目标时间:
// 发送请求并提取响应 Response response = given() .when() .get("你的目标请求URL") .then() .extract() .response(); // 获取详细耗时实例 DetailedResponseTime detailedTime = response.getDetailedResponseTime(); // 直接获取排除准备时间的耗时(和Postman红色高亮完全匹配) long targetDuration = detailedTime.getTimeBetweenSendAndResponseCompletion(TimeUnit.MILLISECONDS); System.out.println("排除准备时间的请求耗时:" + targetDuration + "ms");
额外的阶段耗时拆分
如果需要查看其他阶段的耗时,DetailedResponseTime还提供了这些方法:
getConnectTimeIn(TimeUnit):连接准备阶段耗时(DNS解析、TCP连接建立等)getTimeIn(TimeUnit):总请求耗时(对应Postman黄色高亮)getTimeToFirstByte(TimeUnit):从发送请求到收到第一个响应字节的时间
内容的提问来源于stack exchange,提问作者sandeep singh
相关产品推荐
相关产品推荐

