Как сохранить открытые инструменты для разработчиков во время тестирования selenium nightwatch.js?

Я начинаю писать тесты e2e с помощью nightwatch.js, и я заметил некоторые ошибки, которые я хотел бы проверить вручную в целевой консоли браузера (инструменты разработчика). но всегда, когда я открываю консоль разработчика, он автоматически закрывается браузером. является ли это намеченной особенностью селена или nightwatch.js, и, если это так, как я могу отключить его?

Ответ 1

К сожалению, это не представляется возможным. См. здесь:

Когда вы открываете окно DevTools, ChromeDriver автоматически отсоединен. Когда ChromeDriver получает команду, если она отключена, он попытается закрыть окно DevTools и снова подключиться.

Chrome DevTools позволяет только один отладчик на страницу. Что касается 2.x, ChromeDriver теперь является отладочным клиентом DevTools. Предыдущие версии ChromeDriver использовал другой API автоматизации, который больше не является поддерживается в Chrome 29.

См. также этот вопрос.

Ответ 2

Я успешно использую эту конфигурацию в nightwatch:

...

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

Ответ 3

Возможно, вы сможете достичь этого, используя Node Inspector: https://github.com/node-inspector/node-inspector

Поместите инструкцию debugger, где вы хотите, чтобы тест приостанавливался и запускался node-debug ./node_modules/.bin/nightwatch --config path/to/nightwatch.json --test yourTest.js