UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
com.android.tradefed.testtype.UiAutomatorRunner


Запускает тест UI Automator на устройстве и выдаёт результаты. UI Automator — это специализированный инструмент для запуска тестов автоматизации пользовательского интерфейса, использующий фреймворк UI Automator. Инструмент на устройстве эмулирует формат выходных данных инструментального теста, что позволяет повторно использовать существующий код анализа в ddmlib и TF. По сути, это оболочка для следующей команды: adb shell uiautomator runtest (jar files) -e class (test classes) ...

Краткое содержание

Публичные конструкторы

UiAutomatorRunner ( IDevice remoteDevice, String[] jarPaths, String runnerPath)

Создайте UiAutomatorRunner для запуска тестов автоматизации пользовательского интерфейса.

Публичные методы

void addBooleanArg (String name, boolean value)

Добавляет логический аргумент для включения в команду инструментирования.

void addInstrumentationArg (String name, String value)

Добавляет аргумент для включения в команду инструментирования.

void cancel ()

Прошу отменить данный тестовый запуск.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Возвращает тип тестового покрытия, создаваемого исполнителем.

String getPackageName ()

Возвращает имя пакета последнего добавленного класса Java.

String getRunnerName ()

Возвращает имя класса UiAutomatorTestRunner по умолчанию

void removeInstrumentationArg (String name)

Удаляет ранее добавленный аргумент.

void run ( ITestRunListener... listeners)

Выполните этот тестовый запуск.

void run ( listeners)

Выполните этот тестовый запуск.

void setAdditionalTestOutputLocation (String additionalTestDataPath)

Задает расположение дополнительных тестовых выходных данных, которые необходимо скопировать на хост перед удалением тестового приложения.

void setClassName (String className)

Устанавливает запуск только тестов в этом классе. Должен вызываться перед «запуском».

void setClassNames (String[] classNames)

Устанавливает запуск только тестов в предоставленных классах. Должен вызываться перед «запуском».

void setCoverage (boolean coverage)

Устанавливает режим покрытия кода для данного тестового прогона.

void setCoverageReportLocation (String arg0)

Устанавливает местоположение создаваемых отчетов о покрытии.

void setDebug (boolean debug)

Устанавливает режим отладки данного тестового прогона.

void setIgnoreSighup (boolean value)

Устанавливает опцию в uiautomator для игнорирования SIGHUP.

void setLogOnly (boolean logOnly)

Переводит этот тестовый запуск в режим «только журналирование» — пропускает выполнение теста.

void setMaxTimeToOutputResponse (long timeout, TimeUnit unit)

Устанавливает максимально допустимое время между выводом команды оболочки и запуском тестов на устройствах.

void setMaxTimeout (long maxTimeout, TimeUnit unit)

Устанавливает максимальное время, отведенное для завершения работы прибора.

void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Этот метод устарел. Вместо него используйте setMaxTimeToOutputResponse(long, TimeUnit) .

void setMethodName (String className, String testName)

Устанавливает запуск только указанного метода теста. Должен быть вызван перед «запуском».

void setRunName (String runName)

Задайте пользовательское имя запуска, которое будет сообщено ITestRunListener при run( )

Если не указано, будет использовано имя пакета

void setTestCollection (boolean b)

Переводит данный тестовый запуск в режим тестового сбора.

void setTestPackageName (String packageName)

Устанавливает запуск всех тестов в указанном пакете. Должен вызываться перед «запуском».

void setTestSize ( IRemoteAndroidTestRunner.TestSize size)

Устанавливает запуск только тестов заданного размера.

Защищенные методы

String getRunCommand ()
String getRunnerPath ()

Публичные конструкторы

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

Создайте UiAutomatorRunner для запуска тестов автоматизации пользовательского интерфейса.

Параметры
remoteDevice IDevice : удаленное устройство для взаимодействия: запуск теста, сбор результатов и т. д.

jarPaths String : пути к jar-файлам, в которых находятся тестовые случаи UI Automator; пути должны быть абсолютными или относительными к /data/local/tmp/ на устройстве.

runnerPath String : альтернативный uiautomator-раннер для использования, может быть null , в этом случае будет использоваться значение по умолчанию.

Публичные методы

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

Добавляет логический аргумент для включения в команду инструментирования.

Параметры
name String : имя аргумента комплекта инструментов

value boolean : значение аргумента

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

Добавляет аргумент для включения в команду инструментирования.

Должен быть вызван до выполнения. Если аргумент с указанным именем уже был указан, его значение будет переопределено.

Параметры
name String : имя аргумента комплекта инструментов

value String : значение аргумента

отмена

public void cancel ()

Прошу отменить данный тестовый запуск.

получитьCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

Возвращает тип тестового покрытия, создаваемого исполнителем. См. CoverageOutput .

Возврат
IRemoteAndroidTestRunner.CoverageOutput

получитьИмяПакета

public String getPackageName ()

Возвращает имя пакета последнего добавленного класса Java.

Возврат
String

getRunnerName

public String getRunnerName ()

Возвращает имя класса UiAutomatorTestRunner по умолчанию

Возврат
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

Удаляет ранее добавленный аргумент.

Параметры
name String : имя аргумента пакета инструментов, который необходимо удалить.

бегать

public void run (ITestRunListener... listeners)

Выполните этот тестовый запуск.

Удобный метод для ERROR(/#run(Collection)) .

Параметры
listeners ITestRunListener : прослушивает результаты теста

Броски
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

бегать

public void run ( listeners)

Выполните этот тестовый запуск.

Параметры
listeners : сбор слушателей для результатов теста

Броски
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

Задаёт расположение дополнительных тестовых выходных данных, которые будут скопированы на хост перед удалением тестового приложения. Например, сгенерированные отчёты о производительности.

Параметры
additionalTestDataPath String

setClassName

public void setClassName (String className)

Устанавливает запуск только тестов в этом классе. Должен вызываться перед «запуском».

Параметры
className String : полное имя класса (например, xyz)

setClassNames

public void setClassNames (String[] classNames)

Устанавливает запуск только тестов в предоставленных классах. Должен вызываться перед «запуском».

При предоставлении более одного класса требуется InstrumentationTestRunner, поддерживающий синтаксис аргументов нескольких классов.

Параметры
classNames String : массив полностью квалифицированных имен классов (например, xyz)

setCoverage

public void setCoverage (boolean coverage)

Устанавливает режим покрытия кода для данного тестового прогона.

Параметры
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

Устанавливает местоположение создаваемых отчетов о покрытии.

Параметры
arg0 String

setDebug

public void setDebug (boolean debug)

Устанавливает режим отладки для данного тестового запуска. Если установлено значение true, программа запуска тестов Android будет ожидать подключения отладчика, прежде чем продолжить выполнение теста.

Параметры
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

Устанавливает опцию в uiautomator для игнорирования SIGHUP.

Параметры
value boolean : игнорировать сигнал, если установлено значение true

setLogOnly

public void setLogOnly (boolean logOnly)

Переводит этот тестовый запуск в режим «только журналирование» — пропускает выполнение теста.

Параметры
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

Устанавливает максимально допустимое время между выводом команды оболочки и запуском тестов на устройствах.

Это позволяет установить тайм-аут на случай, если тесты зависнут и не будут завершены. Это отличается от обычного тайм-аута для соединения.

По умолчанию тайм-аут не указан.

Параметры
timeout long : максимальное время, в течение которого команда может не выводить никакого ответа. Значение 0 означает, что метод будет ждать вывода команды бесконечно (пока receiver не отменит выполнение) и никогда не выдаст исключение.

unit TimeUnit : Единицы измерения для ненулевых значений maxTimeToOutputResponse и maxTimeout .

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

Устанавливает максимальное время, отведенное для завершения работы прибора.

Это позволяет установить тайм-аут на случай, если тесты зависнут и не будут завершены. Это отличается от обычного тайм-аута для соединения.

По умолчанию тайм-аут не указан.

Параметры
maxTimeout long : максимальное время, в течение которого команда может не выводить никакого ответа. Значение 0 означает, что метод будет ждать вывода команды бесконечно (пока receiver не отменит выполнение) и никогда не выдаст исключение.

unit TimeUnit : Единицы измерения для ненулевых значений maxTimeToOutputResponse и maxTimeout .

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

Этот метод устарел.
вместо этого используйте setMaxTimeToOutputResponse(long, TimeUnit) .

Параметры
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

Устанавливает запуск только указанного метода теста. Должен быть вызван перед «запуском».

Параметры
className String : полное имя класса (например, xyz)

testName String : имя метода

setRunName

public void setRunName (String runName)

Задайте пользовательское имя запуска, которое будет сообщено ITestRunListener при run( )

Если не указано, будет использовано имя пакета

setTestCollection

public void setTestCollection (boolean b)

Переводит этот тестовый запуск в режим сбора тестов. Если значение равно true, выполнение теста будет пропущено, и будут установлены все соответствующие аргументы запуска, необходимые для успешного сбора тестов.

Параметры
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

Устанавливает запуск всех тестов в указанном пакете. Должен вызываться перед «запуском».

Параметры
packageName String : полное имя пакета (например, xyz)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

Устанавливает запуск только тестов заданного размера. Должен быть вызван перед «run».

Параметры
size IRemoteAndroidTestRunner.TestSize : TestSize для запуска.

Защищенные методы

getRunCommand

protected String getRunCommand ()

Возврат
String

getRunnerPath

protected String getRunnerPath ()

Возврат
String