Проверить переменные спецификации WebdriverIO

Я понял, что могу использовать browser.pause();, чтобы остановить выполнение браузера и проверить его текущие переменные, но как мне проверить переменные моего тестового источника WebdriverIO?

Конечно, я мог бы позвонить console.log(), если бы хотел узнать значение. Но для каждой попытки мне пришлось бы перезапускать весь набор тестов, или мне нужно было бы прокомментировать каждый другой тест.

Вместо этого я бы в идеале остановил выполнение в одной строке и проверил все доступные переменные.

Есть ли у кого-нибудь решение для этого или другая идея?


person Sandro    schedule 02.04.2015    source источник
comment
Привет, @Sandro! Хотел обновить свой ответ с помощью расширенного подхода к отладке с использованием плагина инструментов ChromeDev для WebdriverIO, который, вероятно, является подходящим вариантом прямо сейчас. Можем ли мы изменить принятый ответ? Текущий НЕТ ЦЕННОСТИ для других, приходящих посмотреть на ваш вопрос. Поздравления и счастливых праздников!   -  person iamdanchiv    schedule 26.12.2018
comment
Привет, @iamdanchiv, мне нравится ваше debug() решение, оно быстрое и простое. Но почему вы думаете, что удаленная отладка НЕТ ЦЕННОСТИ?   -  person Sandro    schedule 30.12.2018
comment
Привет, @Sandro! Вы правы, моя формулировка была неправильной. Под БЕЗ ЦЕННОСТИ я могу сказать, что это очень конкретный ответ, предназначенный для помощи людям, использующим эту конкретную IDE. Переключите IDE (по беспроводной причине) и БУМ!, вам нужно настроить отладчик еще раз. Это может быстро стать проблемой, не говоря уже о временных затратах. Я предлагаю универсальный подход путем удаленной отладки ваших чеков внутри браузера без необходимости использования других плагинов и других программных приложений. Постараюсь обновить ответ в ближайшие дни ... Ура!   -  person iamdanchiv    schedule 07.01.2019


Ответы (2)


Дело не в webdriver-io, а в IDE, которую вы используете. То, что вы ищете, - это remote debugging функция IDE. Я успешно делал это с помощью Webstorm.

Посмотрите это видео о том, как запустить средство запуска теста установки в Webstorm.

person Dziamid    schedule 03.04.2015

Для тех, кто приезжает сюда в надежде на более простой процесс отладки своих тестовых примеров WebdriverIO, возьмите взгляните на команду .debug ().

Это не совсем то, что искал @Sandro, но он предлагает альтернативу замене вашего текстового редактора на причудливую, громоздкую IDE:

  • останавливает выполнение вашего текущего запущенного теста (просто добавьте browser.debug() после строки, в которой вы хотите установить «точку останова»);
  • превращает ваш терминал в цикл чтения-оценки-печати;
  • предоставляет вам доступ к объекту browser в том состоянии, в котором он был найден, наряду со всеми другими командами API .

Недостатки:

  • вам придется «воссоздать» некоторые настройки до этого момента (переменные и содержащиеся в них значения недоступны из интерфейса REPL).

! Примечание. Если вы используете средство тестирования WDIO, убедитесь, что вы увеличили свойство timeout используемой вами тестовой среды (например, Mocha, Cucumber или Jasmine), чтобы предотвратить продолжение из-за тайм-аута теста.

mochaOpts: {
    ui: 'bdd',
    timeout: 9999999
},
person iamdanchiv    schedule 14.12.2017