Atata - свежий C#/.NET фреймворк на WebDriver

Доброго времени суток,

Хочу поделиться информацией о C#/.NET open source фреймворке. Вкратце, Atata - полнофункциональный фреймворк для тестирования веб приложений построенный на WebDriver. Подход разработки: fluent page object pattern. Содержит набор компонентов, триггеров, встоенную систему логирования и прочее для легкой и продуктивной разработки авто-тестов.

Ссылки на статьи CodeProject для ознакомления:

Документация: https://atata-framework.github.io/

Дополнительные наборы компонентов:

Интересно мнение сообщества о фреймворке. Любые замечания и предложения приветствуются.

9 лайков

добавьте плиз инструмент сюда

Уже было добавлено в марте в C# test automation.

1 лайк

название запоминающееся!

1 лайк

Евгений, как с Вами связаться в случае появления вопросов?

Павел, можете писать на Gitter, или можно как issue на основной репозитарий создавать: Issues · atata-framework/atata · GitHub. Также Вам в личку отправил логин Skype, если будут вопросы или специфические проблемы.

Спасибо, что поделился!
Эхъ, если б опубликовал в районе февраля, то заюзал бы его на проекте. У меня не много опыта и я как раз искал фрейм, чтоб не собирать велосипед. Выбрал этот: SWD.Starter
Постараюсь на следующем проекте покрутить этот фрейм в руках чтобы более предметно понять его

Ну это всё лирика. Вопрос. Смотрю есть поддержка Bootstrap, KendoUI компонентов, а есть планы поддержать AngularJS как-то ближе к телу приложения? Интересуют все вот эти ангулярные ожидания, загрузки… Прошу прощения за вопрос, если в этом фрейме это уже предусмотрено - не было времени детально поглядеть его.

Для первого AngularJS для ожиданий создал триггер WaitForAngularJSAjax, будет в ближайшей версии Atata 0.12.0. По второму Angular еще посмотрю что можно сделать. А вообще, для ожидания любых AJAX зопросов, при наявности элемента индикатора загрузки на странице, хорошо подходит универсальный триггер WaitForElement. Детальней о системе триггеров можете посмотреть на Triggers - Atata. Есть набор уже готовых триггеров и несложно создавать кастомные.

Спасибо, глянул. Интересно. Постараюсь в ближайшее время повертеть, как освобожусь тут от рутины…

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

Мапать элементы можно только через атрибуты? Например, если я захочу сделать динамический локатор.

Прикольный фреймфорк, пытаюсь разобраться в нем и не могу понять, как реализовать выбор элемента из выпадающего списка :pensive:
Может кто-то сталкивался с таким?

Что мешает вам открыть список и по локатору найти элемент в списке и клацнуть на него ?

Как пример кастомного dropdown Atata компонента можете посмотреть на BSDropdownToggle в исходниках Atata.Bootstrap. Там также есть DropdownToggleTests, где можно увидеть пример использования.

Если будут сложности, помогу, пишите в любой из каналов Atata, которые можно найти на https://atata.io/contact/.

1 лайк