def test_3(): try: #open browser obj_lib = Lib() browser = obj_lib.open_browser() # navigate to url obj_lib.page_load(browser) #Create Home object obj_home = Homepage(browser) #wait and click on women tab obj_lib.wait_for_element(browser, obj_home.women_tab) browser.find_element(*obj_home.women_tab).click() #Product result product_result = obj_home.give_product_name_price(browser) #open file and write product list there obj_lib.write_to_file(product_result) print('Test run pass!') except Exception as e: print(e) obj_lib.save_screenshot(browser) print('Test run failed!') finally: #Close browser obj_lib.close_browser(browser) #Nel, correct
def test_1(): try: #open browser obj_lib = Lib() browser = obj_lib.open_browser() # navigate to url obj_lib.page_load(browser) #create contuct_us object obj_contuct_us = Contact_Us(browser) obj_home = Homepage(browser) #steps obj_home.click_contuct_us(browser) obj_contuct_us.choose_subject_heading(browser) obj_contuct_us.input_email_address() obj_contuct_us.input_order_referenc() obj_contuct_us.input_message() obj_contuct_us.click_send_button() #Verify that message is sending successfully success_message = obj_lib.get_data('contact_us_success_message') assert success_message in browser.page_source print('Test run pass!') except: obj_lib.save_screenshot(browser) print('Test run failed!') finally: #Close browser obj_lib.close_browser(browser)
def test_4(): try: # Open browser, maximazie window, get URL obj_lib = Lib() browser = obj_lib.open_browser() obj_lib.page_load(browser) # Creating homepage & contact us page objects obj_homepage = Homepage(browser) # Wait for dresses tab and click on it obj_lib.wait_for_element(browser, obj_homepage.dresses_menu_xpath) browser.find_element(*obj_homepage.dresses_menu_xpath).click() # Get products result prod_result = obj_homepage.get_product_name_price(browser) # Open txt file write result obj_lib.write_to_file(prod_result) print("TEST_4: PASS") except Exception as error: obj_lib.save_screenshot(browser) pytest.fail(error) # Close browser finally: obj_lib.close_browser(browser) #Nel, correct
def test_e2e(self, get_data): log = self.logger() log.info("***Test user is able to select a {} {} iPhone SE***".format( get_data["color"], get_data["memory"])) log.info("Navigating to www.apple.com") try: self.driver.get("https://www.apple.com/") self.driver.maximize_window() homepage = Homepage(self.driver) log.info("Click on iPhone link") homepage.iPhone_navigation().click() iphones = iPhonePage(self.driver) models = iphones.IdentifyModels() str = [] item = -1 log.info("Iterate through iphone models") for model in models: str.append(model.text) log.info("Model {}".format(model.text)) item = item + 1 if model.text == 'iPhone SE': model.click() break self.driver.find_element_by_css_selector( "[data-analytics-title='buy iphone se']").click() # Select iPhone SE Specs specs = Specs(self.driver) specs.Color(get_data["color"]) time.sleep(5) specs.Capacity(get_data["memory"]) time.sleep(5) specs.serviceprovider("Unlocked") time.sleep(5) specs.TradeInValue("No") time.sleep(5) specs.checkout() log.info("Added iphone to cart") log.removeHandler(self) except Exception as e: log.error("Error {}".format(e)) pytest.fail("{}".format(e))
def test_2(): try: #open browser obj_lib = Lib() browser = obj_lib.open_browser() # navigate to url obj_lib.page_load(browser) #create contuct_us object obj_contuct_us = Contact_Us(browser) obj_home = Homepage(browser) #steps obj_home.click_contuct_us(browser) obj_contuct_us.choose_subject_heading(browser) obj_contuct_us.input_email_address() obj_contuct_us.input_order_referenc() obj_contuct_us.click_send_button() #Verify that validation message displayes success_message = obj_lib.get_data('contact_us_error_message') assert success_message in browser.page_source print('Test run pass!') except Exception as e: obj_lib.save_screenshot(browser) print(e) raise # or # except Exception as e: # # save the screenshot of the test file which has failed # obj_lib.save_screenshot(browser) # pytest.fail(e) # print('Test 3 failed!') finally: #Close browser obj_lib.close_browser(browser) #Nel, use pytest.fail(e) or just raise for exception in except block
def test_3(): try: # Open browser, maximazie window, get URL obj_lib = Lib() browser = obj_lib.open_browser() obj_lib.page_load(browser) # Creating homepage & contact us page objects obj_homepage = Homepage(browser) obj_contact_us = Contact_us(browser) # Click on contact us btn fill all fields send message obj_homepage.click_on_contact_us(browser) obj_contact_us.choose_subject_heading(browser) obj_contact_us.input_email() obj_contact_us.input_order_reference() # obj_contact_us.input_message() obj_contact_us.click_on_send_btn() # Check that message was sent successfully & print if test pass error_message = obj_lib.get_data("contact_us_error_message") assert error_message in browser.page_source print("test_3: PASS") # Take a screenshot when test fails except Exception as error : obj_lib.save_screenshot(browser) pytest.fail(error) print("test_3: FAIL") # Close browser finally: # time.sleep(10) obj_lib.close_browser(browser) #Nel, very good
def test_4(): try: # Get data for sing in form config.json with open("config.json") as file: data = json.load(file) email_address = data["email"] password = data["password"] # Open browser, maximazie window, get URL obj_lib = Lib() browser = obj_lib.open_browser() obj_lib.page_load(browser) # Go Home page & click on Sing in btn obj_homepage = Homepage(browser) browser.find_element(*obj_homepage.sing_in_xpath).click() # Go sing in page obj_sing_in = Sing_in(browser) # Sing in with valid data obj_lib.wait_for_element(browser, obj_sing_in.email_id) browser.find_element(*obj_sing_in.email_id).send_keys(email_address) browser.find_element(*obj_sing_in.password_id).send_keys(password) browser.find_element(*obj_sing_in.submit_btn_id).click() # Verify that i sign in successfully obj_lib.wait_for_element(browser, obj_sing_in.my_account_title_xpath) browser.find_element(*obj_sing_in.my_account_title_xpath) print("TEST_1: PASS") except Exception as e: obj_lib.save_screenshot(browser) print(e) raise finally: # Close the browser obj_lib.close_browser(browser) #Nel, dont use time.sleep # use raise part in exception block as descied yesterday
def test_1(): try: # Get data for sing in form config.json with open("config.json") as file: data = json.load(file) email_address = data["email"] password = data["password"] # Open browser, maximazie window, get URL obj_lib = Lib() browser = obj_lib.open_browser() obj_lib.page_load(browser) # Go Home page & click on Sing in btn obj_homepage = Homepage(browser) browser.find_element(*obj_homepage.sing_in_xpath).click() # Go sing in page obj_sing_in = Sing_in(browser) # Sing in with valid data obj_lib.wait_for_element(browser, obj_sing_in.email_id) browser.find_element(*obj_sing_in.email_id).send_keys(email_address) browser.find_element(*obj_sing_in.password_id).send_keys(password) # time.sleep(10) browser.find_element(*obj_sing_in.submit_btn_id).click() # Verify that i sign in successfully obj_lib.wait_for_element(browser, obj_sing_in.my_account_title_xpath) browser.find_element(*obj_sing_in.my_account_title_xpath) print("TEST_1: PASS") # Take screenshot when test fails & print error except Exception as error: obj_lib.save_screenshot(browser) pytest.fail(error) # Close the browser finally: # time.sleep(10) obj_lib.close_browser(browser) #Nel, correct
def perform_click(self): self.click_btn(self.submit_fld) hp = Homepage(self.driver) return hp