import os from ..core.init_driver import InitDriver from ..utils import read_json class BasePage(InitDriver): def __init__(self, driver): super().__init__(driver) self.driver = driver def get_page_locators(self, page, file_name): """ read the locators of specific page :param file_name: :param page: page :return: list of all locators in specific page """ # TODO: refactor this! locators_path = os.path.abspath("app/src/elements/" + file_name) locators_json_file = read_json(locators_path) page_locators = [locator for locator in locators_json_file if locator["pageName"] in page] return page_locators def locator(self, page_locators, locator_name): """ get specific locator in specific page :param locator_name: :param page_locators: :return: locator and locator Type """ for locator in page_locators: if locator_name == locator["name"]: return locator["locator"], locator["locateUsing"]