Автоматизация Mobile платформ

Повторю то же, что повторяю уже годы :wink:

Apple/iOS: ничего лучше iOS Simulator из поставки XCode не придумано. Самый адекватный эмулятор в индустрии, я бы сказал что вероятность воспроизведения дефекта с симулятора на устройстве, — 90%.

Можно пробовать с реальными устройствами через jailbreak/VNC, но 1) Jailbreak это риск 2) придется покупать больше устройств (для симулятора достаточно одного мака),

В результате очередная команда, с которой я работаю, тоже купила Мак. Но кто хочет jailbreak/VNC , — “не запретишь”.

Android: либо дистанционное управление визуальными средствами типа Sikuli через утилиты screen sharing типа Teamviewer / MyPhoneExplorer , либо root-доступ и какое-то из VNC решений.

1 лайк

Я думаю на текущий момент набирает популярности автоматизация на мобильных устройствах с помощью Calabash фреймворка( IOS, Android) - при чем есть возможность потом проганять тесты в облаке на реальных устройствах - Xamarin Test Cloud, Appthwack, что в случае с андроидом, вещь вообще незаменимая( на IOS симуляторе воспроизводятся 90% багов, поэтому можно пользоваться даже им в многих случаях)
Ну и огромный плюс - если у вас кросплатформенное приложение - и контролы одинаковые, можно использовать одни и те же тесты для IOS и Android

2 лайка

Я использую для android UiAutomator и иногда Robotium.

1 лайк

iOS — manual testing, увы. Почти никогда нет доступа к коду для запуска в эмуляторе.
Android — собственные управляющие скрипты для adb и monkeyrunner.

Говорят что можно для android как-то переделать monkeyrunner. Чтобы можно было тесты писать не на питоне а на джаве. Если кто знает как это сделать - напишите пожалуйста.

Можно. Я писал на jRuby, соответственно можно и на чистой Java.
Используется пакет chimpchat.jar.

mChimpchat = ChimpChat.getInstance(options);
mDevice = mChimpchat.waitForConnection();

Большое спасибо, если можно немного подробней какой-нибудь образец теста и как его запускать.

Android - robotium,
iOs - встроенный в xcode uiautomation tool. там внутренний а-ля javascript. В принципе писал тесты, получается нормально. один большой минус - нужен mac

Я разобрался с monkeyrunner с помощью этого поста Diego Torres Milano's blog: Android: Using monkey from Java
Говорят что можно как-то переделать AndroidViewClient. Чтобы можно было тесты писать не на питоне а на джаве. Если кто знает как это сделать - напишите пожалуйста.