Стоит задача сделать кроссбраузерные тесты + немного функциональных тестов на клиентскую часть для сайта на javascript(backbone), сервер написан на php. Из языков хочется использоваться C#, поэтому Selenide наверное отпадает. Запускать тесты в дальнейшем планируется с помощью CI сервера (отчеты как понимаю тоже хватит родных от CI), в ближайшем будущем - руками или nunit. Задумываюсь насчет sikuli для кроссбраузерного тестирования, но не уверена.
Также вообще возникают сомнения, а не стоит ли вместо вебдрайвера поискать что-то типа protractor.
Скажем так: если вы не владеете C# в совершенстве, то не вижу причин не попробовать Java. Языки ну очень похожи, особенно после выхода 8ки (я в свое время после двух лет активной работы с C# перешел на Java всего с двухнедельным порогом вхождения). А если использовать уже готовый фреймворк, то разницы почти не заметите. ООП - оно и в Африке ООП. К синтаксису быстро привыкаешь. Ну разве что от var тяжело отвыкать, но строгая типизация - это не так уж и страшно.
Для отчетов возьмите Allure. У него есть куча адаптеров под различные языки.
SikuliX все же рекомендовал бы использовать только в качестве дополнительного инструмента (а не основного) для решения задач, с которыми не справляется webdriver.
Однозначно только webdriver (можно сказать стандарт )! Skiuli можно подключать в тех моментах где недостаточно самого webdriver. А писать можно на чем больше нравится. За частую идет заблуждение что нужно писать авто тесты на том, на чем написан проект.
Мне нравится на C#, но не будет ли проблем с поднятием локального окружения проекта и прогона на нем тестов?
Еще хочется все-таки использовать уже готовый фреймворк а-ля selenide или что-нибудь такое, чтобы костыли никакие не писать. Но selenide для джава.
Кстати кто-нибудь все-таки может ответить как легко и просто сделать сравнение скриншотов в selenium или это другим чем-то делать? (для кроссбраузерных тестов)
А зачем поднимать окружение для прогона тестов? Даже если так VirtualBox вам в помощь
Скриншоты можно сравнивать через Sikuli, еще посмотрите в сторону galenframework
По готовым фреймворкам на C# не подскажу, но есть куча для Java и Python.
Здесь я поспорил бы. Если тесты идут как отдельный продукт то да. А вот если они должны выполнятся на фазе test в maven или на таске gradle - то тут сильно выбрать язык не получится.
А что мешает из мавена или гредла запустить pytest? ) Думаю разница есть, если тесты пишут сами же разработчики или если в проекте уже есть тесты или начальство решило за тебя.