Robotium - Как избежать остановки Robotium при обнаружении первой ошибки? - PullRequest
0 голосов
/ 07 марта 2012

Есть ли способ заставить Robotium продолжить выполнение всего сценария в случаях, когда что-то не получается?

Например: если у меня три ошибки, и я запускаю скрипт в одночасье, я поймаю только одну ошибку, а затем скрипт остановится. Я хочу просмотреть все сценарии, а затем сообщить обо всех трех ошибках.

Ответы [ 4 ]

2 голосов
/ 20 марта 2012

Использование try - catch:

try { 
    //Your script
    //Write some code to print your result as pass.
}
catch(Error er){
    //Fail
    //Write some code to print your result as fail + er.getMessage());.
}
1 голос
/ 17 июля 2013

В вашем классе, который расширяет ActivityInstrumentationTestCase2, вы можете добавить больше методов;Я думаю, будет лучше, если вы не поместите все тесты в один уникальный метод.

public void testDisplayBlackBoxAgree() {
assertTrue(solo.searchText("Agree"));
}

public void testDisplayBlackBoxDisagree() {
assertTrue(solo.searchText("Disagree"));
}

Я надеюсь, что эта интеграция с другим полученным ответом может помочь вам.

Извините за мой английский!

0 голосов
/ 17 октября 2013

Вы можете использовать try-catches, как упомянуто ранее, но вы также можете создать свою собственную функцию assert, которая печатает данные об ошибках в документ с помощью трассировки стека, используя метод, описанный здесь " Как найти вызывающего методаиспользование стека или отражения?".

Еще один способ сделать это - распечатать данные в logcat, если вы хотите обработать их, пока приложение еще работает, упомянутое здесь" Как мне написатьвыводить в лог в Android?".В общем, вам не нужно использовать функции AssertTrue или AssertFalse, они просто полезный инструмент.Надеюсь, это поможет

0 голосов
/ 11 января 2013

Я обычно печатаю что-то вроде

if (solo.searchText ("example") == true) {

написать код }

еще { написать код для того, что должно произойти, если сценарий не удается }

...