def test_individual_page_to_cart(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_p, var_info.password_s)
            product = ProductPage(driver)
            product.click_product_label(4)
            general = GeneralPage(driver)
            individual = DetailsPage(driver)
            individual.check_single_add_to_cart().click()
            general.cart_sign().click()
            cart = CartPage(driver)
            qty = general.cart_qty()
            items_display = cart.total_product_in_cart()

            assert items_display == 1
            assert qty.text == "1"
            assert driver.current_url == "https://www.saucedemo.com/cart.html"

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/cart_page/cart_page_screenshots/cart_page_problem_user/"
                + screenshotName + ".png")

            raise
Exemplo n.º 2
0
    def test_qty_cart_before_add(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        qty_cart = product.cart_qty()

        assert qty_cart == None
    def return_button_from_detail_page(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_s, var_info.password_s)
            product = ProductPage(driver)
            product.product_label(3).click()
            details = DetailsPage(driver)
            details.back_button().click()

            assert driver.current_url == "https://www.saucedemo.com/inventory.html"


        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(), name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

            raise
    def reset_from_detail_page(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_s, var_info.password_s)
            product = ProductPage(driver)
            product.product_label(4).click()
            details = DetailsPage(driver)
            add_to_cart_label = details.check_single_add_to_cart()
            add_to_cart_label.click()
            general = GeneralPage(driver)
            general.drop_down_menu()
            general.pick_item_from_menu("Reset App State")
            general.delete_menu().click()
            add_label = details.check_single_add_to_cart()
            cart_qty = general.cart_qty()

            assert cart_qty == None
            assert add_label.text == "ADD TO CART"


        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(), name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

            raise
    def test_about_product_page(self):
        try:

            driver = self.driver
            # get url from var_info
            driver.get(var_info.url_login)

            # take driver into LoginPage
            login = LoginPage(driver)

            # get account and password
            login.enter_login_info(var_info.username_s, var_info.password_s)
            product = ProductPage(driver)
            general = GeneralPage(driver)
            product.product_logo()
            general.drop_down_menu()
            general.pick_item_from_menu("About")

            assert driver.current_url == "https://saucelabs.com/"

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(), name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

            raise
    def test_product_labels(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_s, var_info.password_s)
            product = ProductPage(driver)
            names_list = product.product_labels()

            assert isinstance(names_list, list)


        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(), name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "Funtionality_Reports/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

            raise
        def test_imgs_exist(self):
            try:
                driver = self.driver
                # get url from var_info
                driver.get(var_info.url_login)

                # take driver into LoginPage
                login = LoginPage(driver)

                # get account and password
                login.enter_login_info(var_info.username_s, var_info.password_s)
                product = ProductPage(driver)
                logo = product.product_logo()
                imgs_display = product.products_img()

                assert imgs_display == True
                assert logo.is_displayed()

            except AssertionError as error:
                print("AssertionError occurred")
                print(error)
                cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
                testName = utils.whoami()
                screenshotName = testName + "_" + cur_time

                allure.attach(self.driver.get_screenshot_as_png(), name=screenshotName,
                              attachment_type=allure.attachment_type.PNG)
                self.driver.get_screenshot_as_file(
                    "Funtionality_Reports/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

                raise
Exemplo n.º 8
0
    def test_img1_in_default_order(self, num):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_pe, var_info.password_s)
            product = ProductPage(driver)
            img = product.specific_product_img(num)
            assert img == True

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/product_page/product_page_screentshots/product_page_performance_glitch/"
                + screenshotName + ".png")

            raise
    def test_products_add_to_cart_label(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_p, var_info.password_s)
            product = ProductPage(driver)
            add_to_cart_label = product.products_add_to_cart_label()

            assert add_to_cart_label == True

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/product_page/product_page_screentshots/product_page_problem_user/"
                + screenshotName + ".png")

            raise
Exemplo n.º 10
0
    def test_click_Reset_from_menu(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.pick_item_from_menu("Reset App State")

        assert driver.current_url == "https://www.saucedemo.com/inventory.html"
Exemplo n.º 11
0
    def test_display_cart_sign(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        display_cart = product.cart_sign()

        assert display_cart.is_display() == True
Exemplo n.º 12
0
    def test_click_Logout_from_menu(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.pick_item_from_menu("Logout")

        assert driver.current_url == "https://www.saucedemo.com/index.html"
Exemplo n.º 13
0
    def test_remove_checkout(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(var_info.username_pe, var_info.password_s)
            product = ProductPage(driver)
            product.click_add_to_cart(2)
            product.click_add_to_cart(6)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cart = CartPage(driver)
            cart.cart_product_remove(1)
            items_display = cart.total_product_in_cart()
            qty = general.cart_qty()

            assert items_display == 1
            assert qty.text == "1"

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/cart_page/cart_page_screenshots/cart_page_performance_glitch/"
                + screenshotName + ".png")

            raise
Exemplo n.º 14
0
    def test_click_delete_button(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        section = product.delete_button_menu()

        assert section
Exemplo n.º 15
0
    def test_click_About_from_menu(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.pick_item_from_menu("About")

        assert driver.current_url == "https://saucelabs.com/"
Exemplo n.º 16
0
    def test_displayed_elements_in_page(self):
        driver = self.driver
        driver.get(var_info.url_login)
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.cart_sign().click()

        cartpage = CartPage(driver)
        title = cartpage.cart_title()
        qty_label = cartpage.cart_qty_label()
        cart_desc = cartpage.cart_desc()
        shopping_button = cartpage.cart_continue_shopping()
        checkout_button = cartpage.cart_checkout_button()

        outside = OutSideElement(driver)
        cart_sign = outside.cart_sign()
        cart_qty = outside.cart_qty()


        assert title.text == "Your Cart"
        assert qty_label.text == "QTY"
        assert cart_desc.text == "DESCRIPTION"
        assert cart_sign.is_displayed()
        assert cart_qty == None
        assert shopping_button.is_displayed()
        assert checkout_button.is_displayed()
Exemplo n.º 17
0
    def test_product_imgs_availability(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        imgs_display = product.product_imgs_display_loop()

        assert imgs_display
Exemplo n.º 18
0
    def test_default_product_order(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        order = product.name_display_order()

        assert order == "Name (A to Z)"
Exemplo n.º 19
0
    def test_display_menu_items(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        items = product.menu_items()

        assert items == ["All Items", "About", "Logout", "Reset App State"]
Exemplo n.º 20
0
    def test_select_text4_product_order(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        order = product.pick_display_order("Price (high to low)")
        list_display = product.name_display_order()

        assert list_display == "Price (high to low)"
Exemplo n.º 21
0
    def test_select_text2_product_order(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        order = product.pick_display_order("Name (A to Z)")
        list_display = product.name_display_order()

        assert list_display == "Name (A to Z)"
Exemplo n.º 22
0
    def test_click_cart_sign(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        display_cart = product.cart_sign()
        display_cart.click()

        assert driver.current_url == "https://www.saucedemo.com/cart.html"
Exemplo n.º 23
0
    def test_select_index3_product_order(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        order = product.pick_display_order(3)
        list_display = product.name_display_order()

        assert list_display == "Price (low to high)"
    def test_purchase_successfully_with_products(self):
        try:
            driver = self.driver
            driver.get(var_info.url_product)

            product = ProductPage(driver)
            product.click_add_to_cart(2)
            product.click_add_to_cart(6)
            general = GeneralPage(driver)
            sign = general.cart_sign()
            sign.click()

            cart = CartPage(driver)
            checkout_button = cart.cart_checkout_button()
            checkout_button.click()

            info_page = ClientInfoPage(driver)
            info_page.input_first_name("Jill")
            info_page.input_last_name("Maddison")
            info_page.input_zipcode("10990")
            c_button = info_page.continue_button()
            c_button.click()

            overview = CheckoutOverview(driver)
            result = overview.overview_finish()
            result.click()
            success = overview.successfully_img()

            general = GeneralPage(driver)
            qty = general.cart_qty()
            sign = general.cart_sign()

            assert success == True
            assert driver.current_url == "https://www.saucedemo.com/checkout-complete.html"
            assert qty == None
            assert sign.is_displayed()

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/client_info/client_info_screenshots/client_info_page_performance_glitch/"
                + screenshotName + ".png")

            raise
        except:
            print("There is an exception")
            raise

        finally:
            print("Done")
    def test_reset_with_items_overview(self):
        try:
            driver = self.driver
            driver.get(var_info.url_product)

            product = ProductPage(driver)
            product.click_add_to_cart(2)
            product.click_add_to_cart(6)
            general = GeneralPage(driver)
            sign = general.cart_sign()
            sign.click()

            cart = CartPage(driver)
            checkout_button = cart.cart_checkout_button()
            checkout_button.click()

            info_page = ClientInfoPage(driver)
            info_page.input_first_name("Jill")
            info_page.input_last_name("Maddison")
            info_page.input_zipcode("10990")
            c_button = info_page.continue_button()
            c_button.click()
            time.sleep(3)
            general.drop_down_menu()
            general.pick_item_from_menu("Reset App State")
            general.delete_menu().click()

            overview = CheckoutOverview(driver)
            total_product = overview.total_product_in_cart()

            qty = general.cart_qty()

            assert qty == None
            assert total_product == None

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/client_info/client_info_screenshots/client_info_page_performance_glitch/"
                + screenshotName + ".png")

            raise
        except:
            print("There is an exception")
            raise

        finally:
            print("Done")
Exemplo n.º 26
0
    def test_product_index_clickable_default_order(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        order = product.name_display_order()
        product.click_product_label(2)
        id = var_info.id_a_to_z[2 - 1]

        print(driver.current_url)
        assert driver.current_url == "https://www.saucedemo.com/inventory-item.html?id=" + id
    def test_click_title_check_return_button(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.click_product_label("Sauce Labs Bolt T-Shirt")
        after_click = ProductAfterClickPage(driver)
        back = after_click.check_back_button()
        back.click()

        print(driver.current_url)
        assert driver.current_url == "https://www.saucedemo.com/inventory.html"
    def test_cancel_purchase_before_complete(self):
        try:
            driver = self.driver
            driver.get(var_info.url_product)

            product = ProductPage(driver)
            product.click_add_to_cart(2)
            product.click_add_to_cart(6)
            general = GeneralPage(driver)
            sign = general.cart_sign()
            sign.click()
            cart = CartPage(driver)
            checkout_button = cart.cart_checkout_button()
            checkout_button.click()

            info_page = ClientInfoPage(driver)
            info_page.input_first_name("Jill")
            info_page.input_last_name("Maddison")
            info_page.input_zipcode("10990")
            c_button = info_page.continue_button()
            c_button.click()

            overview = CheckoutOverview(driver)
            result = overview.overview_cancel()
            result.click()

            product2 = product.product_add_to_cart(2)
            product6 = product.product_add_to_cart(6)

            assert product2.text == "REMOVE"
            assert product6.text == "REMOVE"

        except AssertionError as error:
            print("AssertionError occurred")
            print(error)
            cur_time = datetime.datetime.now().strftime("%H-%M-%S_%d_%m_%Y")
            testName = utils.whoami()
            screenshotName = testName + "_" + cur_time

            allure.attach(self.driver.get_screenshot_as_png(),
                          name=screenshotName,
                          attachment_type=allure.attachment_type.PNG)
            self.driver.get_screenshot_as_file(
                "/Users/yuchienhuang/Desktop/Swag_labs/Funtionality_Reports/client_info/client_info_screenshots/client_info_page_performance_glitch/"
                + screenshotName + ".png")

            raise
        except:
            print("There is an exception")
            raise

        finally:
            print("Done")
    def test_click_img_check_return_button(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.click_img(2)
        after_click = ProductAfterClickPage(driver)
        back = after_click.check_back_button()
        back.click()
        driver.delete_all_cookies()

        print(driver.current_url)
        assert driver.current_url == "https://www.saucedemo.com/inventory.html"
    def test_click_img_check_return_button(self):
        driver = self.driver
        driver.get(var_info.url_product)
        product = ProductPage(driver)
        product.click_img(2)
        after_click = ProductAfterClickPage(driver)
        cart_sign = after_click.check_cart_sign()
        cart_qty = after_click.check_cart_qty()
        driver.implicitly_wait(5)

        assert cart_sign.is_displayed()
        assert cart_qty == None