Какой подход быстрее?Доступ к локаторам из класса Java или внешнего файла (JSON) в Page Factory - PullRequest
0 голосов
/ 03 марта 2019

Компоненты платформы - огурец и селен (Java), объектная модель страницы и фабрика страниц.

В настоящее время я пишу локаторы следующим образом -

Класс -> HomePage.java

@FindAll({  
        @FindBy(css = HomePageLocators.factoryBouncePopUp),
        @FindBy(xpath = HomePageLocators.outletBouncePopUp),
    }) public List<WebElement> bouncePopUp;

Class-> HomePageLocators.java

    public final static String factoryBouncePopUp = "div[id*=bx-creative] > div > a";
    public final static String outletBouncePopUp = "//button[contains(.,'NO THANKS, I PREFER TO PAY FULL PRICE')]";

Как мы знаем, мы можем передавать локаторы как константы в аннотациях @FindBy.Итак, я начал записывать локаторы в классе Java.Все работает гладко.

Но я думал записать локаторы во внешний файл, скажем, json, думая, что будет проще поддерживать локаторы в json, особенно когда количество локаторов будет огромным, скажем, 600.Я наткнулся на ссылку ниже, чтобы узнать, как получить доступ к локаторам из json на фабрике страниц.

https://rationaleemotions.wordpress.com/2016/06/27/pagefactory-page-objects-and-locators-from-an-external-file/

Я хочу узнать мнение этого сообщества с точки зрения производительности, какой подход будетбыть желательнымЯ не буду думать о json с фабрикой страниц в случае, если производительность будет проблемой.

Если Json может выиграть в гонке производительности, тогда любой может предложить мне любой источник реализации json на фабрике страниц, кроме ссылки выше.

Любая мысль будет оценена.

1 Ответ

0 голосов
/ 06 марта 2019

Если вы хотите получить доступ к значениям локатора, в этом случае интерфейс в java - лучший вариант. Вам не нужно взаимодействовать с любым другим типом файла. В интерфейсе вы можете получать данные напрямую, и они будут статичными и окончательными.просто можно назвать это имя интерфейса.LocatorName.Это не повлияет на вашу производительность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...