import sys sys.path.append(sys.path[0] + "/..") from setup.setup import Setting from selenium.webdriver.common.by import By from selenium.webdriver import ActionChains from selenium.webdriver.support import expected_conditions as EC set_up = Setting() class Selectors: item = "//img[@title='Apple Cinema 30{}']".format('"') wish_list = "wishlist-42" url = "https://ecommerce-playground.lambdatest.io/" action = ActionChains(set_up.driver) class TestBuy(Selectors): def test_add_item_to_wish_list(self): set_up.setUp() set_up.driver.get(self.url) item = set_up.driver.find_element(By.XPATH, self.item) set_up.driver.execute_script("arguments[0].scrollIntoView();", item) self.action.move_to_element(item).perform() element_present = False try: element_present = EC.presence_of_element_located((By.CLASS_NAME, self.wish_list))(set_up.driver) except: pass assert element_present, "element not found" wish_list = set_up.driver.find_element(By.CLASS_NAME, self.wish_list) assert wish_list.is_displayed(), "wishlist element not visible" assert wish_list.is_enabled(), "wishlist element is inactive" set_up.driver.execute_script("arguments[0].click();", wish_list) set_up.driver.implicitly_wait(10) set_up.tearDown()