Тествам приложението си за Android с Robotium и се сблъсквам с един периодичен проблем. Моето приложение започва с SigninActivity, което позволява на потребителя да влезе и след това той се насочва към втората дейност, която има списък, който се попълва след заявка към уеб сървър.
Първият въпрос е: тъй като всички мои дейности могат да бъдат достъпни само след като потребителят е влязъл, трябва да стартирам всеки тест за всяка дейност от екрана за вход. Така че това, което правя, е за всеки клас за тестове за активност, от който го наследявам
ActivityInstrumentationTestCase2<SigninActivity>
и в метода за настройка влизам като потребител. Това ли е правилният подход?
Втори въпрос: Искам да тествам данните от списъка във втората дейност, която се попълва след заявка към уеб сървъра. Както бе споменато по-горе, в моя метод за настройка влизам като потребител и използвам
solo.waitForActivity(SecondActivity.class, BIG_TIMEOUT)
solo.waitForView(ListView.class)
за да се гарантира, че втората дейност и списъкът са налице. Проблемът е, че дори и с тази проверка често получавам
junit.framework.AssertionFailedError: Can not click on line number 2 as there are only 0 lines available