Все хорошо, что хорошо для тебя.Единого правильного ответа не существует.Поэтому я поделюсь своим опытом использования POM в моем текущем проекте.
Никто никогда не думал об одном незначительном недостатке POM: навигации по цепочке, чтобы добраться до нижних локаторов.
Я некоторое время работал с перфекционистами, которые полагали, что если что-то логически отличается, этодолжен идти в отдельный файл.Таким образом, у нас были локаторы, хранящиеся отдельно от elementFinders и методов, которые взаимодействуют со страницами.Это было разумно, но подумайте, что мне нужно пройти, если я отлаживаю неудачный тест:
- , чтобы найти ошибочную строку в спецификации и перейти к исходному коду метода, который вызывает ошибку
- Этот метод относится к расширенному классу и зависит от родительского класса, поэтому я перехожу к источнику класса
- Этот метод взаимодействует с элементом, определенным где-то еще, поэтому я должен открыть этот файл
- элемент хранит локатор в другом файле, поэтому мне нужно найти этот файл тоже
Наконец, когда я нашел свой локатор, я забыл, что делал, не говоря уже об утомлениипроцесса и трата времени.
Поэтому в своем следующем проекте я попытался сбалансировать эту аккуратность кода с общей удобством использования и простотой навигации между файлами, и был доволен тем, как я структурировал код
Удачи!