尝试调试 WebDriver E2E 测试时,Chrome 开发人员工具会立即关闭

Posted

技术标签:

【中文标题】尝试调试 WebDriver E2E 测试时,Chrome 开发人员工具会立即关闭【英文标题】:Chrome Developer Tools closes instantly when attempting to debug WebDriver E2E test 【发布时间】:2013-08-27 13:32:10 【问题描述】:

我通常在 Chrome 的开发工具面板中调试我的 Selenium 测试。然而,在升级我的操作系统(Ubuntu Linux)后,我的 E2E 测试完全崩溃了:Chrome 没有打开第一页,而是闲置着只显示一个空白页面。最终我升级了ChromeDriver,现在测试又可以工作了。但是对于这个新的 Chrome 版本(在操作系统升级之后)和这个新的 ChromeDriver,开发工具窗口存在一个奇怪的问题:

每当我点击 CTRL + SHIFT + I 打开开发工具窗口,或点击 Chrome 菜单中的 工具 -> 开发工具 时,开发工具窗口都会闪烁打开,但随后立即关闭。它看起来一片空白,只有 1/10 秒是可见的。这在以前真的从未发生过。

当我在 [由 WebDriver 驱动的 Chrome 实例] 中手动打开另一个选项卡时,并导航到例如http://www.google.se/,然后,当我在该选项卡中打开开发工具窗口时,它通常保持打开状态(但并非总是如此)。 — 主要是[由 Chrome 驱动程序控制的浏览器选项卡的开发工具窗口] 会立即关闭。

但是,如果我按住 CTRL+SHIFT+I 一段时间,这会产生很多“点击”,然后开发工具有时会突然保持打开状态。但 10-20 秒后又突然关闭。

为什么 Chrome 会这样做?我怎样才能让它停止?

Chrome 版本 29.0.1547.57 Chrome 驱动程序版本 2.0、2.1 和 2.2 经过测试(存在问题)。 Selenium 2.35.0 和 2.25.0 版本(我认为是)也不起作用。

【问题讨论】:

我们在 OSX 上使用 ChromeDriver 2.2 时遇到了同样的事情。关于这个问题的信息不多,这是一个非常令人沮丧的问题。 @MattGreer 一个非常奇怪的问题。除了 2.2 之外,我还测试了 ChromeDriver 2.0 和 2.1。所有这些版本都存在问题。 这里是它的错误报告:code.google.com/p/chromedriver/issues/detail?id=483 以及他们令人失望的回应 似乎明智的做法是处理异常并尽可能将控制权交给开发工具 【参考方案1】:

Chrome 没有这样做; ChromeDriver 2 是。 ChromeDriver 2 和 DevTools 窗口都竞争同一个自动化通道,ChromeDriver 会自动关闭 DevTools 窗口以使其工作。

更多信息请见https://sites.google.com/a/chromium.org/chromedriver/help/devtools-window-keeps-closing

另见相关问题:https://code.google.com/p/chromedriver/issues/detail?id=483

【讨论】:

有趣的事实是,如果您在测试中设置断点或停止测试,则可以在 chrome 中打开并使用调试器工具。 @ColacX 你能解释一下你是怎么做到的吗? 您的意思是在运行测试时在 Visual Studio 编辑器中设置断点?我想你可以弄清楚。 刚刚测试过并且在 Chrome 52 中仍然有效。只需将“调试器”放在代码中的某个位置,并确保该行得到执行

以上是关于尝试调试 WebDriver E2E 测试时,Chrome 开发人员工具会立即关闭的主要内容,如果未能解决你的问题,请参考以下文章

基于 Web 组件的应用程序的 E2E 测试

angular 调试 js (分 karms protractor / test e2e unit )

selenium-webdriver自动化测试工具

未为自定义protractor.conf文件创建Webdriver实例

基于 webdriver 的测试代码日常调试方python 篇

CH559单片机 USB CDC虚拟串口收发回环测试+调试信息输出改进版