【问题标题】:how to keep opened developer tools while running a selenium nightwatch.js test?如何在运行 selenium nightwatch.js 测试时保持打开的开发人员工具?
【发布时间】:2016-05-22 10:49:27
【问题描述】:

我开始使用 nightwatch.js 编写 e2e 测试,我注意到一些我想在目标浏览器的控制台(开发人员工具)中手动检查的错误。但总是当我打开开发者控制台时,它会被浏览器自动关闭。这是 selenium 或 nightwatch.js 的预期功能,如果是这种情况,我该如何禁用它?

【问题讨论】:

  • 你在测试哪个浏览器?
  • 我正在 Ubuntu 上使用 firefox 和 chrome 进行测试。在 Chrome 的情况下,我尝试使用右键单击 + 检查元素和 F12 键,但总是得到相同的开发工具闪烁。

标签: selenium-webdriver


【解决方案1】:

不幸的是,这似乎是不可能的。见here

当你打开 DevTools 窗口时,ChromeDriver 会自动 断开连接。当 ChromeDriver 收到命令时,如果断开连接, 它将尝试关闭 DevTools 窗口并重新连接。

Chrome 的 DevTools 每页只允许一个调试器。从 2.x 开始, ChromeDriver 现在是一个 DevTools 调试客户端。以前的版本 ChromeDriver 使用了不同的自动化 API,它不再是 Chrome 29 支持。

另见this question

【讨论】:

  • 非常感谢您的回答,我什至完全不知道如何正确搜索有关该问题的文档,您为我指明了一个方向,帮助我增加了对整个测试管道的理解.无论如何,我想在将任何答案标记为已接受之前尝试 user3613154 建议。
  • 这是最令人失望的。感谢您提供质量信息。
  • 伙计们,请确保您在下面看到更好的答案~
【解决方案2】:

您或许可以使用 Node Inspector 实现此目的:https://github.com/node-inspector/node-inspector

在您希望测试暂停并运行 node-debug ./node_modules/.bin/nightwatch --config path/to/nightwatch.json --test yourTest.js 的位置添加 debugger 语句

【讨论】:

    【解决方案3】:

    我在 nightwatch 中成功使用了这个配置:

    ...
    
    chrome: {
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true,
        chromeOptions: {
          'args': ['incognito', 'disable-extensions', 'auto-open-devtools-for-tabs']
        }
      }
    },
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-08
      • 2018-10-02
      • 1970-01-01
      • 2017-07-26
      • 1970-01-01
      • 1970-01-01
      • 2013-03-06
      • 1970-01-01
      相关资源
      最近更新 更多