t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f7486b4f378> #<Tag:0x00007f7486b4f260> #<Tag:0x00007f7486b4f0f8> #<Tag:0x00007f7486b4f030> #<Tag:0x00007f7486b4eef0>

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

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

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

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

1 Симпатия