You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Karate UI测试时如何获取浏览器控制台日志?

在Karate UI中获取浏览器控制台日志

你可以通过driver.send调用WebDriver的日志API来获取浏览器控制台日志,和你之前获取帧树的思路一致,具体实现如下:

核心代码示例

# 调用WebDriver日志接口获取浏览器日志
* def browserLogs = driver.send(karate.toMap({ method: 'Log.get', params: { type: 'browser' } }))

# 遍历日志条目并输出(对应你提供的Selenium代码逻辑)
* browserLogs.value.forEach(function(logEntry) {
    karate.log(logEntry.level + " " + logEntry.message)
  })

# 验证日志中是否包含目标调试信息(示例:检查是否有包含指定关键词的日志)
* match browserLogs.value contains { message: '#contains 你的调试信息关键词' }

代码说明

  • method: 'Log.get' 对应Selenium中webDriver.manage().logs().get()的操作
  • params: { type: 'browser' } 指定获取浏览器控制台日志,和Selenium里的LogType.BROWSER等价
  • 返回的browserLogs.value是日志条目数组,每个条目包含level(日志级别)和message(日志内容)等字段,结构和Selenium的LogEntry对应

补充说明

既然你已经能在Karate调试日志中看到相关条目,说明浏览器日志已被捕获,通过上述代码可以直接提取这些日志并用于断言验证,完全满足你验证Web应用调试信息的需求。

内容的提问来源于stack exchange,提问作者PBMax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 14:07:06