И так, хотел бы пообщаться на тему мобильной автоматизации и попросить совета у тех, у кого есть большой опыт в автоматизации на appium и нативках.
Мой опыт с appium:
У меня у самого большой опыт с веб автоматизацией и с автотестами на апи, там все понятно. Есть опыт работы с Appium, когда он только появился, но в обеих компаниях автотестов на нем мы не успели много напилить. Я начинал использовать appium, когда он только появился. И стабильность/скорость автотестов была тогда не фонтан
Что имею сейчас:
В текущей компании основной продукт это мобильные апки, есть ребята которые знают java и есть опыт c appium, на нативных фреймворках/языках опыта нет. Есть какая то часть автотестов на appium, написанных только под android, написанных на selenide + appium. Запускались они локально на телефонах, каждый запускал свои тесты. Какой то фермы, ci/cd, где бы они все гонялись, нет.
Какие вижу плюсы нативок, минусы appium:
⁃ Насколько я знаю, appium сейчас мало кто использует, все пишут на нативных языках, на Espresso(Kaspresso) + Kotlin для Android, Swift + XCTest для ios. Знаю, что в вк, одноклассниках, сбер звука, тиньке да много еще где все пишут только на нативных языках.
⁃ На прошлой работе я сам начал переписывать автотесты на Swift + XCTest под iOS и сравнивал их с Appium + Java. Ну конечно на Swift все было по приятнее, быстрее, стабильнее, можно на нужные экраны сразу переходить, можно компиляцию проекта убрать и ускорить тесты, можно снепшот тестирование встроить. С Espresso(Kaspresso) + Kotlin не работал, но знаю, что там тоже есть разные фишки типа переключений ну нужный экран и т д
Какие вижу плюсы appium, минусы нативок:
⁃ Нужны маки, если для Appium под иос без мака можно обойтись, заходить по рдп на мак и запускать аппиум инспектор там как вариант, то в случае с Swift + XCTest нужен мак и нужно писать автотесты в XCode
⁃ Дорого. Сейчас хоть и многие пишут на нативных языках для мобилок, все равно таких спецов тяжело найти и они стоят, как крыло самолета.
⁃ Спецов нужно двое, отдельно для иос и отдельно для Андройд, на свифте я бы еще что то мог наколхозить и как то научить (но мне хотелось бы прям спеца найти, который и меня бы поучил), а Kotlin с Espresso(Kaspresso) я вообще не открывал.
⁃ Не хочется хоронить то, что уже написано, хочется немного переписать, чтобы один автотест работал сразу и на иос и на андройд, как я это делал в прошлых компаниях на appium
— У текущих ребят есть какой никакой опыт работы с appium
Мой итог такой:
— Appium хорош, когда нужно здесь и сейчас, дешево, один язык — один автотест пишется сразу на две платформы, когда не стоит ждать какой-то помощи по нативкам от разработчиков.
— Когда есть ресурсы, то нативки лучше. Они быстрее, стабильнее, гибче.
Но может я не совсем прав? Есть ли среди моих читателей, у кого есть большой опыт работы с appium от 1000 автотестов, насколько он стабилен при таком количестве? Знаю, что в баду, райфе, сберздоровье используют appium….
Насколько стабильнее нативки? Может есть у кого какая то статистика на большом количестве appium автотестов и автотестов на нативках по стабилности, скорости и т д?
Какая архитектура у вас для appium? Какие фермы, особенно для иос? Как ускоряйте автотесты? Как оптимизируйте, типа переход сразу на нужный экран, или открытие экрана сразу авторизованным пользователем? Буду рад, если поделитесь инфой 🙏🙏🙏