Способ совместного использования кода между несколькими тестовыми модулями Android

Я хочу добиться чего-то вроде этого:

[ComponentTestsModule] com.android.test
[FunctionalTestsModule] com.android.test
both depends on
 -> [TestLibraryModule] ?
which depends on
   -> [AppModule] com.android.application

Есть ли способ сделать это с помощью плагина android gradle 3.0+?

Почему мне нужно несколько тестовых модулей?

Мне нужны разные тестовые ролики для разных типов тестов, а также разные варианты. Он работает прямо сейчас с единой кодовой базой под androidTest, но с уродливыми переключателями в пользовательском тестовом бегуне.

Зачем мне нужен модуль тестовой библиотеки?

Я хочу использовать одни и те же объекты страниц между различными типами тестов и, возможно, некоторый код полезности. Проблема в том, что объекты страницы должны иметь доступ к классу R приложения (локаторы: R.id. *)

Ни один из типов модулей, о которых я знаю, не может зависеть от модуля создания APK, ожидайте от com.android.test, но я не могу зависеть от com.android.test от другого com.android.test.

Ответы