Какой тип проекта я использую для решения Visual Studio на основе Selenium SpecFlow

Я работаю над созданием проекта автоматизации тестирования для нашего приложения с использованием SpecFlow, SpecFlow+ и Selenium WebDriver. Прошел через несколько руководств, и у каждого своя точка зрения.

Так может ли кто-нибудь сообщить, какой тип проекта лучше всего использовать с проектом SpecFlow и что использовать с проектом Selenium в том же решении VS 2019?

Кроме того, должен ли я иметь основной проект как SpecFlow и добавленный проект как Selenium (или наоборот)?

Кто-нибудь сделал подобное решение с двумя проектами, на которые я могу взглянуть?


person gagneet    schedule 15.07.2020    source источник


Ответы (2)


Я использую библиотеки классов .NET Core.

  • .Net Framework прекращена поддержка, поэтому я бы не стал тот. Скорее всего, это старые учебники.
  • Консольный проект позволяет вам нажать кнопку «Выполнить», поскольку он имеет метод static void main в качестве точки входа и дает вам хороший текстовый вывод там, где вы этого хотите. Вероятно, поэтому вы видите это в учебниках, поскольку это проще, но в конечном итоге это просто потребует больше усилий, поскольку вы не запускаете тест как программу. Вы будете использовать средство запуска тестов, чтобы запускать тесты.

Посмотрите здесь пример на github. Это selenium nunit и specflow (не specflow+ или мультипроект), но они достаточно близки, чтобы дать вам представление, если вам это нужно. Если бы мне пришлось преобразовать это, я бы переместил соответствующие папки в свой собственный проект...

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

Если вы идете с несколькими проектами - на самом деле не имеет значения, что будет в первую очередь. Вероятно, начните снизу и сначала займитесь селеновым ядром. Без селена ничего не заработает, поэтому все будет зависеть от него. Вы, скорее всего, поменяете слой теста/данных позже.

person RichEdwards    schedule 15.07.2020
comment
Поддержка .NET Framework связана с жизненным циклом поддержки Windows. Пока .NET Framework является частью ОС, она будет поддерживаться Microsoft. Чего не происходит с .NET Framework, так это того, что в будущем он получит больше возможностей. См. dotnet.microsoft.com/platform/support/policy/dotnet-framework - person Andreas Willich; 15.07.2020

Если вы начинаете с MSTest, модульный тест или шаблон библиотеки классов не имеет значения. Все они производят нормальную сборку библиотеки классов. Единственными различиями между этими шаблонами проектов являются стиль (классический или пакет SDK) и пакеты NuGet, которые добавляются по умолчанию.

А в туториале от Guru99 они где-то во время туториала меняют проект с консольного приложения на библиотеку классов.

На данный момент я бы выбрал шаблон в зависимости от того, какой формат проекта вы используете в своем проекте. И для этого я бы следовал нашему Руководству по началу работы, чтобы выбрать правильный шаблон.

Об одном или нескольких проектах: Оставайтесь с одним проектом. Зачем делать это сложнее, чем нужно?


Полное раскрытие: я менеджер сообщества и один из тех, кто поддерживает SpecFlow и SpecFlow+.

person Andreas Willich    schedule 15.07.2020