2015-11-10 3 views
0

Я настраиваю автоматические приемочные испытания для проекта Asp.Net MVC с использованием сценариев Gherkin, шагов Specflow и удаленного веб-редактора Selenium. Цель состоит в том, чтобы запускать тесты от Jenkins параллельно на нескольких узлах с использованием серверного сервера selenium.Параллельные тесты с Gherkin, Specflow и Selenium

На данный момент я пытаюсь заставить их работать параллельно и с некоторыми трудностями. Можно ли даже запускать эти тесты параллельно с установкой Gherkin/Specflow или же то, что сценарии Gherkin повторно используют те же шаги Specflow для подобных сценариев, что невозможно одновременно запускать их?

Если это невозможно, как это можно сделать? И если невозможно, что еще можно сделать для ускорения процесса тестирования?

ответ

0

Это не имеет ничего общего с

тот факт, что сценарии корнишона повторно использовать одни и те же Specflow шаги для подобных сценариев не позволяют запускать их одновременно

Это вполне возможно, чтобы запустить свой MSTest футляры in parallel. Насколько мне известно, максимальное количество проверенных тестов не должно превышать . Однако я использовал специальный инструмент для этой цели, создавая каждый тест в отдельном потоке, его легко достижимо с помощью TPL.

+0

Возможно, у меня он был настроен неправильно. Когда я запускаю их индивидуально или вместе, но без параллельного выполнения они работают нормально. Когда я включаю параллельное выполнение, я сталкиваюсь с проблемами. Например, если я запускаю два сценария для тестирования разных ссылок, загружающих их соответствующие страницы, второй будет терпеть неудачу, поскольку он получит результат первого. Возможно, они пытаются запустить параллель в одном экземпляре драйвера или что-то в этом роде. – Sh3mm

+1

Я предполагаю, что вы смешиваете экземпляр «IWebDriver». Каждый драйвер объединяется с одним соответствующим экземпляром браузера через его идентификатор сеанса. Посмотрите на свой дизайн еще раз :) – ekostadinov

+0

У меня есть схема сценария для запуска 5 аналогичных тестов. У меня есть метод BeforeScenario для создания нового RemoteWebDriver и AfterScenario, чтобы снести его. Когда я запускаю более одного теста с параллельным выполнением, метод AfterScenario для выхода из драйвера убивает оставшиеся тесты. Как создать новый драйвер для каждого запуска сценария? – Sh3mm

0

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

Вы можете выполнить один и тот же тест в нескольких браузерах, используя комбинацию 1) параллельной библиотеки задач и 2) класс динамических объектов. Я написал об особенностях здесь http://blog.dmbcllc.com/running-selenium-in-parallel-with-any-net-unit-testing-tool/