Appium vs Espresso для автоматизированной системы тестирования
в течение последних нескольких недель я использовал Appium(python)
для тестирования android, но вчера мы решили перейти на Expresso(Java)
для автоматизированного тестирования. Есть несколько причин, почему мы делаем этот сдвиг:
мы хотим масштабировать наше автоматическое тестирование, и в appium нет множества функций.
Это один из последних рамок тестирования для android, и имеет хорошую обратную совместимость.
- Малый API и очень легко настроить.
Я читал для кофе но я не нахожу ничего замечательного, если сравнить его с Аппием. Я Python/R developer
поэтому, возможно, есть несколько моментов, которые я не могу понять. Кто-нибудь хочет помочь мне понять, будет ли переход к этой новой структуре тестирования хорош для будущего? Мне не хватает большей картины здесь, и любая помощь была бы очень признательна.
4 ответов
- сдвиг будет очень полезно как эспрессо поддерживает проверку деятельности за пределами приложения как камера, браузер и звонилка и т. д., которые сайте Appium не поддерживает.
- эспрессо вы можете проверить сообщение тоста, автозаполнение и диалоги, которые находятся вне приложения.
- с костюмом теста эспрессо вы можете найти охват кода и измерить ваши усилия испытания.
вы можете перейти к эспрессо, если вы придерживаетесь только автоматизации Android и не имеете представления об автоматизации iOS.
AFIKW, Эспрессо нужен исходный код приложения для того, чтобы автоматизировать его.
преимущество в том, что он напрямую открыт google.
но мой go должен идти с Appium, так как его большое сообщество с открытым исходным кодом с огромными улучшениями на своем пути и легко автоматизировать с любым языком программирования и, само собой разумеется, он поддерживает как Android, так и усвн.
Я согласен, что эспрессо может быть очень эффективным, когда дело доходит до тестирования Android исключительно. Например, он может запускать только ту активность, которую он тестирует, что здорово.
тем не менее, я придерживаюсь Appium, потому что он имеет тот же API для AndroidDriver и iOSDriver. Обычно приложения для Android сопровождаются приложениями для iOS, и если вы отвечаете за автоматизацию пользовательского интерфейса, вы должны учитывать общие затраты.
сайте Appium имеет следующие преимущества над конкретной платформы решение:
- тесты Android и iOS могут делиться многими классами, включая вспомогательные методы и конфигурацию,
- тесты Android и iOS могут делиться общей логикой тестов на более высоком уровне, имея различную или немного различную реализацию на более низком уровне (например, иногда я могу просто скопировать весь класс объектов страницы и сделать простое изменение локаторов, чтобы заставить его работать на другой платформе),
- такой же API позволяет мы плавно переключить между разработка тестов iOS и Android в команде. Легкое переключение на Selenium для веб-разработки является дополнительным преимуществом.
самым большим недостатком Appium является скорость более длинных тестовых сценариев и некоторые трудности в поиске элементов, но все же это мой выбор.
в качестве примечания я хотел бы добавить, что вы не должны забывать о тестовой пирамиде, которая относится к автоматизации тестирования. Пожалуйста, держите баланс между модульными тестами, интеграционными тестами и UI тесты http://martinfowler.com/bliki/TestPyramid.html
основное различие между ними состоит,
тест Эспрессо находится в приложении, и он знает обо всех слоях приложения. Таким образом, вы можете издеваться над определенными слоями приложения, больше похожими на тестирование белого ящика
тесты Appium-это черный ящик, тесты знают только уровень пользовательского интерфейса приложения. Главное преимущество для кросс-платформенного тестирования.