def test_no_product_continue_shopping(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)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cart = CartPage(driver)
            shopping_button = cart.cart_continue_shopping()
            shopping_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/cart_page/cart_page_screenshots/cart_page_problem_user/"
                + screenshotName + ".png")

            raise
예제 #2
0
    def test_successful_order(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            driver.refresh()
            loginpage = LoginPage(driver)
            loginpage.enter_login_info(var_info.username_p, var_info.password_s)

            inventory = ProductPage(driver)
            inventory.click_add_to_cart(2)
            inventory.product_add_to_cart(4).click()
            general = GeneralPage(driver)
            general.cart_sign().click()

            cartpage = CartPage(driver)
            continue_button = cartpage.cart_checkout_button()
            continue_button.click()

            client_info = ClientInfoPage(driver)
            client_info.input_first_name("Erica")
            client_info.input_last_name("Liam")
            client_info.input_zipcode("78666")
            client_info.continue_button().click()

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

            overview = CheckoutOverview(driver)
            finish_button = overview.overview_finish()
            finish_button.click()
            successful_order = overview.successfully_placed_order()
            successful_img = overview.successfully_img()
            final_cart_qty = outside.cart_qty()

            assert successful_order.is_displayed()
            assert successful_order == True
            assert successful_img == True
            assert final_cart_qty == None
            assert driver.current_url == "https://www.saucedemo.com/checkout-complete.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/checkout_overview/checkout_overview_screenshots/checkout_overview_problem_user/" + screenshotName + ".png")

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

        finally:
            print("Done")
예제 #3
0
    def test_invalid_info_with_cancel(self):
        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()

        cartpage = CartPage(driver)
        continue_button = cartpage.cart_checkout_button()
        continue_button.click()


        client_info = ClientInfoPage(driver)
        client_info.input_first_name("")
        client_info.input_last_name("")
        client_info.input_zipcode("")
        client_info.cancel_button().click()

        outside = OutSideElement(driver)
        checkout_button = cartpage.cart_checkout_button()
        checkout_button.click()
        cart_qty = outside.cart_qty()


        assert driver.current_url == "https://www.saucedemo.com/cart.html"
        assert cart_qty.text == "2"
예제 #4
0
    def test_remove_products_in_checkout(self):
        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()


        cartpage = CartPage(driver)

        qty_display = cartpage.cart_input_qty()
        remove = cartpage.cart_product_remove(2)

        outside = OutSideElement(driver)
        cart_qty = outside.cart_qty()
        sum_items = cartpage.to_buy_total()

        assert sum_items == 1
        assert cart_qty.text =="1"
        assert qty_display.text == "1"
예제 #5
0
    def test_blank_info_cancel(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_p, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)

            info_page.input_first_name("")
            info_page.input_last_name("")
            info_page.input_zipcode("")
            info_page.cancel_button().click()

            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/client_info/client_info_screenshots/client_info_page_problem_user/" + screenshotName + ".png")

            raise
예제 #6
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
예제 #7
0
    def test_blank_last_name(self):
        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()

        cartpage = CartPage(driver)
        continue_button = cartpage.cart_checkout_button()
        continue_button.click()


        client_info = ClientInfoPage(driver)
        client_info.input_first_name("Cool")
        client_info.input_last_name("")
        client_info.input_zipcode("78666")
        client_info.continue_button().click()
        sign = client_info.warning_sign()

        print(sign.text)
        assert driver.current_url == "https://www.saucedemo.com/checkout-step-one.html"
        assert sign.text == "Error: Last Name is required"
    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
예제 #9
0
 def test_cart_is_empty(self):
     print('Cart Page Test TC_1: Check if shopping cart is empty')
     self.driver.implicitly_wait(5)
     ip = InventoryPage(self.driver)
     cp = CartPage(self.driver)
     ip.click_cart_button()
     cp.check_if_cart_is_empty()
예제 #10
0
    def test_info_displayed(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            driver.refresh()
            loginpage = LoginPage(driver)
            loginpage.enter_login_info(var_info.username_p, var_info.password_s)

            inventory = ProductPage(driver)
            inventory.click_add_to_cart(2)
            inventory.product_add_to_cart(4).click()
            general = GeneralPage(driver)
            general.cart_sign().click()

            cartpage = CartPage(driver)
            continue_button = cartpage.cart_checkout_button()
            continue_button.click()

            client_info = ClientInfoPage(driver)
            client_info.input_first_name("Erica")
            client_info.input_last_name("Liam")
            client_info.input_zipcode("78666")
            client_info.continue_button().click()

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

            overview = CheckoutOverview(driver)
            qty_item = overview.total_item()
            payment_info = overview.check_payment_all_info()
            delivery_info = overview.check_delivery_all_info()
            item_total, tax, total = overview.total_amount()
            finish_button = overview.overview_finish()
            cancel_button = overview.overview_cancel()

            print(item_total, tax, total)
            assert qty_item == 2
            assert cart_qty.text == "2"
            assert payment_info.is_displayed()
            assert delivery_info.is_displayed()
            assert item_total == "Item total: $59.980000000000004"
            assert tax == "Tax: $4.80"
            assert total == "Total: $64.78"
            assert finish_button.is_displayed()
            assert cancel_button.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/checkout_overview/checkout_overview_screenshots/checkout_overview_problem_user/" + screenshotName + ".png")

            raise
    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")
    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_login_successfully(self):
     login_page = LoginPage(self.driver)
     login_page.login(TestData.USERNAME, TestData.PASSWORD)
     product_page = ProductPage(self.driver)
     product_page.add_product_to_cart(1)
     product_page.add_product_to_cart(2)
     product_page.add_product_to_cart(3)
     product_page.click_bag_icon()
     time.sleep(2)
     cart_page = CartPage(self.driver)
     cart_page.shopping_button()
     product_page.add_product_to_cart(4)
     time.sleep(2)
예제 #15
0
    def test_product2(self):
        products = Data.read_products_from_json(self)
        assertion = Assertion()

        login_page = LoginPage(self.driver)
        account = Account(Data.USERNAME_STANDARD_USER, Data.PASSWORD)
        login_page.login(account)
        product_page = ProductsPage(self.driver)

        for index in [1, 2, 3]:
            product_page.click_add_to_cart_button(index)

        product_page.click_badge_icon()
        cart_page = CartPage(self.driver)

        for index in [1, 2, 3]:
            actual_product = cart_page.get_product_info(index)
            expected_product = products[index - 1]
            assertion.compare_products(actual_product, expected_product)

        cart_page.click_checkout_button()
        checkout_step_one_page = CheckoutStepOnePage(self.driver)
        checkout_step_one = CheckoutStepOne('a', 'b', 123)
        checkout_step_one_page.add_checkout_info(checkout_step_one)
        checkout_step_one_page.click_continue_button()

        checkout_step_two_page = CheckoutStepTwoPage(self.driver)
        total_price = 0.00
        for index in [1, 2, 3]:
            actual_product = checkout_step_two_page.get_product_info(index)
            expected_product = products[index - 1]
            assertion.compare_products(actual_product, expected_product)
            print(actual_product.quantity)
            total_price += Utility().multiple(actual_product.quantity,
                                              actual_product.price)

        actual_tax = total_price * 0.08004
        self.assertEqual(float("{:.2f}".format(actual_tax)),
                         checkout_step_two_page.get_tax())

        actual_total = total_price + actual_tax
        self.assertEqual(float("{:.2f}".format(actual_total)),
                         checkout_step_two_page.get_total())

        print(checkout_step_two_page.get_item_total())
        print(checkout_step_two_page.get_tax())
        print(checkout_step_two_page.get_total())
        checkout_step_two_page.click_finish()
    def test_valid_info_checkout(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_pe, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)
            info_page.input_first_name("Jojo")
            info_page.input_last_name("Wang")
            info_page.input_zipcode("77759")
            continue_button = info_page.continue_button()
            continue_button.click()

            cart_sign = info_page.info_cart_sign()
            cart_qty = info_page.info_cart_qty()

            assert driver.current_url == "https://www.saucedemo.com/checkout-step-two.html"
            assert cart_sign.is_displayed()
            assert cart_qty == 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//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")
예제 #17
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()
    def test_cancel_on_your_information(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.cancel_button().click()
            qty = general.cart_qty()
            total = cart.total_product_in_cart()

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

        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")
예제 #19
0
    def test_info_display_default(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_s, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)

            info_page.input_first_name("Jill")
            info_page.input_last_name("Norstrom^")
            info_page.input_zipcode("77888")
            c_button = info_page.continue_button()
            c_button.click()
            overview = CheckoutOverview(driver)
            items = overview.total_product_in_cart()
            payment = overview.check_payment_all_info()
            delivery = overview.check_delivery_all_info()
            amount = overview.total_amount()

            assert items == None
            assert payment.is_displayed() == False
            assert delivery.is_displayed() == False
            assert isinstance(amount, list) == False

        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_valid_user/"
                + screenshotName + ".png")

            raise
예제 #20
0
    def test_order_placed_through_inventory_page(self, acc, pws):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            login.enter_login_info(acc, pws)
            #login.enter_login_info(var_info.username_s, var_info.password_s)
            product = ProductPage(driver)
            product.click_add_to_cart(3)
            product.click_add_to_cart(5)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cart_page = CartPage(driver)
            cart_page.cart_checkout_button().click()
            client_info = ClientInfoPage(driver)
            client_info.input_first_name("Leyla")
            client_info.input_last_name("Hinderson")
            client_info.input_zipcode("78990")
            client_info.continue_button().click()
            checkout_overview = CheckoutOverview(driver)
            checkout_overview.overview_finish().click()
            success_img = checkout_overview.successfully_img()
            success_note = checkout_overview.successfully_placed_order()

            assert success_note == True
            assert success_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/Regression_Reports/" +
                screenshotName + ".png")

            raise
예제 #21
0
    def test_product_checout(self):
        login_page = LoginPage(self.driver)
        login_page.login(TestData.USERNAME, TestData.PASSWORD)
        product_page = ProductPage(self.driver)

        for index, excute_produce in enumerate(product_page.get_product_info(),
                                               start=1):

            product_page.click_bag_icon()
            time.sleep(2)
            cart_page = CartPage(self.driver)
            time.sleep(2)
            cart_page.click_checkout()
            checkout_step_one_page = CheckoutStepOne(self.driver)
            checkout_step_one_page.addcode(TestData.FIRSTNAME,
                                           TestData.LASTNAME, TestData.ZIPCODE)
            checkout_step_one_page.click_continute()
            checkout_step_two_page = CheckoutStepTwo(self.driver)
            checkout_step_two_page.click_finish_button()
            time.sleep(3)
예제 #22
0
    def test_continue_shopping_button(self):

        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()

        cartpage = CartPage(driver)

        qty_display = cartpage.cart_input_qty()
        remove = cartpage.cart_product_remove(2)

        outside = OutSideElement(driver)

        sum_items = cartpage.to_buy_total()

        continue_button = cartpage.cart_continue_shopping()
        continue_button.click()
        cart_qty = outside.cart_qty()

        assert cart_qty.text == "1"
        assert driver.current_url == "https://www.saucedemo.com/inventory.html"
    def test_with_character_all_info(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_pe, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)

            info_page.input_first_name("@#$%^")
            info_page.input_last_name("#$%^")
            info_page.input_zipcode("$%667")
            c_button = info_page.continue_button()
            c_button.click()

            warning = info_page.warning_sign()

            assert warning == True
            assert driver.current_url != "https://www.saucedemo.com/checkout-step-two.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/checkout_overview/checkout_overview_screenshots/checkout_overview_performance_glitch"
                + screenshotName + ".png")

            raise
예제 #24
0
    def test_finish_with_default(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_s, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)

            info_page.input_first_name("Jill")
            info_page.input_last_name("Norstrom^")
            info_page.input_zipcode("77888")
            c_button = info_page.continue_button()
            c_button.click()
            overview = CheckoutOverview(driver)
            result = overview.overview_finish()
            result.click()

            assert result != "https://www.saucedemo.com/checkout-complete.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/client_info/client_info_screenshots/client_info_page_valid_user/"
                + screenshotName + ".png")

            raise
예제 #25
0
    def test_checkout_button(self):
        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()

        cartpage = CartPage(driver)

        qty_display = cartpage.cart_input_qty()
        outside = OutSideElement(driver)
        checkout_button = cartpage.cart_checkout_button()
        checkout_button.click()
        cart_qty = outside.cart_qty()

        assert cart_qty.text == "2"
        assert driver.current_url == "https://www.saucedemo.com/checkout-step-one.html"
예제 #26
0
    def test_blank_zipcode_continue(self):
        try:
            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_s, var_info.password_s)
            general = GeneralPage(driver)
            general.cart_sign().click()
            cartpage = CartPage(driver)
            time.sleep(3)
            cartpage.cart_checkout_button().click()
            info_page = ClientInfoPage(driver)

            info_page.input_first_name("Jojo")
            info_page.input_last_name("Kong")
            info_page.input_zipcode("")
            c_button = info_page.continue_button()
            c_button.click()

            warning = info_page.warning_sign()

            assert warning.text == "Error: Postal Code is required"

        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_valid_user/"
                + screenshotName + ".png")

            raise
예제 #27
0
    def test_valid_client_info(self):
        driver = self.driver
        driver.get(var_info.url_login)
        driver.refresh()
        loginpage = LoginPage(driver)
        loginpage.enter_login_info(var_info.username_s, var_info.password_s)

        inventory = ProductPage(driver)
        inventory.click_add_to_cart(2)
        inventory.label_add_to_cart("Sauce Labs Fleece Jacket")
        inventory.cart_sign().click()

        cartpage = CartPage(driver)
        continue_button = cartpage.cart_checkout_button()
        continue_button.click()


        client_info = ClientInfoPage(driver)
        client_info.input_first_name("Erica")
        client_info.input_last_name("Liam")
        client_info.input_zipcode("78666")
        client_info.continue_button().click()

        assert driver.current_url == "https://www.saucedemo.com/checkout-step-two.html"
    def test_displayed_products_checkout_button(self):
        try:

            driver = self.driver
            driver.get(var_info.url_login)
            login = LoginPage(driver)
            # get account and password
            login.enter_login_info(var_info.username_s, var_info.password_s)
            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)
            general.cart_sign().click()
            cart = CartPage(driver)
            checkout_button = cart.cart_checkout_button()
            checkout_button.click()

            assert driver.current_url == "https://www.saucedemo.com/checkout-step-one.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_valid_user/"
                + screenshotName + ".png")

            raise
    def test_reset_button(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_add_to_cart(2)
            product.click_add_to_cart(6)
            general = GeneralPage(driver)
            general.cart_sign().click()
            general.drop_down_menu()
            general.pick_item_from_menu("Reset App State")
            general.display_delete_button()
            cart = CartPage(driver)
            qty = general.cart_qty()
            items_display = cart.total_product_in_cart()

            assert qty == None
            assert items_display == None  #it should has nothing after hitting reset

        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
 def test_login_successfully(self):
     login_page = LoginPage(self.driver)
     login_page.login(TestData.USERNAME, TestData.PASSWORD)
     product_page = ProductPage(self.driver)
     product_page.add_product_to_cart(1)
     product_page.add_product_to_cart(2)
     product_page.add_product_to_cart(3)
     product_page.click_bag_icon()
     time.sleep(2)
     cart_page = CartPage(self.driver)
     cart_page.remove_product_to_cart_in_bag(1)
     time.sleep(2)
     cart_page.click_checkout()
     checkout_step_one_page = CheckoutStepOne(self.driver)
     checkout_step_one_page.click_cancel_button()
     time.sleep(3)