Мы создаем сложное приложение для Android, состоящее из множества экранов и рабочих процессов, распределенных по многим видам деятельности. Наши рабочие процессы аналогичны тем, которые вы можете видеть на банкомате Банка, например, для входа в систему Activity
происходит переход в главное меню Activity
, которое может переходить к другим действиям в зависимости от выбора пользователя.
Поскольку у нас так много рабочих процессов, нам необходимо создать автоматические тесты, которые охватывают несколько действий, чтобы мы могли тестировать рабочий процесс от начала до конца. Например, используя пример банкомата, мы хотели бы ввести действительный PIN-код, проверить, что отправляет нас в главное меню, выбрать снятие наличных, убедиться, что мы находимся на экране снятия наличных и т. Д., И т. Д., И в конечном итоге окажемся вернуться в главное меню или «выйти».
Мы поиграли с тестовыми API, которые поставляются с Android (например, ActivityInstrumentationTestCase2
), а также с Positron , но ни один из них не способен к тестированию за пределами одного Activity
, и хотя в этих инструментах мы можем найти некоторую полезность для некоторых модульных тестов, они не будут соответствовать нашим потребностям в сценариях тестирования, которые охватывают несколько видов деятельности.
Мы открыты для платформы xUnit, создания сценариев, записи / воспроизведения графического интерфейса пользователя и т. Д. И будем благодарны за любые советы.