Robotium: как запустить на физическом девайсе?


(xenos) #1

 

Собственно сабж. Все статьи-вебинары заканчиваются на том, что можно, а вот как... :)
 
Что для этого нужно? Нужен доступ по VNC? Нужен root у девайса? Или вдруг достаточно просто подключить еще через кабель?
 
Из всех вариантов для андройда на живом девайсе пока нашел только MonkeyTalk, но у него куча минусов: не работает с datepicker-ами и другими android-native окнами, не находит внезапно элементы... Нужно добавлять большое количество костылей. И заканчивая тем, что каждый билд нужно под него конвертировать... Хотелось бы что-то постабильнее.

(d3unka) #2

После установки Android SDK, подключаете телефон к USB(рутить не нужно). Проверяете adb devices. Запускаете тест из Eclipse, получите диалоговое окно выбора где запускать тест, на девайсе или эмуляторе. Если из консоли - добавить ключь -d к команде запуска тестов.


(Taras) #3

ничего такого Вам не нужно делать, просто adb devices - видит девайс значит стартуете на авто тести на девайсе, если нет то запуститься емулятор.

Что Вам сообственно нужно ето при создании проекта указать уровень АРІ такой же как у вашего девайсе, если не совпадут то запуститься соотвествующий ємулятор.


(Vitalii) #4

и если тестировать apk, то переподписать его


(xenos) #5

спасибо, буду пробовать!


(Nick Unuchek) #6

"если тестировать apk, то переподписать его"
Как переподписать его?


(Taras) #7

Вот етой прожкой http://code.google.com/p/apk-signer/

простой перетаскиваете apk файл на нее и ждете, она сгенерит новий apk файл вам подписаний


(Andrey Kharkov) #8

Здравствуйте извините что не совсем в тему подскажите пожалуйста:

1. Можно ли с помощью UiAutomator сделать Перформенс тестирование под андроид?

2. Как запустить UiAutomator тест на эмуляторе с API <16?

3. Как сделать скриншот в UiAutomator?

Заранее большое спасибо.

4. Правда, что теперь Robotium будет постепенно умирать.

 


(Taras) #9

да мне кажеться тестировать перфоменс на емуляторе ето уже профанация такого понятия как перйоманс)


(Nick Unuchek) #10

jarsigner: key associated with not a private key
что значит? как исправить ошибку?


(Taras) #11

Погуглите, проблема распространенная


(Nick Unuchek) #12

Вообщем я написал код теста для Robotium для .apk файла
Расставил Breakpoints. 

1. Как его запустить в Dedug (Eclipse)? Какую кнопку нажимать для возобновления (выполнения строки где стоит поинт)

2. Как избежать остановки запуска всех тестов, когда происходит первый fail. Т.е я запускаю все тесты, находит первый fail (прилага падает) и останавливается проверка последующих тестов.  Вот код

public void testForYouOpen() throws Exception {
try {
solo.waitForActivity("LoginActivity");
assertTrue("Wait for button (id: com.parrot.rhapsody.R.id.login_button_ok) failed.",
solo.waitForView(solo.findViewById("com.parrot.rhapsody.R.id.login_button_ok"),20000, true));
solo.clickOnView(solo.findViewById("com.parrot.rhapsody.R.id.login_button_ok"));
solo.waitForActivity("MainActivity");
assertTrue("Wait for list failed.",solo.waitForView(AbsListView.class, 1, 20000, true));
solo.clickInList(2);
boolean expected = false;
boolean actual = solo.waitForText("Search"); 
assertEquals("Search test is not found", expected, actual); 
}

catch (AssertionFailedError e) {
solo.fail("TestRhapsodyNameMenu.TestNameMenu.testRecorded_scr_fail",e);
throw e;

} catch (Exception e) {solo.fail("TestRhapsodyNameMenu.TestNameMenu.testRecorded_scr_fail",e);
throw e;

}
Послу окончания теста пишет это:
 

Test failed to run to completion. Reason: 'Instrumentation run 
failed due to 'java.lang.NullPointerException''.
Check device logcat for details
 


      

(Mykhailo Poliarush) #13

1. для запуска используйте не run, а комманду debug

2. а как вы вообще запускаете ваши тесты?

и последний вопрос, вы давно программируете и какой IDE используете?


(Nick Unuchek) #14

1. я и использую комманду debug. Как потом возобновать выполнение теста когда он останавливается на pointe?

2. Run as... Android JUnit Test from APK

Никакого IDE я не использую просто в Eclipse пишу код для тестирования и запускаю на эмулятор или на девайс. 


(Mykhailo Poliarush) #15

я думаю эта ссылка вам поможет http://www.vogella.com/articles/EclipseDebugging/article.html