Хочу поделиться информацией о C#/.NET open source фреймворке. Вкратце, Atata - полнофункциональный фреймворк для тестирования веб приложений построенный на WebDriver. Подход разработки: fluent page object pattern. Содержит набор компонентов, триггеров, встоенную систему логирования и прочее для легкой и продуктивной разработки авто-тестов.
Павел, можете писать на Gitter, или можно как issue на основной репозитарий создавать: Issues · atata-framework/atata · GitHub. Также Вам в личку отправил логин Skype, если будут вопросы или специфические проблемы.
Спасибо, что поделился!
Эхъ, если б опубликовал в районе февраля, то заюзал бы его на проекте. У меня не много опыта и я как раз искал фрейм, чтоб не собирать велосипед. Выбрал этот: SWD.Starter
Постараюсь на следующем проекте покрутить этот фрейм в руках чтобы более предметно понять его
Ну это всё лирика. Вопрос. Смотрю есть поддержка Bootstrap, KendoUI компонентов, а есть планы поддержать AngularJS как-то ближе к телу приложения? Интересуют все вот эти ангулярные ожидания, загрузки… Прошу прощения за вопрос, если в этом фрейме это уже предусмотрено - не было времени детально поглядеть его.
Для первого AngularJS для ожиданий создал триггер WaitForAngularJSAjax, будет в ближайшей версии Atata 0.12.0. По второму Angular еще посмотрю что можно сделать. А вообще, для ожидания любых AJAX зопросов, при наявности элемента индикатора загрузки на странице, хорошо подходит универсальный триггер WaitForElement. Детальней о системе триггеров можете посмотреть на Triggers - Atata. Есть набор уже готовых триггеров и несложно создавать кастомные.
Интересный фреймворк, тоже думал над выносом действий над локатором на уровень теста, без методов оберток, но судя по тому что я вижу, это уменьшает читабельность теста, так поднимает наверх низкоуровневую логику, но должно сохранять время на написание (нужно выбирать между двух зол как говорится).
Мапать элементы можно только через атрибуты? Например, если я захочу сделать динамический локатор.
Прикольный фреймфорк, пытаюсь разобраться в нем и не могу понять, как реализовать выбор элемента из выпадающего списка
Может кто-то сталкивался с таким?
Как пример кастомного dropdown Atata компонента можете посмотреть на BSDropdownToggle в исходниках Atata.Bootstrap. Там также есть DropdownToggleTests, где можно увидеть пример использования.
Если будут сложности, помогу, пишите в любой из каналов Atata, которые можно найти на https://atata.io/contact/.