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

Wrapper для проекта на Selenium WebDriver + C#

Теги: #<Tag:0x00007f748a68f820> #<Tag:0x00007f748a68f730> #<Tag:0x00007f748a68f640> #<Tag:0x00007f748a68f4b0> #<Tag:0x00007f748a68f370>

Добрый день!
После исследования надстройки для проекта Selenium + C# я не смог найти ничего такого полноценного и популярного, как Selenide для Selenium + Java.
Варианты, которые смог найти это:

А есть ли у кого-нибудь опыт с этими обвертками или другими надстройками для .Net?

1 Симпатия

Такого в открытых источниках и нет, скорее всего.

Лично я использую своё ядро, которое обросло кучей всего за пару лет)

https://github.com/aquality-automation/aquality-selenium-dotnet я вот это использую!

очень по-уму у них сделано и есть также проекты для WInAppdriver / appium

Есть нугет пакеты!

Разработчики активно отвечают и в личку в скайпе в гитхабе на issue

2 Симпатий

Рекомендую, возможно захотите сделать как здесь описанно:

Статье 7 лет.
Так что я бы как минимум не стал делать используя MS Test.

3 Симпатий

@Oleksandr_Pushchalo сталкивался с такой же проблемой не один раз. Обычно многие делают свои кастомные фреймворки, но далеко не все предоставляют общий доступ к своим наработкам. Происходит это по разным причинам, часто из-за полиси. Ну и наверное C# не так популярен в мире автоматизации. Благо есть те, кто способствует развитию тулов по автоматизации на .Net. Например, Allure для работы с .Net-проектами от @Noksa. Потому и мы решили сделать вместе с коллегой некий аналог Селенида - Selenious. Пока что он у нас тестируется на внутренних проектах компании и еще не все реализовано в нем по функционалу. Надеемся довести его до ума и презентовать его как открытый и поддерживающийся враппер для WebDriver на .Net.

3 Симпатий

Ждём-с :slight_smile:

А вы решили сделать максимально похоже на Selenide?
Element("#multirowTable").Should(Or("both true", Be(Visible), Have(CssClass("table"))));
как по мне Fluent быстрее в написании и заставляет меньше напрягать память, что то типа такого

Element("#multirowTable").Should.Or(Be.Visible(), Have.CssClass("table"));
Element("#multirowTable").Should.Be.Visible().And.Have.CssClass("table"));
1 Симпатия

Я бы смотрел в сторону Assert.That, как сделано в NUnit.
На мой скромный взгляд очень удобно.
Но я правда не знаю как в Selenide, может похоже.

1 Симпатия

Да мне тоже нравится, но там все универсально, можно больше заточить под Webdriver. Особо удобная для UI тестирования фича это After, так как не всегда нужные значения сразу появляются

В этой универсальности и своя фишечка. :slight_smile:

А так, приятно видеть что есть энтузиасты ещё в нашей шарповой бригаде :slight_smile:

1 Симпатия

Да я надеюсь с VS Code и .net core, c# еще стрельнет :grinning: как по мне он недооценен

1 Симпатия

VS Code вообще прекрасен. Я в большей степени использую его.
Особенно его Remote Development плагин, позволяющий дебажить контейнеры или прям в них вести разработку. Помимо WSL.

Но там конечно очень не хватает нормального IntelliSense для разных языков.
Например для groovy до сих пор нормального так и нет.

1 Симпатия

Да, тут мы больше отталкивались от селенид стиля. Возможно, подобная “стандартизация” позволит нам агрегировать людей вокруг Селениуса не только среди пользователей .Net, но и среди Java. Время покажет:) В любом случае ваши рассуждения касательно возможных вариантов лишними не будут и это даст нам толчок к привнесению некой “изюминки” Selenious, отличной от Selenide:)

2 Симпатий

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

Сам не пользовался, но слышал неплохие отзывы

1 Симпатия