Я хочу настроить проект в Android Studio. Однако мне не нужно приложение для Android, а только тестовый проект.
После последнего выпуска UiAutomator я пытался установить класс, расширяющий ActivityInstrumentationTestCase2, и начать свои тесты оттуда.
Однако я наткнулся на одну вещь: я не могу понять, как создать проект, не превратив его в приложение.
Варианты создания нового проекта:
- Начать новый проект Android Studio
- Открыть существующие проекты
- Импорт проектов
Я сделал:
- Запустите новый проект, дайте ему имя, установите minSDK и выберите «Нет активности».
- Откройте build.gradle (под приложением) и добавьте информацию о зависимостях и инструментарии, указанную в конце Testing Support. Библиотека
- Открыл androidTest под src и изменил основной файл: изменил на ActivityInstrumentationTestCase2, добавил setUp и tearDown; определил RunWith Junit4 (как указано в библиотеке поддержки тестирования)
- Я строю проект (сборка выполнена успешно) — нажмите зеленую стрелку рядом со сборкой на «панели действий».
Мои проблемы:
- Как установить это на устройство?
- Как запустить его на устройстве?
- Нужно ли мне что-то делать в AndroidManifest?
- Я редактирую в правильном месте? Должен ли я делать что-либо в src/main?
Я был бы признателен, если бы инструкции по установке и запуску касались как того, как это сделать через Android Studio, так и с помощью командной строки (если вы знаете только одну из них, опубликуйте ее, пожалуйста).
Примечание: я впервые использую Android Studio
Заранее спасибо.
ИЗМЕНИТЬ:
Прямо сейчас я могу собрать и запустить, но он говорит мне, что у меня нет тестов для запуска (пустой набор тестов). Вот мой граддл и мой код.
Мой build.graddle выглядит следующим образом:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "androidexp.com.ceninhas"
minSdkVersion 21
targetSdkVersion 22
versionCode 1
versionName "1.0"
testInstrumentationRunner="android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
exclude 'LICENSE.txt'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile 'com.android.support.test:testing-support-lib:0.1'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.0.0'
}
Мой исходный код (в src/androidTest/java/package):
@RunWith(AndroidJUnit4.class)
public class ApplicationTest extends ActivityInstrumentationTestCase2<Activity> {
public final static String ACTIVITY_NAME = "com.calculator.Main";
public final static Class<?> autActivityClass;
static {
try {
autActivityClass = Class.forName(ACTIVITY_NAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
public ApplicationTest(){
super((Class<Activity>)autActivityClass);
}
@Before
public void setUp() throws Exception{
super.setUp();
injectInstrumentation(InstrumentationRegistry.getInstrumentation());
}
@After
public void tearDown() throws Exception{
super.tearDown();
}
@Test
public void cenas(){
assertTrue(true);
}
}
Журнал запуска на консоли был:
Testing started at 18:06 ...
Waiting for device.
Target device: lge-nexus_5-08e506c10ddef123
Uploading file
local path: C:\Users\Ines\workspace\Ceninhas\app\build\outputs\apk\app-debug.apk
remote path: /data/local/tmp/androidexp.com.ceninhas
No apk changes detected. Skipping file upload, force stopping package instead.
DEVICE SHELL COMMAND: am force-stop androidexp.com.ceninhas
Uploading file
local path: C:\Users\Ines\workspace\Ceninhas\app\build\outputs\apk\app-debug-androidTest-unaligned.apk
remote path: /data/local/tmp/androidexp.com.ceninhas.test
No apk changes detected. Skipping file upload, force stopping package instead.
DEVICE SHELL COMMAND: am force-stop androidexp.com.ceninhas.test
Running tests
Test running startedFinish
Empty test suite.
Что я делаю не так?