class TestLogin(): @pytest.fixture(autouse=True) def object_setup(self): self.lp = LoginPage(self.driver) self.pip = PersonalInformationPage(self.driver) self.ap = AccountPage(self.driver) self.fpp = ForgottenPasswordPage(self.driver) self.ast = AssertStatus() @pytest.mark.parametrize( "email, password, email_error_message, password_error_message", get_csv_data("login_test_data.csv")) def test_invalid_login(self, email, password, email_error_message, password_error_message): result_1 = self.lp.navigate_to_login_page() self.ast.collect_result(result_1, "Login Page Title Verification") self.lp.login(email, password) result_2 = self.lp.verify_invalid_login_error_message( email_error_message, password_error_message) self.ast.determine_result(result_2, "Failed Login Verification", "test_invalid_login") def test_valid_login(self): result_1 = self.lp.navigate_to_login_page() self.ast.collect_result(result_1, "Login Page Title Verification") self.lp.login("*****@*****.**", "123456") result_2 = self.lp.verify_valid_login() self.ast.determine_result(result_2, "Login Verification", "test_valid_login") @pytest.mark.parametrize( "email, error_message", get_csv_data("retrieve_password_email_test_data.csv")) def test_invalid_password_retrieval(self, email, error_message): self.lp.navigate_to_forgotten_password_page() result_1 = self.fpp.verify_forgotten_password_page_title() self.ast.collect_result(result_1, "Forgotten Password Page Title Verification") self.fpp.retrieve_password(email) result_2 = self.fpp.verify_invalid_password_retrieval(error_message) self.ast.determine_result(result_2, "Failed Password Retrieval Verification", "test_invalid_password_retrieval") def test_valid_password_retrieval(self): self.lp.navigate_to_forgotten_password_page() result_1 = self.fpp.verify_forgotten_password_page_title() self.ast.collect_result(result_1, "Forgotten Password Page Title Verification") self.fpp.retrieve_password("*****@*****.**") result_2 = self.fpp.verify_valid_password_retrieval() self.ast.determine_result(result_2, "Password Retrieval Verification", "test_valid_password_retrieval") def test_changed_password_login(self): result_1 = self.lp.navigate_to_login_page() self.ast.collect_result(result_1, "Login Page Title Verification") self.lp.login("*****@*****.**", "123456") result_2 = self.lp.verify_valid_login() self.ast.collect_result(result_2, "Login Verification") self.ap.click_information_link() self.pip.change_password("123456", "1234567", "1234567") result_3 = self.pip.Verify_valid_password_change() self.ast.collect_result(result_3, "Changed Password Verification") result_4 = self.lp.navigate_to_login_page() self.ast.collect_result(result_4, "Login Page Title Verification") self.lp.login("*****@*****.**", "123456") result_5 = self.lp.verify_invalid_password_error_message() self.ast.collect_result(result_5, "Failed Login Verification") self.lp.login("*****@*****.**", "1234567") result_6 = self.lp.verify_valid_login() self.ast.collect_result(result_6, "Login Verification") self.ap.click_information_link() self.pip.change_password("1234567", "123456", "123456") result_7 = self.pip.Verify_valid_password_change() self.ast.determine_result(result_7, "Changed Password Verification", "test_changed_password_login")
class TestDomesticBVWithCSVData(unittest.TestCase): @pytest.fixture(autouse=True) def class_setup(self): self.ts = TestStatus(self.driver) self.lp = LoginPage(self.driver) self.nav = NavigatePage(self.driver) self.sup_info_fev = FindExistingValuePage(self.driver) self.sup_info_anv = SupplierInformationANV(self.driver) self.summary = SummaryPage(self.driver) self.id_info = IdentifyingInformationPage(self.driver) self.addr = AddressPage(self.driver) self.loc = LocationPage(self.driver) self.procurement = ProcurementOptionsWindow(self.driver) self.sup_xref = SupplierXrefWindow(self.driver) @pytest.mark.run(order=1) @data(*get_csv_data( "C:\\Users\\AAO8676\\Documents\\workspace-python\\VMDM_PeopleSoft\\invalid_password.csv" )) @unpack def test_invalid_password(self, username, password): self.lp.login(username, password) result = self.lp.verify_login_failed() self.ts.mark(result, "Login Failed!") @pytest.mark.run(order=2) @data(*get_csv_data("bv_dom_test.csv")) @unpack def test_domestic_master_and_branch_vendor_creation( self, username, password): # Login into PeopleSoft with CREATOR credentials self.lp.login(username, password) result_1 = self.lp.verify_title() self.ts.mark(result_1, "Title is Correct") self.nav.navigate_to_supplier_info() self.sup_info_fev.add_a_new_value() self.sup_info_anv.click_add_button() self.id_info.enter_identifying_info("DNS") """ REMIT CleanAddressPage """ self.id_info.click_address_tab() self.addr.enter_domestic_master_vendor_address("REMIT", "Remit") self.addr.enter_business_phone() self.addr.enter_fax() """ CORPORATE INFORMATION """ self.addr.click_add_new_address_btn() self.addr.enter_domestic_master_vendor_address("CORPORATE INFO", "Corporate Info") self.addr.expand_alternate_names() self.addr.enter_pmnt_alt_name_1() self.addr.enter_business_phone() self.addr.enter_fax() """ TRILOGIE PO ADDRESS """ self.addr.click_add_new_address_btn() self.addr.enter_domestic_master_vendor_address("TRL PO ADDRESS", "Trilogie PO Address") self.addr.enter_pmnt_alt_name_1() self.addr.enter_business_phone() self.addr.enter_fax() """ ADD LOCATIONS """ # Add a location self.addr.click_location_tab() self.loc.add_location("MAIN", "Remit to Main") # Add Procurement Options self.loc.click_procurement_link() self.procurement.select_payment_terms_id("COD") # Add Branch Vendor(s) self.loc.click_fei_trilogie_xref_link() self.sup_xref.select_two_accounts("OHIOHVAC", "PLYMOUTH") """ SAVE RECORD """ self.loc.click_save_btn() self.loc.click_summary_tab() self.summary.get_supplier_id() result2 = self.summary.verify_supplier_id_created() self.ts.mark(result2, "Successfully Created Domestic Master Vendor.") @pytest.mark.run(order=3) def test_sign_out(self): self.summary.sign_out_summary_page() result = self.lp.verify_title_of_log_out_page() self.ts.mark_final("Test Create Master and Branch Vendor", result, "Successfully Signed Out of Application.")
class TestProductDetailPage(): @pytest.fixture(autouse=True) def setup_class(self): self.dp = DressesPage(self.driver) self.cdp = ChiffonDressPage(self.driver) self.ast = AssertStatus() def test_chiffon_dress_social_media_buttons(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.set_chiffon_dress_main_window_attribute() self.cdp.click_chiffon_dress_twitter_button() result_3 = self.cdp.verify_social_media_button("twitter.com") self.ast.collect_result(result_3, "Twitter Button Verification") self.cdp.click_chiffon_dress_facebook_button() result_4 = self.cdp.verify_social_media_button("facebook.com") self.ast.collect_result(result_4, "Facebook Button Verification") self.cdp.click_chiffon_dress_google_button() result_5 = self.cdp.verify_social_media_button("google.com") self.ast.collect_result(result_5, "Google Button Verification") self.cdp.click_chiffon_dress_pinterest_button() result_6 = self.cdp.verify_social_media_button("pinterest.com") self.ast.determine_result(result_6, "Pinterest Button Verification", "test_chiffon_dress_social_media_buttons") def test_chiffon_dress_product_info(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") result_3 = self.cdp.verify_chiffon_dress_item_name() self.ast.collect_result(result_3, "Item Name Verification") result_4 = self.cdp.verify_chiffon_dress_product_model() self.ast.collect_result(result_4, "Product Model Verification") result_5 = self.cdp.verify_chiffon_dress_product_condition() self.ast.collect_result(result_5, "Product Condition Verification") result_6 = self.cdp.verify_chiffon_dress_product_description() self.ast.collect_result(result_6, "Product Description Verification") result_7 = self.cdp.verify_chiffon_dress_data_sheet() self.ast.collect_result(result_7, "Data Sheet Verification") result_8 = self.cdp.verify_chiffon_dress_brand_info() self.ast.determine_result(result_8, "Dress Brand Info Verification", "test_chiffon_dress_product_info") def test_chiffon_dress_review_link(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_review_link() result_3 = self.cdp.verify_chiffon_dress_review_popup() self.ast.determine_result(result_3, "Review Pop-up Verification", "test_chiffon_dress_review_link") self.cdp.click_chiffon_dress_review_cancel_link() @pytest.mark.parametrize( "title, comment, title_error_message, comment_error_message", get_csv_data("review_test_data.csv")) def test_invalid_chiffon_dress_review( self, title, comment, title_error_message, comment_error_message): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_review_button() self.cdp.enter_chiffon_dress_review_info(title, comment) result_3 = (self.cdp.verify_chiffon_dress_review_error_message( title_error_message, comment_error_message)) self.ast.determine_result( result_3, "Review Error Messages Verification", "test_invalid_chiffon_dress_review") self.cdp.click_chiffon_dress_review_cancel_link() def test_valid_chiffon_dress_review(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_review_button() result_3 = self.cdp.click_chiffon_dress_review_star_rating() self.ast.collect_result(result_3, "Review Star Ratings Verification") self.cdp.enter_chiffon_dress_review_info() result_4 = self.cdp.verify_chiffon_dress_review_success_message() self.ast.determine_result( result_4, "Review Success Message Verification", "test_valid_chiffon_dress_review") self.cdp.click_chiffon_dress_review_ok_button() @pytest.mark.parametrize( "email_name, email_address", get_csv_data("email_test_data.csv")) def test_invalid_chiffon_dress_email(self, email_name, email_address): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_email_link() self.cdp.enter_chiffon_dress_email_info(email_name, email_address) result_3 = self.cdp.verify_chiffon_dress_email_error_message() self.ast.determine_result(result_3, "Email Error Message Verification", "test_invalid_chiffon_dress_email") self.cdp.click_chiffon_dress_email_cancel_link() def test_valid_chiffon_dress_email(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_email_link() self.cdp.enter_chiffon_dress_email_info() result_3 = self.cdp.verify_chiffon_dress_email_success_message() self.ast.determine_result( result_3, "Email Succes Message Verification", "test_valid_chiffon_dress_email") self.cdp.click_chiffon_dress_email_ok_button() def test_chiffon_dress_print_section(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") result_3 = self.cdp.verify_chiffon_dress_print_link() self.ast.determine_result(result_3, "Print Link Verification", "test_chiffon_dress_print_section") def test_chiffon_dress_wishlist_section(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.click_chiffon_dress_wishlist_link() result_3 = self.cdp.verify_chiffon_dress_wishlist_success_message() self.ast.determine_result( result_3, "Wishlist Success Message Verification", "test_chiffon_dress_wishlist_section") self.cdp.click_chiffon_dress_wishlist_close_link() def test_chiffon_dress_image_selection(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.scroll_to_chiffon_dress_thumbnails() result_3 = self.cdp.verify_selected_chiffon_dress_thumbnail() self.ast.determine_result(result_3, "Image Match Verification", "test_chiffon_dress_image_section") def test_chiffon_dress_product_details(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") result_3 = self.cdp.verify_chiffon_dress_discount_price() self.ast.collect_result(result_3, "Dress Discount Price Verification") result_4 = self.cdp.verify_chiffon_dress_quantity() self.ast.collect_result( result_4, "Chiffon Dress Quantity Value Verification") result_5 = self.cdp.verify_selected_chiffon_dress_size() self.ast.collect_result( result_5, "Chiffon Dress Selected Size Verification") result_6 = self.cdp.verify_selected_chiffon_dress_color() self.ast.collect_result( result_6, "Chiffon Dress Selected Color Verification") result_7 = self.cdp.verify_chiffon_dress_quantity_error_message("a") self.ast.determine_result( result_7, "Chiffon Dress Quantity Error Message Verification", "test_chiffon_dress_product_details") def test_chiffon_dress_popup_cart_details(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result( result_2, "Chiffon Dress Page Title Verification") self.cdp.order_chiffon_dress() self.cdp.set_chiffon_dress_image_attributes() result_3 = self.cdp.verify_chiffon_dress_popup_cart_success_message() self.ast.collect_result( result_3, "Chiffon Dress Pop-up Cart Success Message Verification") result_4 = self.cdp.verify_chiffon_dress_popup_cart_product_image() self.ast.collect_result( result_4, "Chiffon Dress Pop-up Cart Image Verification") result_5 = self.cdp.verify_chiffon_dress_popup_cart_product_title() self.ast.collect_result( result_5, "Chiffon Dress Pop-up Cart Product Title Verification") result_6 = ( self.cdp.verify_chiffon_dress_popup_cart_product_attributes()) self.ast.collect_result( result_6, "Chiffon Dress Pop-up Cart Product Attributes Verification") result_7 = self.cdp.verify_chiffon_dress_popup_cart_product_quantity() self.ast.collect_result( result_7, "Chiffon Dress Pop-up Cart Product Quantity Verification") result_8 = self.cdp.verify_chiffon_dress_popup_cart_product_price() self.ast.collect_result( result_8, "Chiffon Dress Pop-up Cart Product Price Verification") result_9 = self.cdp.verify_chiffon_dress_popup_cart_quantity_text() self.ast.collect_result( result_9, "Chiffon Dress Pop-up Cart Quantity Text Verification") result_10 = self.cdp.verify_chiffon_dress_popup_cart_products_total() self.ast.collect_result( result_10, "Chiffon Dress Pop-up Cart Products Total Verification") result_11 = self.cdp.verify_chiffon_dress_popup_cart_shipping_cost() self.ast.collect_result( result_11, "Chiffon Dress Pop-up Cart Shipping Cost Verification") result_12 = self.cdp.verify_chiffon_dress_popup_cart_total() self.ast.collect_result( result_12, "Chiffon Dress Pop-up Cart Total Verification") self.cdp.click_chiffon_dress_popup_continue_button() self.cdp.scroll_to_chiffon_dress_menu_cart() self.cdp.chiffon_dress_menu_cart_hover() self.cdp.click_chiffon_dress_remove_link() result_13 = self.cdp.verify_chiffon_dress_empty_cart_quantity() self.ast.determine_result( result_13, "Chiffon Dress Empty Cart Quantity Verification", "test_chiffon_dress_popup_cart_details")
class TestShoppingCart(): @pytest.fixture(autouse=True) def object_setup(self): self.dp = DressesPage(self.driver) self.cdp = ChiffonDressPage(self.driver) self.scp = ShoppingCartPage(self.driver) self.scp_session = ShoppingCartPage(self.driver) self.ast = AssertStatus() def test_chiffon_dress_shopping_cart_details(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result(result_2, "Chiffon Dress Page Title Verification") self.cdp.order_chiffon_dress() self.cdp.set_chiffon_dress_image_attributes() self.cdp.click_chiffon_dress_popup_cart_checkout_button() result_3 = self.scp.verify_shopping_cart_page_title() self.ast.collect_result(result_3, "Shopping Cart Page Title Verification") result_4 = self.scp.verify_chiffon_dress_product_image() self.ast.collect_result(result_4, "Chiffon Dress Image Verification") result_5 = self.scp.verify_chiffon_dress_product_title() self.ast.collect_result(result_5, "Chiffon Dress Product Title Verification") result_6 = self.scp.verify_chiffon_dress_product_model() self.ast.collect_result(result_6, "Chiffon Dress Product Model Verification") result_7 = self.scp.verify_chiffon_dress_product_attributes() self.ast.collect_result( result_7, "Chiffon Dress Product Attributes Verification") result_8 = self.scp.verify_chiffon_dress_discount_price() self.ast.collect_result(result_8, "Chiffon Dress Discount Price Verification") self.scp.click_delete_chiffon_dress() result_9 = self.scp.verify_empty_shopping_cart() self.ast.determine_result(result_9, "Empty Shopping Cart Verification", "test_chiffon_dress_shopping_cart_details") @pytest.mark.parametrize( "update_quantity, quantity, price, products_total, " "shipping, subtotal, tax, total, delete_quantity", get_csv_data("product_totals_test_data.csv")) def test_chiffon_dress_shopping_cart_product_totals( self, update_quantity, quantity, price, products_total, shipping, subtotal, tax, total, delete_quantity): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result(result_2, "Chiffon Dress Page Title Verification") self.cdp.order_chiffon_dress() self.cdp.click_chiffon_dress_popup_cart_checkout_button() result_3 = self.scp.verify_shopping_cart_page_title() self.ast.collect_result(result_3, "Shopping Cart Page Title Verification") self.scp.enter_chiffon_dress_quantity(update_quantity) result_9 = self.scp.verify_chiffon_dress_quantity(quantity) self.ast.collect_result(result_9, "Chiffon Dress Quantity Verification") result_10 = self.scp.verify_chiffon_dress_total_product_price(price) self.ast.collect_result(result_10, "Chiffon Dress Product Price Verification") result_11 = ( self.scp.verify_shopping_cart_products_total(products_total)) self.ast.collect_result(result_11, "Shopping Cart Products Total Verification") result_12 = self.scp.verify_shopping_cart_shipping_total(shipping) self.ast.collect_result(result_12, "Shopping Cart Shipping Total Verification") result_13 = self.scp.verify_shopping_cart_subtotal(subtotal) self.ast.collect_result(result_13, "Shopping Cart Subtotal Verification") result_14 = self.scp.verify_shopping_cart_tax_total(tax) self.ast.collect_result(result_14, "Shopping Cart Tax Total Verification") result_15 = self.scp.verify_shopping_cart_price_total(total) self.ast.collect_result(result_15, "Shopping Cart Price Total Verification") self.scp.enter_chiffon_dress_quantity(delete_quantity) result_16 = self.scp.verify_empty_shopping_cart() self.ast.determine_result( result_16, "Empty Shopping Cart Verification", "test_chiffon_dress_shopping_cart_product_totals") def test_loading_chiffon_dress_shopping_cart_session(self): result_1 = self.dp.navigate_to_dresses_page() self.ast.collect_result(result_1, "Dresses Page Title Verification") self.dp.click_chiffon_dress_link() result_2 = self.cdp.verify_chiffon_dress_page_title() self.ast.collect_result(result_2, "Chiffon Dress Page Title Verification") self.cdp.order_chiffon_dress() self.cdp.click_chiffon_dress_popup_cart_checkout_button() result_3 = self.scp.verify_shopping_cart_page_title() self.ast.collect_result(result_3, "Shopping Cart Page Title Verification") self.scp_session.load_shopping_cart_session() result_4 = self.scp_session.verify_chiffon_dress_product_title() self.ast.collect_result(result_4, "Chiffon Dress Product Title Verification") self.scp_session.click_delete_chiffon_dress() result_5 = self.scp_session.verify_empty_shopping_cart() self.ast.collect_result(result_5, "Empty Shopping Cart Verification") self.scp_session.quit_shopping_cart_page() self.scp.refresh_shopping_cart_page() result_6 = self.scp.verify_empty_shopping_cart() self.ast.determine_result( result_6, "Empty Shopping Cart Verification", "test_loading_chiffon_dress_shopping_cart_session")