Тестирование Selenium стоит на мобильных устройствах?

Мы планировали проводить тестирование пользовательского интерфейса нашего веб-приложения с использованием Selenium. У нас теперь есть мысли. Из того, что я могу сказать, веб-серверы для устройств Android и iOS не используют фактический браузер, который будет использовать пользователь. Вместо этого они используют WebView, который может или не может быть похож на фактический браузер. В частности, я видел различные отчеты для Android, которые, как представляется, указывают на то, что WebView ведет себя не так, как встроенный браузер и Chrome, который по умолчанию используется на некоторых устройствах.

Вы находите, что использование Selenium для тестирования на самом аппаратном устройстве стоит того? Это более или менее точная, чем использование эмуляторов? Что вы нашли, это самый эффективный способ использовать автоматическое тестирование, чтобы сделать вас удобным, чтобы ваше веб-приложение корректно работало на всех поддерживаемых вами аппаратных платформах?

В нашем случае нам необходимо поддерживать последние версии основных браузеров на компьютерах, компьютерах Mac, планшетах и ​​телефонах. Selenium хорошо работает для тестирования ПК, но меня беспокоит тестирование планшета и телефона. Мы рассматриваем вопрос о том, нужно ли нам сворачивать или использовать что-то вроде uitest.js, что мы можем фактически запускать в реальных браузерах устройств.

Ответ 1

В то время как драйвер iPhone и драйвер Android, которые существуют в репозитории исходного кода Selenium WebDriver, сегодня используют элемент управления WebView для просмотра веб-страниц, оба проекта в значительной степени устарели. Это устаревание является явным в случае iPhone-драйвера и неактуально в случае с драйвером Android.

Эти драйверы были заменены другими проектами, такими как ios-driver, Selendroid и Appium. Эти проекты основаны на проекте WebDriver, используя тот же API-интерфейс клиента и обмениваются данными с помощью того же JSON-over-HTTP-проводного протокола, но способный автоматизировать собственные и гибридные приложения на мобильных платформах. Обычно они могут автоматизировать приложение либо на устройстве, либо в эмуляторе. В случае каждого из трех упомянутых мной проектов они активно поддерживаются и развитие продолжается.

Ответ 2

Из моего опыта и моих личных мнений -

Тестирование на всех браузерах, будь то Android, а браузеры на основе webkit не всегда необходимы.

Отправной точкой должно быть рассмотрение того, какие браузеры действительно попадают в ваше приложение. Посмотрите на некоторые графические диаграммы сети, и если Firefox или Chrome является основным трафиком для вашего приложения, вы должны охватить эти браузеры сначала. Все остальные браузеры - просто добавки. Ваша основная ответственность должна заключаться в том, чтобы обслуживать тех, кто больше всего использует ваше приложение.

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

В моем личном мнении - мобильное тестирование все равно переоценивается. Почему бы просто не изменить пользовательский агент Chrome или какой-либо браузер, чтобы ваше приложение считало его android или iOS?

Ответ 3

Теперь Android-драйвер удаляется и заменяется Selendroid для Android.

  • Java 6+
  • Последний Android-Sdk должен быть установлен и установить ANDROID_HOME
  • Загрузите файл selendroid.jar
  • Запустить сервер

    java -jar selendroid-standalone-0.17.0-with-dependencies.jar -app selendroid-test-app-0.17.0.apk