【发布时间】:2018-08-31 02:23:33
【问题描述】:
我尝试使用 Selenium webdriver 捕获通常显示请求(方法类型、标题、参数)和响应的网络 XHR 日志(chrome 浏览器),但我只能获取客户端发送到服务器的 api 请求(不带参数),而搜索我发现下面的代码,它只为我提供了 api 请求:-
LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER);
for (LogEntry entry : logEntries) {
System.out.println(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " + entry.getMessage())
}
但我还想获取客户端(浏览器)发送到服务器的所有参数以及响应。 *相同的功能将如何用于 Firefox。
提前致谢!!
【问题讨论】:
-
我认为 Selenium 只能访问 DOM,因此您需要使用 javascript 做一些奇怪的事情,这会稍微弄脏您的测试用例。 DOM 应该包含正在发送的所有内容...包括 HTML5 存储缓存...但是要获取标头,您需要执行 javascript。这里似乎可能的一件事是进入站点正在使用的框架并对其进行修改以路由/复制请求......因此,如果他们使用 jQuery,例如,将钩子放入返回或写入 DOM 的 AJAX 调用中您需要的信息。
标签: javascript java selenium selenium-webdriver rest-assured-jsonpath