t.me/atinfo_chat Telegram группа по автоматизации тестирования

Protractor JS + Jasmine логирование тестов

Теги: #<Tag:0x00007fd77731c5d0> #<Tag:0x00007fd77731c468> #<Tag:0x00007fd77731c300> #<Tag:0x00007fd77731c198> #<Tag:0x00007fd77731d1b0>

Привет! Только начинаю использовать protractor, но сразу же возник вопрос, есть ли способ посмотреть логи ранящегося теста? Например, у меня есть код в блоке it, который исполняет некую последовательность действий. Так вот, я могу запустить тест и смотреть какие шаги он проходит, какие данные использует итд?
Как IDE использую WebStorm.

Буду благодарен за помощь

Привет! О какой конкретно информации в шагах идет речь? Если нужно именно “видеть”, что делает тест, то почему бы не использовать скриншоты? Вот тут очень хороший мануал о том, как настроить их работу.

Хотелось бы видеть какие шаги были пройдены. Например в тесте есть сначала переход на страницу, потом нажатие кнопки, если тест упадет на нажатии кнопки, то я хочу видеть что переход на страницу сработал нормально, и тогда понимать в чем дело. Конечно пример утрированный, в реальном тесте с десяток действий и не всегда понятно на каком моменте падение. Конечно можно проследить за тестом или просмотреть скриншоты, но было бы гораздо удобней увидеть логи исполнения с информацией что работало нормально а что нет. Возможно в protractor такой настройки нет, просто не хочется прикручивать что то свое если уже есть решение

Я не совсем понимаю, чем не устраивает стандартный stack trace, который выкидывается, когда падает тест… он всегда (порой, правда, не очень явно, но тем не менее) указывает на место ошибки. Но если вам нужны логи каждого шага, а скриншоты не устраивают, то тогда можете попробовать писать ваши тесты в BDD стиле:

  1. https://www.protractortest.org/#/frameworks
  2. https://semaphoreci.com/community/tutorials/getting-started-with-protractor-and-cucumber

Тогда ваш тест раннер будет логировать каждый шаг отдельно, и в случае, когда тест будет иметь статус failed, вы будете визуально это видеть в логе с точным описанием ошибки (expected result vs current result). Если, конечно, используется правильный assert.

Спасибо! Это то что нужно