2015-07-16 2 views
8

Я пишу небольшую обертку над Android UI Automator. Обычно мы видим статус тестового случая в консоли. Могу ли я получить к нему доступ и добавить свои собственные сообщения? Я пробовал System.out.println. Но это не сработало. Есть ли способ сделать это?Запись на Android UI Automator выходная консоль

+0

Что вы имеете в виду под «консоли вывода UIAutomator «? –

+0

В андроид-студии UIAutomator отображает результат теста в консоли JUnit. Я имею ввиду это. – deltaaruna

+0

Привет! Я обновил свой ответ в соответствии с моими идеями о junit (хотя я не использовал это :)) –

ответ

1

Если запущен тест с ADB, предпочтительный путь печати на LogCat:

import android.util.Log; 

Log.d("My tag", "My log message"); 

С другой стороны, последняя версия UIAutomator используется в тестовом классе реализации InstrumentationTestCase. Этот класс является далеким предком junit.framework.Assert (http://developer.android.com/reference/junit/framework/Assert.html). Я предполагаю, что вы найдете что-то полезное из его методов. Может быть, метод формата - это то, что вы ищете.

+1

Это относится к журналу журнала журнала. Не для консоли UIAutomator. – deltaaruna

+0

его не журналы UIAutomator. –

2

Вы можете использовать информацию о Instrumentation.sendStatus(..) на консоли.

sendStatus (..) принимает Bundle и код состояния в качестве аргументов. Это не позволит вам написать строку непосредственно в консоли, но каждая пара ключ/значение в Bundle будет выписана так:

INSTRUMENTATION_STATUS: key1=value1 
INSTRUMENTATION_STATUS: key2=value2 
INSTRUMENTATION_STATUS_CODE: -1 

Примечание: Это будет работать только если вы используете недавний версия UiAutomator (2.0+). Старая версия не имеет доступа к Instrumentation, поэтому, если вы используете UiAutomator на основе оболочки, пришло время обновиться!

+1

можете ли вы опубликовать фрагмент кода о том, как это можно реализовать в тесте uiautomator –

0

Instrumentation.sendStatus(..) может использоваться для записи на консоль uiautomator.

Быстрый пример будет:

Bundle bundle = new Bundle(); 
    bundle.putString("MyResult","10"); 
    getAutomationSupport().sendStatus(0, bundle); 

Надежда это то, что ищете!

0

Если вы хотите использовать оператор печати в Java, вы должны импортировать:

import static java.lang.System.out; 

После выполнения импорта, то вы можете использовать:

out.println("hello world"); 
Смежные вопросы