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
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
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
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"
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
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"
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
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
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/"
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_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
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)"
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"]
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)"
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)"
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"
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")
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