Android genymotion vs emulator
Есть ли результаты тестов для сравнения этих двух эмуляторов?
Я знаю, что Genymotion кажется более быстрым при загрузке и перезагрузке эмулятора,
но есть ли какие-либо тесты, показывающие результат, например, Camera, GPS, networking и т.д.?
Ответы
Ответ 1
Посмотрите здесь для некоторых неофициальных сравнительных сравнений. Однако, возьмите их с зерном соли, потому что баллы оценки будут сильно различаться в зависимости от хост-системы.
Что касается элементов, на которые вы хотите ориентироваться, не уверен, что камера /gps можно даже сравнить (что бы вы протестировали), а сетевое взаимодействие идеально подходит, так как использует VirtualBox, который всегда обладал отличной поддержкой виртуальной сети.
Как разработчик графики/игры, я нахожу, что Genymotion не имеет аналогов для запуска кода OpenGL - в Genymotion он работает намного более плавно, чем используя x86 + HAXM + HW GPU android emulator. Кроме того, интеграция Google Apps/Services в Genymotion является фантастической.
Совместимость - единственный недостаток, так как Genymotion предоставляет только изображения v4.1 +, нет возможности проверить совместимость с более старыми версиями Android, но для этих тестов я просто использую стандартный эмулятор Android (это нормально, поскольку это не так частое, как обычное тестирование).
Обновление. По состоянию на январь 2014 года Genymotion поддерживает Android v2.3.7, а также v4.3 (с версией v4.4 в режиме предварительного просмотра). Это означает, что теперь он охватывает все соответствующие версии для Android, кроме Froyo (v2.2), которые на данный момент составляют только 1-2% всех устройств:)
Ответ 2
Я изучаю, следует ли использовать Genymotion, с особым упором на автоматизированные тесты Robotium.
Время запуска Genymotion составляет около 5 секунд (по сравнению с эмулятором Android не менее 30 секунд). Genymotion также запускает тесты Robotium заметно быстрее и с более плавным интерфейсом.
Однако следует предупредить, что существуют некоторые заметные различия между Genymotion и эмуляторами Android по умолчанию:
- Вы не можете использовать специальный 10.0.2.2 IP-адрес с Genymotion для доступа к localhost на компьютере, на котором запущен эмулятор. Это означает, что для локальных тестов вам может потребоваться явно настроить IP-адрес компьютера, к которому должен подключиться эмулятор.
- Разница в скоростях эмулятора выявит проблемы времени в тестах. Наиболее распространенным является просмотр списков, требующих загрузки их данных.
- Я думаю, что некоторые утилиты Robotium Solo могут немного отличаться между Genymotion и эмуляторами Android по умолчанию. В Genymotion я смутно вспоминаю некоторые проблемы с searchText (String), прокручивающие мой экран на дно, даже когда текст, который я ищу, уже находится в поле зрения. Однако я подозреваю, что это был еще один признак проблем с синхронизацией, чем что-либо принципиально другое, хотя (в этом конкретном случае вы всегда можете вызвать searchText (String, true) для предотвращения прокрутки).
Ответ 3
Использовать эмулятор Android
Я лично пробовал оба, и эмулятор Android стал лучше.
Вам просто нужно правильно настроить эмулятор.
Мой вариант использования - это, в основном, ручное тестирование вещей здесь и там и тесты автоматизации. Я сравнивал их обоих, эмулятор Android быстрее работает при тестировании.
Почти все датчики присутствуют в эмуляторе Android, и вы также получаете отличный инструмент командной строки.
Подробнее см. мой блог, сравнивающий это.