in modules/page_base.py [0:0]
def __init__(self, driver: Firefox, **kwargs):
super().__init__(driver, **kwargs)
self.utils = PomUtils(self.driver)
# JSON files should be labelled with snake_cased versions of the Class name
qualname = self.__class__.__qualname__
logging.info("======")
logging.info(f"Loading POM for {qualname}...")
manifest_name = qualname[0].lower()
for char in qualname[1:]:
if char == char.lower():
manifest_name += char
else:
manifest_name += f"_{char.lower()}"
sys_platform = self.sys_platform()
if sys_platform == "Windows":
root_dir = Path(os.getcwd())
json_path = root_dir.joinpath("modules", "data")
self.load_element_manifest(rf"{json_path}\{manifest_name}.components.json")
else:
self.load_element_manifest(
f"./modules/data/{manifest_name}.components.json"
)
self.actions = ActionChains(self.driver)
self.instawait = WebDriverWait(self.driver, 0)