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
    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
Ejemplo n.º 3
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")
Ejemplo n.º 4
0
 def enter_password(self, password):
     WebDriverWait(self.driver, 10).until(
         EC.visibility_of_element_located((By.NAME, 'password')))
     WebDriverWait(self.driver, 10).until(
         EC.element_to_be_clickable((By.NAME, 'password')))
     LoginPage(self.driver).password_field().click()
     LoginPage(self.driver).password_field().send_keys(password)
Ejemplo n.º 5
0
 def test_login_problem_user(self):
     login_page = LoginPage(self.driver)
     account = Account('problem_user', Data.PASSWORD)
     login_page.login(account)
     products_page = ProductsPage(self.driver)
     total = products_page.count_broken_images()
     self.assertEqual(0, total)
Ejemplo n.º 6
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"
Ejemplo n.º 7
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"
    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
Ejemplo n.º 9
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"
Ejemplo n.º 10
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()
Ejemplo n.º 11
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
Ejemplo n.º 12
0
    def test_login_locked_out_user(self):
        login_page = LoginPage(self.driver)
        account = Account('locked_out_user', Data.PASSWORD)
        login_page.login(account)
        error_msg = login_page.get_error_message()

        self.assertIn('Sorry, this user has been locked out.', error_msg)
Ejemplo n.º 13
0
class LoginPageTest(unittest.TestCase):
    driver = None

    @classmethod
    def setUpClass(cls):
        cls.driver = driver_init(env["browser"])

    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()

    def setUp(self):
        self.driver.delete_all_cookies()
        self.loginpage = LoginPage(self.driver)
        self.loginpage.load()

    def tearDown(self):
        take_screenshot(self.driver, self.shortDescription())

    def test_login_pass(self):
        """TestLoginPass"""
        dashboard_page = self.loginpage.login(admin_user["username"],
                                              admin_user["password"])
        self.assertIn(dashboard_page.url, dashboard_page.get_url())

    @data(*get_data(os.getcwd() + "\\..\\TestData\\login_fail_data.csv"))
    @unpack
    def test_login_fail(self, username, password, expected_err_msg):
        """TestLoginFail"""
        loginpage = self.loginpage.login(username, password, "fail")
        self.assertEqual(expected_err_msg, loginpage.get_err_msg())
Ejemplo n.º 14
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
    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
    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
Ejemplo n.º 17
0
def test_guest_can_go_to_login_page(browser):
    link = "http://selenium1py.pythonanywhere.com/"
    page = MainPage(browser, link)
    page.open()
    page.go_to_login_page()
    login_page = LoginPage(browser, browser.current_url)
    login_page.should_be_login_page()
    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
Ejemplo n.º 19
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
Ejemplo n.º 20
0
 def test_logout(self):
     print('Inventory Page Test TC_1: Logout from service')
     self.driver.implicitly_wait(5)
     lp = LoginPage(self.driver)
     ip = InventoryPage(self.driver)
     ip.logout_user()
     lp.check_login_button_exists()
Ejemplo n.º 21
0
 def enter_email(self, email):
     WebDriverWait(self.driver, 10).until(
         EC.visibility_of_element_located((By.NAME, 'email')))
     WebDriverWait(self.driver,
                   10).until(EC.element_to_be_clickable((By.NAME, 'email')))
     LoginPage(self.driver).email_field().click()
     LoginPage(self.driver).email_field().send_keys(email)
Ejemplo n.º 22
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_all_items_product_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)
            general = GeneralPage(driver)
            product.product_logo()
            product.click_add_to_cart(1)
            product.click_add_to_cart(6)
            product.click_add_to_cart(3)
            product.click_add_to_cart(6)
            general.drop_down_menu()
            general.pick_item_from_menu("All Items")
            qty = general.cart_qty()

            assert driver.current_url == "https://www.saucedemo.com/inventory.html"
            assert qty.text == "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/product_page/product_page_screentshots/product_page_valid_user/" + screenshotName + ".png")

            raise
    def test_login_with_invalid_username_password(self):
        login_page = LoginPage(self.driver)
        login_page.login(TestData.FAKE_USERNAME, TestData.FAKE_PASSWORD)
        result_page = ResultPage(self.driver)

        print(result_page.get_message())
        assert "Your password is invalid!" in result_page.get_message()
Ejemplo n.º 25
0
 def test_login_successfully(self):
     login_page = LoginPage(self.driver)
     login_page.login(TestData.USERNAME, TestData.PASSWORD)
     product_page = ProductPage(self.driver)
     product_page.product_text()
     print(product_page.product_text())
     self.assertEqual(product_page.product_text(), 'Products')
Ejemplo n.º 26
0
    def test_login_with_invalid_username(self):
        login_page = LoginPage(self.driver)
        login_page.login(TestData.FAKE_USERNAME, TestData.PASSWORD)
        result_page = ResultPage(self.driver)

        print(result_page.get_message())
        self.assertIn("Your username is invalid!", result_page.get_message())
    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
    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
Ejemplo n.º 29
0
    def test_product(self):
        products = Data.getProducts_json(self)
        # for index, expected_product in enumerate(products, start=1):
        #     print(expected_product)

        login_page = LoginPage(self.driver)
        account = Account('standard_user', Data.PASSWORD)
        login_page.login(account)

        products_page = ProductsPage(self.driver)

        for index, expected_product in enumerate(products, start=1):
            actual_product = products_page.get_product_info(index)
            assertion = Assertion()
            assertion.compare_products(actual_product, expected_product)

        # total = products_page.get_badge_total()
        # print(total)
        # products_page.click_badge_icon()
        # products_page.click_add_to_cart_button(1)
        # products_page.click_remove_button(1)
        # time.sleep(5)
        # products_page.get_all_products_info()

        for index, expected_product in enumerate(products, start=1):
            '"Add & remove all products"'
            products_page.click_add_to_cart_button(index)
            self.assertTrue(products_page.does_remove_button_exist(index))
            self.assertEqual(1, products_page.get_product_badge())

            products_page.click_remove_button(index)
            self.assertTrue(products_page.does_add_button_exist(index))
            self.assertTrue(products_page.is_product_badge_invisible())
Ejemplo n.º 30
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