Тестирование Android-приложения с помощью Eclipse + Testdroid Recorder

1. Создайте учетную запись на сайте "Testdroid".
2. Установите плагин "Testdroid" в Eclipse: "Help" -> "Eclipse Marketplace", в поле "Find" вписываем "Testdroid Recorder". После того, как плагин будет найден, жмите "Install".
3. В качестве примера создайте Android-проект из sample: "File" -> "New" -> "Other" -> "Android Project". В окне "New Android Project" задать имя проекта и выбрать "Create project from existing samples", нажать кнопку "Next". В следующем окне выберите нужную версию Android, которая имеет примеры. В окне "Select Sample" выберите "NotePad" и нажмите кнопку "Finish".
4. Выделите созданный проект и вызовите контекстное меню. Затем "Android Tools" -> "New Test Project". Задайте имя проекта <AddNoteTest> и сохраните проект.
5. Выделите созданный проект и вызовите контекстное меню. Затем "Build Path" -> "Configure Build Path...". В открывшемся окне перейдите на вкладку "Libraries", нажмите кнопку "Add External JARs" и выберите файл robotium-solo-<version>.jar (последнюю версию можно скачать на оф.сайте). Перейдите на вкладку "Order and Export" и отметьте чек-бокс напротив robotium-solo-<version>.jar. Нажмите кнопку "ОК".
6. В пакете com.example.android.notepad.test создайте новый класс с именем <AddNoteTest> и со следующим содержанием:

package com.example.android.notepad.test;
 
import android.test.ActivityInstrumentationTestCase2;
import com.example.android.notepad.NotesList;
import com.jayway.android.robotium.solo.Solo;
 
public class AddNoteTest extends ActivityInstrumentationTestCase2{
 
	private static final String APP_PACKAGE_NAME = "com.example.android.notepad";
	protected Solo solo;
	protected Integer screenWidth = null;
	protected Integer screenHeight = null;
 
	public AddNoteTest() {
		super(APP_PACKAGE_NAME, NotesList.class);
	}
 
	public void setUp() throws Exception {
		solo = new Solo(getInstrumentation(), getActivity());
	}
 
	public void testAddNote() throws Exception {
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickOnMenuItem("Add note", true);
		solo.waitForActivity("NoteEditor", 500);
		solo.sleep(2500);
		solo.clearEditText(0);
		solo.enterText(0, "Hello world!");
		solo.sleep(2500);
		solo.goBack();
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickOnMenuItem("Add note", true);
		solo.waitForActivity("NoteEditor", 500);
		solo.sleep(2500);
		solo.clearEditText(0);
		solo.enterText(0, "New");
		solo.sleep(2500);
		solo.goBack();
		solo.waitForActivity("NotesList", 500);
		solo.sleep(2500);
		solo.clickInList(1);
	}
 
	@Override
	public void tearDown() throws Exception {
		//Robotium will finish all the activities that have been opened
		solo.finishOpenedActivities();
	}
}

7. Выделите созданный проект и вызовите контекстное меню. Затем "Run As..." -> "Android JUnit Test". В зависимости от того, где вы тестируете приложение (эмулятор или телефон), на экране устройства запуститься приложение, в котором начнут автоматически происходить действия, описанные в тесте.

В следующей заметке я расскажу, как с помощью Testdroid Recorder создавать Record/Play тесты.