Подтвердить что ты не робот

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

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

  • Мы хотим расширить наше автоматизированное тестирование, и есть много функций, отсутствующих в appium.

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

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

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

4b9b3361

Ответ 1

  • Сдвиг будет очень полезен, поскольку Espresso поддерживает тестирование действий вне приложения, таких как камера, браузер и dialer и т.д., которые appium не поддерживает.
  • Эспрессо вы можете протестировать тост-сообщение, автозаполнение и диалоги, которые находятся за пределами приложения.
  • С помощью тестового костюма Espresso вы можете найти покрытие кода и измерить свои усилия по тестированию.

Ответ 2

Вы можете пойти в Espresso, если вы придерживаетесь только автоматизации Android и не имеете понятия об автоматизации iOS.

AFIKW, Espresso нуждается в исходном коде приложения, чтобы его автоматизировать.

Преимущество в том, что он напрямую открывается из-за google.

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

Ответ 3

Я согласен с тем, что Espresso может быть очень эффективным, когда дело доходит до тестирования Android исключительно. Например, он может запускать только те действия, которые он тестирует, и это здорово.

Тем не менее, я придерживаюсь Appium, потому что он имеет тот же API для AndroidDriver и iOSDriver. Обычно приложения для Android сопровождаются приложениями iOS, и если вы отвечаете за автоматизацию пользовательского интерфейса, вы должны учитывать общие затраты.

Appium имеет следующие преимущества перед решением для платформы:

  • Тесты для Android и iOS могут использовать множество классов, включая вспомогательные методы и конфигурацию,
  • Тесты для Android и iOS могут совместно использовать общую тестовую логику на более высоком уровне, имея различную или немного отличающуюся реализацию на более низком уровне (например, иногда я могу просто скопировать весь объект класса объекта и сделать простое изменение локаторов, чтобы заставить его работать на другой платформе),
  • тот же API позволяет нам легко переключаться между разработкой тестов iOS и Android в команде. Дополнительным преимуществом является простое переключение на Selenium для веб-разработки.

Самым большим недостатком Appium является скорость более длительных тестовых сценариев и некоторые трудности при размещении элементов, но все же это мой выбор.

В качестве дополнительной заметки я хотел бы добавить, что вы не должны забывать о тестовой пирамиде, которая относится к автоматизации тестирования. Пожалуйста, сохраняйте баланс между модульными тестами, интеграционными тестами и испытаниями пользовательского интерфейса http://martinfowler.com/bliki/TestPyramid.html

Ответ 4

Основное различие между ними:

Тест эспрессо находится в приложении, и он знает обо всех слоях приложения. Таким образом, вы можете издеваться над определенными слоями приложения, более похожими на тестирование белого ящика

Тесты Appium - это черный ящик, тесты знают только уровень пользовательского интерфейса приложения. Главное преимущество - кросс-платформенное тестирование.