def test_error_message_at_viz_canvas(self): rand = my_random_string(3) home_page = HomePage(self.webdriver, self.config) home_page.createProject('Test Proj' + rand, 'NA - United States') sleep(10) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) project_page.add_audience_button().click() sleep(5) audience_page.audience_name_textbox().send_keys('Test Audience') audience_page.add_dataSource('Purchase Behavior') self.webdriver.find_element_by_xpath("//select[contains(@ng-model,'criteriaColumnSelector')]").click() self.webdriver.find_element_by_xpath("//option[text()='Category']").click() self.webdriver.find_element_by_xpath("//input[@placeholder='Begin typing to search...']").click() self.webdriver.find_element_by_xpath("//li[contains(text(),'AIR FRESHENERS')]").click() criteria_createButton = self.webdriver.find_element_by_xpath( "//button[contains(@ng-click,'$ctrl.criteriaApply()') and (@class='red-btn')]") self.webdriver.execute_script("arguments[0].click();", criteria_createButton) # audience_page.criteria_createButton().click() sleep(5) audience_page.save_and_create_button().click() sleep(10) project_page.AudienceName('Test Audience').click() message = self.webdriver.find_element_by_xpath("//div[@class='spinner-wrapper']//following::p[1]").text self.assertEqual(message,"Your audience is being built.","Incorrect message is getting displayed at Viz Canvas") project_page.project_menu_icon('Test Proj' + rand).click() project_page.project_delete_icon('Test Proj' + rand).click() project_page.AlertOkButton().click()
def test_distribution_icon_disabled(self): rand = my_random_string(3) home_page = HomePage(self.webdriver, self.config) home_page.createProject('Test Proj' + rand, 'NA - United States') sleep(10) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) project_page.add_audience_button().click() sleep(5) audience_page.audience_name_textbox().send_keys('Test Audience') audience_page.add_dataSource('Purchase Behavior') self.webdriver.find_element_by_xpath("//select[contains(@ng-model,'criteriaColumnSelector')]").click() self.webdriver.find_element_by_xpath("//option[text()='Category']").click() self.webdriver.find_element_by_xpath("//input[@placeholder='Begin typing to search...']").click() self.webdriver.find_element_by_xpath("//li[contains(text(),'AIR FRESHENERS')]").click() criteria_createButton = self.webdriver.find_element_by_xpath( "//button[contains(@ng-click,'$ctrl.criteriaApply()') and (@class='red-btn')]") self.webdriver.execute_script("arguments[0].click();", criteria_createButton) # audience_page.criteria_createButton().click() sleep(5) audience_page.save_and_create_button().click() sleep(10) project_page.AudienceName('Test Audience').click() distribution_icon = project_page.audience_share_icon('Test Audience') if distribution_icon.is_enabled(): print("Distribution Icon is disabled") else: print("Distribution Icon is not disabled") project_page.project_menu_icon('Test Proj' + rand).click() project_page.project_delete_icon('Test Proj' + rand).click() project_page.AlertOkButton().click()
def test_tag_at_history_panel(self): rand = my_random_string(3) home_page = HomePage(self.webdriver, self.config) home_page.createProject('Test Proj' + rand, 'NA - United States') sleep(10) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) project_page.add_audience_button().click() sleep(5) audience_page.audience_name_textbox().send_keys('Test Audience') audience_page.add_dataSource('Purchase Behavior') self.webdriver.find_element_by_xpath( "//select[contains(@ng-model,'criteriaColumnSelector')]").click() self.webdriver.find_element_by_xpath( "//option[text()='Category']").click() self.webdriver.find_element_by_xpath( "//input[@placeholder='Begin typing to search...']").click() self.webdriver.find_element_by_xpath( "//li[contains(text(),'AIR FRESHENERS')]").click() criteria_createButton = self.webdriver.find_element_by_xpath( "//button[contains(@ng-click,'$ctrl.criteriaApply()') and (@class='red-btn')]" ) self.webdriver.execute_script("arguments[0].click();", criteria_createButton) # audience_page.criteria_createButton().click() sleep(5) audience_page.save_audience_button().click() sleep(10) project_page.AudienceName('Test Audience').click() project_page.HistoryTab().click() sleep(10) tag = self.webdriver.find_element_by_xpath( "//audience-history-list/ul/li/audience-history-item/ul[1]/li[2]" ).text now = datetime.datetime.now() todays_date = now.strftime("%b %d, %Y").replace(' 0', ' ') date = self.webdriver.find_element_by_xpath( "//audience-history-list/ul/li/audience-history-item/ul[1]/li[3]" ).text # Verify today's time with log time time = self.webdriver.find_element_by_xpath( "//audience-history-list/ul/li/audience-history-item/ul[1]/li[4]" ).text tag_time_value = int(time[:-3].replace(":", "")) curr_time_value = int(now.strftime("%I") + now.strftime("%M")) assert (curr_time_value - tag_time_value) < 45, 'Time displayed in log seems incorrect' self.assertEqual(date, todays_date, "created tag date incorrect") self.assertEqual(tag, "Created", "created tag incorrect") project_page.project_menu_icon('Test Proj' + rand).click() project_page.project_delete_icon('Test Proj' + rand).click() project_page.AlertOkButton().click()
def test_project_searchable_admin_page_export(self): project_name = self.configAB["check_admin_import"]["project_name"] project_objective = self.configAB["check_admin_import"]["objective"] home_page = HomePage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page = ProjectPage(self.webdriver, self.config) project_page.project_menu_icon(project_name).click() home_page.project_edit_icon(project_name).click() project_page.AddObjective().clear() sleep(3) audience_page.icon_greentick_objective().click() sleep(5) self.webdriver.switch_to_default_content() home_page.lbl_Audience_Explorer_omni().click() sleep(20) iframe = self.webdriver.find_elements_by_tag_name('iframe')[0] self.webdriver.switch_to.frame(iframe) home_page.cog_button().click() sleep(10) home_page.chk_admin_audience_setting().click() sleep(5) home_page.drp_admin_project().click() sleep(10) self.webdriver.find_element_by_xpath("//option[text()='" + project_name + "']").click() home_page.drp_admin_project().click() self.webdriver.switch_to_default_content() home_page.lbl_Audience_Explorer_omni().click() iframe = self.webdriver.find_elements_by_tag_name('iframe')[0] self.webdriver.switch_to.frame(iframe) sleep(10) home_page.searchProjects(project_name) project_page.project_menu_icon(project_name).click() home_page.project_edit_icon(project_name).click() project_page.AddObjective().send_keys(project_objective) sleep(5) audience_page.icon_greentick_objective().click() sleep(5) self.webdriver.switch_to_default_content() home_page.lbl_Audience_Explorer_omni().click() sleep(20) iframe = self.webdriver.find_elements_by_tag_name('iframe')[0] self.webdriver.switch_to.frame(iframe) home_page.cog_button().click() sleep(10) home_page.chk_admin_audience_setting().click() sleep(5) home_page.drp_admin_project().click() sleep(10) self.webdriver.find_element_by_xpath("//option[text()='" + project_name + "']").click() home_page.drp_admin_project().click()
def test_project_objective_field(self): project_name = self.configAB["Objective_Field_Test"]["project_name"] project_objective = self.configAB["Objective_Field_Test"]["objective"] # data_env = self.configAB["CreatePrivateProject"]["data_env"] home_page = HomePage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page = ProjectPage(self.webdriver, self.config) project_page.project_menu_icon(project_name).click() home_page.project_edit_icon(project_name).click() # project_page.AddObjective().send_keys("Test 123") project_page.AddObjective().send_keys(project_objective) audience_page.icon_cross_objective().click() project_page.project_menu_icon(project_name).click() home_page.project_edit_icon(project_name).click() Prefilled_objective = audience_page.lbl_project_objective().text print("This is the prefilled value of objective " + Prefilled_objective)
def test_audience_history_tag_title(self): rand = my_random_string(3) home_page = HomePage(self.webdriver, self.config) home_page.createProject('Test Proj' + rand, 'NA - United States') sleep(10) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) project_page.add_audience_button().click() audience_page.audience_name_textbox().send_keys('Test Audience') audience_page.add_dataSource('Purchase Behavior') self.webdriver.find_element_by_xpath( "//select[contains(@ng-model,'criteriaColumnSelector')]").click() self.webdriver.find_element_by_xpath( "//option[text()='Category']").click() self.webdriver.find_element_by_xpath( "//input[@placeholder='Begin typing to search...']").click() self.webdriver.find_element_by_xpath( "//li[contains(text(),'AIR FRESHENERS')]").click() criteria_createButton = self.webdriver.find_element_by_xpath( "//button[contains(@ng-click,'$ctrl.criteriaApply()') and (@class='red-btn')]" ) self.webdriver.execute_script("arguments[0].click();", criteria_createButton) # audience_page.criteria_createButton().click() sleep(5) audience_page.save_audience_button().click() sleep(10) project_page = ProjectPage(self.webdriver, self.config) project_page.AudienceName('Test Audience').click() project_page.HistoryTab().click() project_page.close_history().click() sleep(5) project_page.HistoryTab().click() list = self.webdriver.find_elements_by_xpath( "//audience-history-list/ul/li/audience-history-item/ul/li[1]") for item in list: assert item.text == 'Test Audience' project_page.project_menu_icon('Test Proj' + rand).click() project_page.project_delete_icon('Test Proj' + rand).click() project_page.AlertOkButton().click()
def test_public_project_other_user(self): rand = my_random_string(3) home_page = HomePage(self.webdriver, self.config) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) project_name = 'Test Proj' + rand print ("This is the project name created " + project_name) home_page.createProject(project_name, 'NA - United States') sleep(10) self.webdriver.switch_to_default_content() # actions = ActionChains(self.webdriver) # actions.move_to_element(project_page.img_profile()).perform() home_page.img_profile().click() sleep(5) home_page.link_signout().click() sleep(15) login_page = LoginPage(self.webdriver, self.config) login_page.login('ADMINQA.test', 'Welcome@321') sleep(15) WebDriverWait(self.webdriver, 100).until(EC.visibility_of_element_located((By.XPATH, "//button[@class='header_nav_btn']"))).click() sleep(5) WebDriverWait(self.webdriver, 100).until(EC.visibility_of_element_located((By.XPATH, "//span[text()='Audience Explorer (Omni)']"))).click() sleep(5) iframe = self.webdriver.find_elements_by_tag_name('iframe')[0] self.webdriver.switch_to.frame(iframe) home_page.searchProjects(project_name) project_page.project_menu_icon(project_name).click() home_page.project_edit_icon(project_name).click() # project_page.AddObjective().send_keys("Test 123") project_page.AddObjective().clear() project_page.AddObjective().send_keys('Test run time objective') sleep(5) audience_page.icon_greentick_objective().click() sleep(3) project_page.project_menu_icon(project_name).click() project_page.project_delete_icon(project_name).click() sleep(3) project_page.AlertOkButton().click() sleep(5)