当前位置: 首页 > 知识库问答 >
问题:

如何使用JAVA在Selenium WebDriver中打开Chrome开发者控制台

纪成礼
2023-03-14

我想问一下在selenium测试执行期间如何打开Chrome开发人员控制台。目前,当测试正在执行时,我手动点击F12打开控制台,测试立即停止响应,一段时间后失败。

有人能告诉我如何在开发人员控制台打开的情况下启动测试,以便捕获/观察测试执行期间发生的控制台错误吗。

共有3个答案

翟曦
2023-03-14

您是否尝试过模拟按键事件以在Chrome中打开开发工具的快捷方式?

String openDevTools = Keys.chord(Keys.ALT, Keys.CONTROL, "i");
driver.findElement(By.ByTagName("body")).sendKeys(openDevTools);

这并不理想,在严格的测试制度下,您需要进行平台检测,以确保您同时覆盖Mac和Windows。我绝对建议你避免这样做(即使它有效),但如果你真的必须这样做的话,这也是一种可能的解决方法。

我有一种感觉,如果你这样做,它也可能会失去窗户本身的焦点。如果是这样的话,你需要像这样的东西:-

String parentHandle = driver.getWindowHandle(); // get the current window handle
// do your dev tool stuff here
driver.switchTo().window(parentHandle); // switch back to the original window

希望这有帮助。

有用的链接,如果它真的带你去任何地方:如何使用Java处理Selenium WebDriver中的新窗口?

编辑:只需重新阅读问题,无论如何都不要认为这会奏效。单元测试应该捕获代码逻辑中的错误。selenium测试应该只测试用户行程,并在用户行程缩短时捕获错误。您不应该通过selenium测试来测试代码逻辑/错误。

翁和正
2023-03-14

注意:此答案不适用于当前版本的Chrome。

不能。Chrome驱动程序使用Chrome远程调试协议与浏览器通信。这与开发人员控制台使用的协议相同。不幸的是,Chrome的设计使得一次只能使用该协议连接一个客户端,因此这意味着要么是开发工具,要么是驱动程序,但不能同时连接两者。

王彭薄
2023-03-14

使用选项卡的自动打开开发工具:

此标志Chrome为每个选项卡自动打开DevTools窗口。它旨在供开发人员和自动化人员使用,不需要用户交互即可打开DevTools。

来源

如何使用

 类似资料:
  • ... browser=webdriver.chrome(executable_path=“c:\chrm\chromedriver.exe”)browser.get(“https://www.facebook.com/groups/gnexus5/) ... 我正在使用ChromeDriver

  • 代码是很容易出现错误的。你也很可能犯错误……哦,我在说什么?只要你是人,你 一定 会犯错误(在写代码的时候),除非你是 机器人。 但在浏览器中,默认情况下用户是看不到错误的。所以,如果脚本中有错误,我们看不到是什么错误,更不能够修复它。 为了发现错误并获得一些与脚本相关且有用的信息,浏览器内置了“开发者工具”。 通常,开发者倾向于使用 Chrome 或 Firefox 进行开发,因为它们有最好的开

  • 问题内容: 当用户禁用JavaScript时,我正在尝试调试网站的功能。我想知道如何禁用Google Chrome DevTools中页面的JavaScript? 问题答案: 单击“ 开发人员工具”角落的菜单,单击“设置”,然后在下进行检查。

  • 我试图在用户禁用其JavaScript时调试网站的功能。我想知道如何从Google Chrome DevTools中禁用JavaScript页面?

  • 我已经准备好将我的第一个应用程序发送给beta测试人员,所以我点击“管理beta” 以及“保存”和“恢复” APK已上载

  • 我想通过在selenium webdriver中按键盘键Ctrl打开chrome浏览器控制台。我可以使用Robot类来做这个动作,但我希望没有Robot类。我使用了Actions类和Keys类,使用的是sendKeys。但我无法打开浏览器控制台。 是chrome浏览器版本问题还是操作系统问题?为什么浏览器控制台没有使用Action类和Keys类打开?