Проблема : я хочу запустить скрипт Appium в одном приложении, но в разных сборках.
Все идентификаторы ресурсов в приложении добавляются с именем пакета
Например: для сборки A , текстовое поле имени пользователя - - alpha.beta.charlie.delta:id/user_name
и
Для сборки B поле имени пользователя alpha.beta.charlie/user_name
, дельта удаляется из имени пакета.
Я использую AndroidFindBy из фабрики страниц, чтобы найти элементы
private static final PACKAGE = "alpha.beta.charlie.delta"
@AndroidFindBy(id = PACKAGE + "/user_name")
private MobileElement username;
Где ПАКЕТ объявлен как константа.
Теперь, если я хочу запустить скрипт в сборке B, мне нужно каждый раз менять имя пакета перед тем, как инициировать выполнение. Что неэффективно.
Я знаю, что мы не можем добавлять переменные к аннотациям фабрики страниц.
Единственный обходной путь, который я вижу, - это использование https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html#resourceidmatches
Есть ли другой обходной путь, где я могу добавить имя пакета во время компиляции, чтобы обойти изменение имени пакета вручную.