Esempio n. 1
0
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
Esempio n. 2
0
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)
Esempio n. 3
0
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
Esempio n. 4
0
    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))
Esempio n. 5
0
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
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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        
Esempio n. 9
0
 def perform_click(self):
     self.click_btn(self.submit_fld)
     hp = Homepage(self.driver)
     return hp