Хранение локаторов для кроссплатформенных тестов

Добрый всем вечер! Заинтересовал меня следующий теоретический вопрос - кто как хранит локаторы в тестах при условии тестирования кросплатформенного приложения т.е. при наличии разных локаторов под разные платформы?

Самым красивым способом видится использование аннотаций @iOSFindBy и @AndroidFindBy, но тесты, использующие PageFactory зарекомендовали себя слишком долгими. Другие варианты видятся не столь элегантными)

Кто как делает в своих проектах?

При наличие достаточной разницы между приложениями ООП правильным решение будет иметь интерфейс и отдельные реализации для каждой платформы. Вообще не элегантно учитывая то как быстро плодятся эти ПО классы.
При малой разнице можно написать свою PageFactory быструю (с блекджеком и прочими радостями) или пойти на сделку совести и создать родительский класс которому дать ответственность выбирать правильные локаторы из набора использующихся для определения элемента на всех платформах.

1 лайк