Appium vs Espresso для автоматизированной системы тестирования

в течение последних нескольких недель я использовал Appium(python) для тестирования android, но вчера мы решили перейти на Expresso(Java) для автоматизированного тестирования. Есть несколько причин, почему мы делаем этот сдвиг:

  • мы хотим масштабировать наше автоматическое тестирование, и в appium нет множества функций.

  • Это один из последних рамок тестирования для android, и имеет хорошую обратную совместимость.

  • Малый API и очень легко настроить.

Я читал для кофе но я не нахожу ничего замечательного, если сравнить его с Аппием. Я Python/R developer поэтому, возможно, есть несколько моментов, которые я не могу понять. Кто-нибудь хочет помочь мне понять, будет ли переход к этой новой структуре тестирования хорош для будущего? Мне не хватает большей картины здесь, и любая помощь была бы очень признательна.

4 ответов


  1. сдвиг будет очень полезно как эспрессо поддерживает проверку деятельности за пределами приложения как камера, браузер и звонилка и т. д., которые сайте Appium не поддерживает.
  2. эспрессо вы можете проверить сообщение тоста, автозаполнение и диалоги, которые находятся вне приложения.
  3. с костюмом теста эспрессо вы можете найти охват кода и измерить ваши усилия испытания.

вы можете перейти к эспрессо, если вы придерживаетесь только автоматизации 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-это черный ящик, тесты знают только уровень пользовательского интерфейса приложения. Главное преимущество для кросс-платформенного тестирования.