Я решил проблему, создав аннотацию (может быть применен к классу тестирования или к методу тестирования) и установив фильтр средства выполнения теста для этой аннотации.
Определить аннотацию теста
/**
* This annotation is used to mark tests for devices with a physical
* keyboard (Chromebook).
*
* The annotation can be applied to test classes, and to individual
* tests.
*/
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface PhysicalKeyboardTest {
}
Use Test Annotation
@Test
@PhysicalKeyboardTest
public void enterKey_shouldWork() {
...
}
Run Configuration - Single Device
В диалоговом окне Run Configuration в разделе «Android Instrumentation Tests»
- Сделайте копию конфигурации «Все Android тесты»
- Переименуйте копию в «Физические тесты клавиатуры»
- В «Аргументах инструментария»
- Поле имени: аннотация
- Поле значения: com. path-to-annotation-def .PhysicalKeyboardTest
Конфигурация запуска «Тесты физической клавиатуры» запустит все тесты с пометкой «@PhysicalKeyboardTest» в любом месте набора тестов.
Выполнить конфигурацию - Все подключенные устройства
В диалоговом окне «Выполнить конфигурацию» в разделе «Gradle»
- Добавьте конфигурацию:
- Имя: Физическое Тесты клавиатуры (все устройства)
- Проект Gradle: выберите свое приложение
- Задачи: connectedCheck
- Аргументы: -P android .testInstrumentationRunnerArguments.annotation = com. path-to-your-annotation-def .PhysicalKeyboardTest
В конфигурации запуска «Тесты физической клавиатуры (все устройства)» будут выполняться все тесты с пометкой «@PhysicalKeyboardTest» в любом месте набора тестов на всех подключенных устройствах.