def Angaben(): wait_for(By.XPATH, Angaben_Ubersicht.check) driver.find_element_by_xpath(Angaben_Ubersicht.check).location_once_scrolled_into_view #to scroll the checkbox into view driver.find_element_by_xpath(Angaben_Ubersicht.check).click() wait_and_click(By.XPATH, Angaben_Ubersicht.jetzt_verbindlich_kaufen) wait_if_displayed(Bestellung.zuruck_zur_ubersicht, Angaben_Ubersicht.jetzt_verbindlich_kaufen, 5) wait_till_element_disappears(Angaben_Ubersicht.jetzt_verbindlich_kaufen)
def celebrity(): driver.implicitly_wait(10) name = "@reliancegroup" #"@msdhoni" Profile_name = driver.find_element_by_xpath(dashboard.name).text if Profile_name == name: driver.find_element_by_xpath(dashboard.link_following).click() else: print("Wrong profile!!!")
def gist_login(): wait_till_element_enabled("xpath", Sign_in.si_button, 0.1) driver.find_element_by_xpath(Sign_in.si_button).click() wait_till_element_enabled("id", login_page.username, 0.1) driver.find_element_by_id(login_page.username).send_keys(git.username) driver.find_element_by_id(login_page.password).send_keys(git.password) driver.find_element_by_xpath(login_page.sign_in).click() wait_till_element_disappears("xpath", login_page.sign_in, 0.5)
def wait_and_click(locator_type, element, polling_interval): if locator_type == "id": while (len(driver.find_elements_by_id(element))==0): time.sleep(polling_interval) driver.find_element_by_id(element).click() elif locator_type == "xpath": while (len(driver.find_elements_by_xpath(element))==0): time.sleep(polling_interval) driver.find_element_by_xpath(element).click()
def wait_if_displayed(element1, element2, wait_time): count = 0 interval = 0.1 total_wait = wait_time / interval while (len(driver.find_elements_by_xpath(element1)) == 0): time.sleep(interval) count = count + 1 if (count == total_wait): driver.find_element_by_xpath(element2).click() break
def wait_till_element_enabled(locator_type, element, polling_interval): if locator_type == "id": while (len(driver.find_elements_by_id(element)) == 0): time.sleep(polling_interval) while (driver.find_element_by_id(element).is_enabled() == "false"): time.sleep(polling_interval) wait.until(EC.element_to_be_clickable((By.ID, element))) elif locator_type == "xpath": while (len(driver.find_elements_by_xpath(element)) == 0): time.sleep(polling_interval) while (driver.find_element_by_xpath(element).is_enabled() == "false"): time.sleep(polling_interval) wait.until(EC.element_to_be_clickable((By.XPATH, element))) elif locator_type == "css": while (len(driver.find_elements_by_css_selector(element)) == 0): time.sleep(polling_interval) while (driver.find_element_by_css_selector(element).is_enabled() == "false"): time.sleep(polling_interval) wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, element))) elif locator_type == "class": while (len(driver.find_elements_by_class_name(element)) == 0): time.sleep(polling_interval) while (driver.find_element_by_class_name(element).is_enabled() == "false"): time.sleep(polling_interval) wait.until(EC.element_to_be_clickable((By.CLASS_NAME, element))) if locator_type == "name": while (len(driver.find_elements_by_name(element)) == 0): time.sleep(polling_interval) while (driver.find_element_by_name(element).is_enabled() == "false"): time.sleep(polling_interval) wait.until(EC.element_to_be_clickable((By.NAME, element)))
def verification(): driver.switch_to.window(driver.window_handles[1]) oslash = driver.find_element_by_xpath( "//h1[@class='mr-20 text-6xl font-semibold leading-tight']").text if "Get what’s important" in oslash: print(oslash) pass
def git_logout(): time.sleep(1) wait_till_element_enabled("xpath", top_panel.profile, 0.1) driver.find_element_by_xpath(top_panel.profile).click() flag = wait_if_displayed("xpath", top_panel.sign_out, 2) if flag == 1: driver.find_element_by_xpath(top_panel.profile).click() wait_till_element_enabled("xpath", top_panel.sign_out, 0.1) driver.find_element_by_xpath(top_panel.sign_out).click() wait_till_element_enabled("xpath", page_details.sign_out, 0.1) driver.find_element_by_xpath(page_details.sign_out).click() wait_till_element_disappears("xpath", page_details.sign_out, 0.1)
def gist_search(): wait_for_element("xpath", "xpath", Search_Page.search_textbox, Search_Page.search_textbox_logged, 1) if len(driver.find_elements_by_xpath(Search_Page.search_textbox)) > 0: driver.find_element_by_xpath( Search_Page.search_textbox).send_keys("Test Name2020") driver.find_element_by_xpath(Search_Page.search_textbox).send_keys( Keys.ENTER) else: driver.find_element_by_xpath( Search_Page.search_textbox_logged).send_keys("Test Name2020") driver.find_element_by_xpath( Search_Page.search_textbox_logged).send_keys(Keys.ENTER)
def feature_check(): text = driver.find_element_by_xpath("//h2[contains(.,'Pinned')]") actions = ActionChains(driver) actions.double_click(text).perform() time.sleep(5)
def personliche(): wait_and_click(By.XPATH, Personliche_Angaben.herr) driver.find_element_by_xpath(Personliche_Angaben.vorname).send_keys(credentials.first_name) driver.find_element_by_xpath(Personliche_Angaben.nachname).send_keys(credentials.last_name) driver.find_element_by_xpath(Personliche_Angaben.geburtsdatum).send_keys(credentials.birth_date) driver.find_element_by_xpath(Personliche_Angaben.strabe).send_keys(credentials.street) driver.find_element_by_xpath(Personliche_Angaben.hausnr).send_keys(credentials.house_number) driver.find_element_by_xpath(Personliche_Angaben.plz).send_keys(credentials.ZIP) driver.find_element_by_xpath(Personliche_Angaben.ort).send_keys(credentials.city) driver.find_element_by_xpath(Personliche_Angaben.telefonnummer).send_keys(credentials.phone_number) wait_and_click(By.XPATH, Personliche_Angaben.weiter) wait_if_displayed(Zahlungsdaten.check, Personliche_Angaben, 2)
def gist_private_creation(): driver.find_element_by_xpath(details.private_create).click() wait_till_element_disappears("xpath", details.private_create, 0.5)
def angebote(): wait_for(By.XPATH, Angebotes.selected_plan) global plan #copying the selected plan to verify in the dashboard plan = driver.find_element_by_xpath(Angebotes.selected_plan).text wait_and_click(By.XPATH, Angebotes.jetzt_abschlieben) wait_if_displayed(Sichern.email_password, Angebotes.jetzt_abschlieben, 2)
def sichern(): wait_and_click(By.XPATH, Sichern.email_password) driver.find_element_by_xpath(Sichern.email_textbox).send_keys(credentials.email_id) driver.find_element_by_xpath(Sichern.email_password).send_keys(credentials.password) wait_and_click(By.XPATH, Sichern.jetzt_registrieren) wait_if_displayed(Personliche_Angaben.herr, Sichern.jetzt_registrieren, 2)
def wait_and_click(type, locator): wait_for(type, locator) #custom method to wait for an element and click driver.find_element_by_xpath(locator).click() #the method can be implemented in the conftest.py file as well
def select_aufgefuhrten(): wait_and_click(By.XPATH, Anmerkungen.anfordern_textbox) driver.find_element_by_xpath(Anmerkungen.anfordern_textbox).send_keys("Automation test request") wait_and_click(By.XPATH, Anmerkungen.anfordern_button) wait_if_displayed(Zum_angebote.angebote_button, Anmerkungen.anfordern_button, 2) wait_till_element_disappears(Anmerkungen.anfordern_button)
def gist_created(): assert driver.find_element_by_xpath(elements.delete_button) wait_till_element_enabled("xpath", elements.delete_button, 0.1)
def plan_check(): wait_for(By.XPATH, Dashboard.plan_name) plan_dashboard = driver.find_element_by_xpath(Dashboard.plan_name).text assert plan == plan_dashboard #asserting the selected plan
def zahlungsdaten(): wait_and_click(By.XPATH, Zahlungsdaten.check) driver.find_element_by_xpath(Zahlungsdaten.IBAN).send_keys(credentials.bank_account) wait_and_click(By.XPATH, Zahlungsdaten.tarif) wait_if_displayed(Angaben_Ubersicht.jetzt_verbindlich_kaufen, Zahlungsdaten.tarif, 2) wait_till_element_disappears(Zahlungsdaten.tarif)
def modify_options(): driver.find_element_by_id("language-selector").click() driver.find_element_by_xpath("//option[contains(.,'Russian')]").click() driver.find_element_by_id("save-btn").click()
def new_gist(): wait_till_element_enabled("xpath", top_panel.create_new, 0.1) driver.find_element_by_xpath(top_panel.create_new).click() wait_till_element_enabled("xpath", top_panel.new_gist, 0.1) driver.find_element_by_xpath(top_panel.new_gist).click()
def logout(): yield driver driver.find_element_by_xpath(log_out.user).click() time.sleep(2) driver.find_element_by_css_selector(log_out.logout).click()
def git_login(): if len(driver.find_elements_by_id(login_page.username)) > 0: driver.find_element_by_id(login_page.username).send_keys(git.username) driver.find_element_by_id(login_page.password).send_keys(git.password) driver.find_element_by_xpath(login_page.sign_in).click()