Feature test
Тесты значимых функций приложения
fun canLoginUsigEmail() fun canRegisterAccount() fun canRemoveAccount() canRegisterUser canHandleInvalidInput canRelayDocumentBetweenServers canCreateSchema canLoginUsingWebService canLoginUsingBasicAuth canDeleteDocument canAddDocument
Стек технологий:
Espresso, UI automator, Spoon (запуск одновременно на всех устройствах подключенных к adb и генерация отчета), Falcon (делаем скрины ошибок, либо ключевых позиций)
Пример теста из UI automator sample
@Test
fun canLoginUsingEmail() {
val d= RotoDevice(device)
screenShot("welcome")
val s=d.openWelcome().signInWithEmail()
screenShot("sign_in_empty")
s.inputEmail(email)
s.inputPassword(password)
screenShot("sign_in_email_fill")
val a=s.enter()
screenShot("account_after_sign_in")
d.checkOpen(RotoDevice.type.ACCOUNT)
assertTrue(a.emailOnScreen==email)
}
Очень хорошо работате в связке с page object - когда на каждый фрагмент, для читаемости кода создается вспомогательный класс.