2016-07-22 10 views
0

Я заметил, что когда я использую параметр shardTestFiles для параллельного выполнения файлов функций огурца по каждому типу браузера в multiCapabilities, он запускает webdriver для каждого спецификационного файла + браузер. Это происходит независимо от того, содержит ли файл функций тег, который соответствует тегам, переданным через cucumberOpts.tags, - вместо этого он, кажется, проверяет соответствие тега после запуска webdriver, а затем для любых функций, которые не имеют соответствия, он просто говорит 0 успешно завершается и завершается.protractor shardTestFiles с cucumberOpt.tags запускает ненужные webdrivers

Это создает много проблем с шумом/емкостью в консоли saucelabs, поскольку он запускает vm для каждого файла функции независимо от того, было ли у него что-либо для выполнения. В качестве обходного пути мы рассматриваем выполнение сопоставления тегов между файлами функций перед задачей проталкивания транспортира таким же образом, что и cucumberjs, чтобы генерировать список путей спецификации файла свойств, чтобы помещать в protractor conf, но это похоже на хакерский - Кто-нибудь еще видел это поведение?

+0

Мы закончили выполнение логики фильтрации тегов от cucumberjs, чтобы создать список файлов функций как часть конструкции контейнера-транспортера. Работает, но .. – AndrewV

ответ

0

Насколько я могу судить об этом, как работает shardTestFiles. Из того, что я понимаю (и все это основано на использовании пакета protractor-cucumber-framework), если установлено значение true, спецификации передаются в Protractor и запускается сеанс webdriver, после чего они запускаются один за другим, используя метод run Framework, который, в свою очередь, передает его бегуну Cucumber, и только тогда применяется фильтрация тегов, поэтому после запуска сеанса webdriver.

Таким образом, ваше «хакерское решение», вероятно, является лучшим из них прямо сейчас, поскольку осколки не были разработаны с учетом огурца.