def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T176' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) # baseURL = "https://beta.bi.dev.wedbus.com" driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id( "UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) time.sleep(1) # instantiate dashboard d = dashboard(driver) # Verify that Total Value Field Displays, Throw Error / Take Screenshot if Missing d.verify_total_value_field_exists(test_case_ID, browser, env, time_stamp) # Verify that Financial Advisor Field Displays, Throw Error / Take Screenshot if Missing d.verify_financial_advisor_field_exists(test_case_ID, browser, env, time_stamp) time.sleep(1) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) time.sleep(1) # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(1) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T172' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) # baseURL = "https://beta.bi.dev.wedbus.com" driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id("UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) time.sleep(15) # Navigate to Profile /Preferences lp = left_panel(driver) lp.click_profile_preferences() # Profile /Preferences - User Preferences Displays time.sleep(1) up = user_preferences(driver) time.sleep(15) # Update Security Questions up.update_question_1(test_data1) up.update_question_2(test_data1) up.update_question_3(test_data1) up.update_question_4(test_data1) up.update_question_5(test_data1) # Input Password and Click Submit up.input_password(password) up.click_save_security_questions() time.sleep(5) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) # Navigate away from User Preferences; Navigate to Account Preferences pp = profile_preferences(driver) pp.click_account_preferences() time.sleep(5) # Navigate back to User Preferences pp.click_user_preferences() time.sleep(1) # Perform Scroll Up up.scroll_up() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) time.sleep(10) # Validate that Security Answers persist up.verify_text_exists_in_question_1_answer(test_data1, test_case_ID, browser, env, time_stamp) up.verify_text_exists_in_question_2_answer(test_data1, test_case_ID, browser, env, time_stamp) up.verify_text_exists_in_question_3_answer(test_data1, test_case_ID, browser, env, time_stamp) up.verify_text_exists_in_question_4_answer(test_data1, test_case_ID, browser, env, time_stamp) up.verify_text_exists_in_question_5_answer(test_data1, test_case_ID, browser, env, time_stamp) time.sleep(10) # Reset Security Answers up.reset_question_1(test_data2) up.reset_question_2(test_data2) up.reset_question_3(test_data2) up.reset_question_4(test_data2) up.reset_question_5(test_data2) # Re Input Password and Click Submit up.re_input_password(password) up.click_save_security_questions() # Perform Scroll Up up.scroll_up() time.sleep(5) # Take screenshot, save to utilities/test_results/screenshots screenshot_4 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_4" + "_" + control_point_4 + "_" + time_stamp + ".png" saved_screenshot_location_4 = str(screenshot_directory / screenshot_4) driver.get_screenshot_as_file(saved_screenshot_location_4) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(1) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T430' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "PROD" baseURL = Environments_MYCL.return_environments(env) # baseURL = "https://beta.bi.dev.wedbus.com" driver.get(baseURL) driver.maximize_window() time.sleep(5) # Login to Site lp = LoginPage(driver) gp = generic_page(driver) lp.login(username, password) lp.click_login_button() time.sleep(10) # Take Screenshot 1 screenshot_number = "1" time_stamp_1 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_1, screenshot_number, env, time_stamp_1) time.sleep(5) # Navigate to Account \ Cash Flow current_url = driver.current_url slashparts = current_url.split('/') bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string screen_to_navigate_to_1 = "account_cashflow" screen_1 = Screens.return_screens(screen_to_navigate_to_1) driver.get(nav_url + screen_1) time.sleep(15) # Take Screenshot 2 screenshot_number = "2" time_stamp_2 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_2, screenshot_number, env, time_stamp_2) time.sleep(5) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(5) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(15) # Take Screenshot 3 screenshot_number = "3" time_stamp_3 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_3, screenshot_number, env, time_stamp_3) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T242' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "PROD" baseURL = Environments_BICL.return_environments(env) driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot lp.verify_username_field_displays(test_case_ID, browser, env, time_stamp) lp.login(username, password) lp.click_login_button() time.sleep(1) gp = generic_page(driver) # Take Screenshot 1 screenshot_number = "1" time_stamp_1 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_1, screenshot_number, env, time_stamp_1) dp = default_page(driver) # Timeout method for page to load, timeout set to 30 seconds gp.verify_page_loads(test_case_ID, browser, env, time_stamp) time.sleep(60) # Enter Account Number and click Search dp.enter_account_number_search(account_number) # increase timeout to 15 time.sleep(15) mdp = MYCL_default_page(driver) # Click User Drop Down / Client Link, Redirect to Client Link Site # Click Menu Hamburger mdp.click_hamburger_menu() time.sleep(20) hm = hamburger_menu(driver) hm.click_client_link() # set to 10 or above time.sleep(30) # Navigate to Account / Positions # Verify text exists in Price Column current_url = driver.current_url slashparts = current_url.split('/') bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string nav_screen = "account_positions" screen = Screens.return_screens(nav_screen) driver.get(nav_url + screen) # Set timeout to 25 time.sleep(25) pos = positions(driver) pos.verify_Close_Price_Column_Displays(test_case_ID, browser, env, time_stamp) time.sleep(1) # Take Screenshot 2 screenshot_number = "2" time_stamp_2 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_2, screenshot_number, env, time_stamp_2) time.sleep(1) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(3) # Take Screenshot 3 screenshot_number = "3" time_stamp_3 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_3, screenshot_number, env, time_stamp_3) time.sleep(3) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T411' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) gp = generic_page(driver) lp.login(username, password) lp.click_login_button() time.sleep(30) # Take Screenshot 1 screenshot_number = "1" time_stamp_1 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_1, screenshot_number, env, time_stamp_1) # instantiate dashboard d = dashboard(driver) time.sleep(20) # Take Screenshot 2 screenshot_number = "2" time_stamp_2 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_2, screenshot_number, env, time_stamp_2) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() # Take Screenshot 3 screenshot_number = "3" time_stamp_3 = dg.return_time_stamp() gp.take_screenshot(test_case_ID, browser, control_point_3, screenshot_number, env, time_stamp_3) time.sleep(5) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T168' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id( "UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(30) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) # instantiate dashboard d = dashboard(driver) # Add a long wait # Set to 20 time.sleep(1) lp = left_panel(driver) # Set to 15 time.sleep(1) # Navigate to Documents / Confirms current_url = driver.current_url slashparts = current_url.split('/') bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string screen_to_navigate_to_1 = "documents_tax_statements" screen_1 = Screens.return_screens(screen_to_navigate_to_1) driver.get(nav_url + screen_1) time.sleep(20) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) time.sleep(1) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T177' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) # baseURL = "https://beta.bi.dev.wedbus.com" driver.get(baseURL) driver.maximize_window() time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id( "UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) time.sleep(10) # Navigate to Profile /Preferences lfp = left_panel(driver) lfp.click_profile_preferences() # Profile /Preferences - User Preferences Displays time.sleep(5) up = user_preferences(driver) # Update Page Preferences # Change Default Login Start Page to "Documents" up.set_default_landing_page_to_documents() # Click Save up.click_save_default_landing_page() time.sleep(5) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() # Login driver.get(baseURL) driver.maximize_window() time.sleep(5) # Login to Site lp = LoginPage(driver) lp.login(username, password) lp.click_login_button() time.sleep(20) # Documents page should display # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) # Assert Statement to confirm that Documents page displays doc = documents(driver) doc.verify_monthly_statements_displays(test_case_ID, browser, env, time_stamp) # Set to 20 - 25 time.sleep(25) # Navigate to User Preferences lfp.click_profile_preferences() time.sleep(1) # Update Page Preferences # Change Default Login Start Page to "Account" up.set_default_landing_page_to_account() # Click Save up.click_save_default_landing_page() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_4 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_4" + "_" + control_point_4 + "_" + time_stamp + ".png" saved_screenshot_location_4 = str(screenshot_directory / screenshot_4) driver.get_screenshot_as_file(saved_screenshot_location_4) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(1) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T101' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_MYCL.return_environments(env) driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id( "UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(10) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) # instantiate dashboard d = dashboard(driver) # Add a long wait time.sleep(10) lp = left_panel(driver) time.sleep(5) # Click TOOLS on LEFT PANEL lp.click_tools() tls = tools(driver) time.sleep(5) # Click HELP link tls.click_help() time.sleep(5) h = help(driver) time.sleep(5) # Click Service Fees h.click_service_fees() time.sleep(5) sf = service_fees(driver) # Verify fees in second table sf.verify_values_in_fee_column_first_section(test_case_ID, browser, env, time_stamp) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) time.sleep(5) # Scroll Down Page driver.execute_script( "window.scrollTo(0, document.body.scrollHeight);") # Verify fees in second table sf.verify_values_in_fee_column_second_section(test_case_ID, browser, env, time_stamp) time.sleep(2) # Verify fees in third table sf.verify_values_in_fee_column_third_section(test_case_ID, browser, env, time_stamp) time.sleep(2) # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(1) driver.quit()
def test_login_chrome(self, browser, env): driver = browser # Create Time Stamp Variable (using Date Time Generator Class in utilities) dg = date_time_generator() time_stamp = dg.return_time_stamp() # This section reads in values from csv file using Pandas Library # Declare Test Case ID test_case_ID = 'QTML-T194' # Declare csv directory df = pd.read_csv(csv_directory) # print(df) # Select Row where "Test_Case_ID" Column Matches the test_case_ID declared above (Line 31) # This is the row that contains the data values for this test scenario test_case_row = df.loc[df.Test_Case_ID == test_case_ID] # print(test_case_row) # Read in Values from "test_case_row" object test_scenario = test_case_row['Test_Scenario'].values[0] username = test_case_row['User'].values[0] password = test_case_row['Password'].values[0] browser = test_case_row['Browser'].values[0] account_number = test_case_row['account_number'].values[0] rep_code = test_case_row['rep_code'].values[0] test_data1 = test_case_row['test_data1'].values[0] test_data2 = test_case_row['test_data_2'].values[0] control_point_1 = test_case_row['control_point_1'].values[0] control_point_2 = test_case_row['control_point_2'].values[0] control_point_3 = test_case_row['control_point_3'].values[0] control_point_4 = test_case_row['control_point_4'].values[0] # To DEBUG, Uncomment this NEXT line AND Comment lines 13, 15 and 18. Also, SHIFT + TAB lines 17 - 86 (This will remove indents) # driver = webdriver.Chrome(str(CONFIG_PATH / 'chromedriver.exe')) ## Select Appropriate URL based on the Environment Value (env) # env = "UAT" baseURL = Environments_BICL.return_environments(env) driver.get(baseURL) driver.maximize_window() # Search for User Account time.sleep(5) # Login to Site lp = LoginPage(driver) # Verify if page loads (username_field should be clickable), if not, throw exception and take screenshot try: username_field = lp.Page_Elements().driver.find_element_by_id( "UserName") username_field.click() except NoSuchElementException: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise lp.login(username, password) lp.click_login_button() time.sleep(1) # Take screenshot, save to utilities/test_results/screenshots screenshot_1 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_1" + "_" + control_point_1 + "_" + time_stamp + ".png" saved_screenshot_location_1 = str(screenshot_directory / screenshot_1) driver.get_screenshot_as_file(saved_screenshot_location_1) dp = default_page(driver) # Timeout method for page to load, timeout set to 30 seconds try: driver.set_page_load_timeout(30) except: screenshot_name = "FAIL" + "_" + test_case_ID + "_" + browser + "_" + env + "_" + time_stamp + ".png" saved_screenshot_location = str(screenshot_directory / screenshot_name) driver.get_screenshot_as_file(saved_screenshot_location) raise time.sleep(1) # Enter Account Number and click Search dp.enter_account_number_search(account_number) # increase timeout to 15 time.sleep(20) mdp = MYCL_default_page(driver) # Click User Drop Down / Client Link, Redirect to Client Link Site # Click Menu Hamburger mdp.click_hamburger_menu() time.sleep(5) hm = hamburger_menu(driver) hm.click_client_link() # set to 10 or above time.sleep(10) # Navigate to Gains & Loss / Unrealized Summary # Verify text exists in Price Column current_url = driver.current_url slashparts = current_url.split('/') bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string screen_to_navigate_to_1 = "gains_loss_unrealized_summary" screen_1 = Screens.return_screens(screen_to_navigate_to_1) driver.get(nav_url + screen_1) # Set timeout to 25 time.sleep(30) glus = gain_loss_unrealized_summary(driver) time.sleep(1) glus.verify_values_display_in_Price_Column(test_case_ID, browser, env, time_stamp) time.sleep(1) # Take screenshot, save to utilities/test_results/screenshots screenshot_2 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_2" + "_" + control_point_2 + "_" + time_stamp + ".png" saved_screenshot_location_2 = str(screenshot_directory / screenshot_2) driver.get_screenshot_as_file(saved_screenshot_location_2) # Navigate to Gains & Loss / Unrealized Detail # Verify text exists in Price Column bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string screen_to_navigate_to_2 = "gains_loss_unrealized_detail" screen_2 = Screens.return_screens(screen_to_navigate_to_2) driver.get(nav_url + screen_2) time.sleep(25) glud = gain_loss_unrealized_detail(driver) glud.verify_values_display_in_Price_Column(test_case_ID, browser, env, time_stamp) # Take screenshot, save to utilities/test_results/screenshots screenshot_3 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_3" + "_" + control_point_3 + "_" + time_stamp + ".png" saved_screenshot_location_3 = str(screenshot_directory / screenshot_3) driver.get_screenshot_as_file(saved_screenshot_location_3) # Navigate to Account / Positions # Verify text exists in Price Column bbu = build_base_url() home_index_string = bbu.return_home_index_string() nav_url = '/'.join(slashparts[:3]) + '/' + home_index_string screen_to_navigate_to_3 = "account_positions" screen_3 = Screens.return_screens(screen_to_navigate_to_3) driver.get(nav_url + screen_3) time.sleep(25) ap = positions(driver) ap.verify_values_display_in_Price_Column(test_case_ID, browser, env, time_stamp) # Take screenshot, save to utilities/test_results/screenshots screenshot_4 = test_case_ID + "_" + browser + "_" + env + "_" + "screenshot_4" + "_" + control_point_4 + "_" + time_stamp + ".png" saved_screenshot_location_4 = str(screenshot_directory / screenshot_4) driver.get_screenshot_as_file(saved_screenshot_location_4) time.sleep(1) # Logout # Click User Drop Down (on MYCL Default Page) mdp = MYCL_default_page(driver) mdp.click_user_drop_down() time.sleep(2) # Click Logout mudd = MYCL_user_drop_down(driver) mudd.click_logout() time.sleep(1) driver.quit()