def test_compare_trigger_disabled(self): new_project_name = self.configAB["CreateProject"]["new_project_name"] data_env = self.configAB["CreateProject"]["data_env"] home_page = HomePage(self.webdriver, self.config) home_page.searchProjects(new_project_name) string = my_random_string(3) new_project_name = new_project_name + string proj_page = ProjectPage(self.webdriver, self.config) proj_page.createProject(new_project_name, data_env) element = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.CSS_SELECTOR, ".compare-trigger"))) trigger = element.get_attribute("class") tooltip = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.XPATH, "//abbr"))).get_attribute("title") self.assertEqual(trigger, "compare-trigger disabled", "Compare trigger is not disabled") self.assertEqual( tooltip, "Compare feature available when you have at least two audiences.", "Compare trigger tooltip incorrect") proj_page.deleteProject(new_project_name)
def test_create_audience(self): project_name = self.configAB["Lotame_Viz"]["project_name"] path = os.path.join('testdata', 'sidebar.json') print("location:" + path) proj_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) home_page = HomePage(self.webdriver, self.config) with open(path) as file: data = json.load(file) for item in range(len(data)): link = data[item]["link"] #Project Creation new_project_name = project_name + '_' + link print(new_project_name) proj_page.createProject(new_project_name, link) sleep(10) #Audience Creation proj_page.add_audience_button().click() sleep(5) audience_page.audience_name_textbox().send_keys('Any Travel') audience_page.add_dataSource('Advanced Audience Data') source = self.webdriver.find_element_by_xpath( "//div[contains(@class,'header-label ng-binding ui-draggable-handle') and contains(text(),'Advanced Audience Data Criteria')]" ) target = self.webdriver.find_element_by_xpath( "//div[contains(@class, 'criteria-panel-header') and contains(text(),'Define Your Audience')]" ) mouse = ActionChains(self.webdriver) mouse.drag_and_drop(source, target).perform() audience_page.create_advanced_audience_data_criteria( 'Purchase History', 'Travel', 'Travel', 'Any Air Travel') audience_page.add_criteria_plusicon().click() audience_page.create_advanced_audience_data_criteria( 'Affinity Audiences', 'Travel', 'Travel', 'Any Travel') sleep(5) self.webdriver.find_element_by_xpath( "//div[contains(@class ,'text ng-binding') and contains(@ng-bind,'i.value')]" ).click() sleep(5) self.webdriver.find_element_by_xpath( "//div[contains(@class ,'ng-binding ng-scope') and contains(text(),'OR')]" ).click() audience_page.save_and_create_button().click() sleep(10) # Navigating to home screen self.webdriver.switch_to_default_content() home_page.lbl_Audience_Explorer_omni().click() sleep(10) iframe = self.webdriver.find_elements_by_tag_name('iframe')[0] self.webdriver.switch_to.frame(iframe) new_project_name = project_name
def test_create_public_project_on_project_page(self): project_name = self.configAB["CreateProject"]["project_name"] data_env = self.configAB["CreateProject"]["data_env"] home_page = HomePage(self.webdriver, self.config) proj_page = ProjectPage(self.webdriver, self.config) home_page.searchProjects(project_name) string = my_random_string(3) new_project_name = project_name + string project_name = proj_page.createProject(new_project_name, data_env) self.assertEqual(project_name,new_project_name,"Project creation failed") # self.webdriver.quit() # self.webdriver = webdriver.Chrome() # # self.webdriver.maximize_window() # self.webdriver.get(self.omni_url) # # login_page = LoginPage(self.webdriver, self.config) # login_page.login(shared_userid, shared_pwd) # # sleep(5) # home_page = HomePage(self.webdriver, self.config) # home_page.openSideBar() # 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 = HomePage(self.webdriver, self.config) # home_page.searchProjects(new_project_name) proj_page.deleteProject(new_project_name)
def test_compare_trigger_disabled_single_audience(self): new_project_name = self.configAB["CreateProject"]["new_project_name"] data_env = self.configAB["CreateProject"]["data_env"] home_page = HomePage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) proj_page = ProjectPage(self.webdriver, self.config) home_page.searchProjects(new_project_name) string = my_random_string(3) new_project_name = new_project_name + string proj_page.createProject(new_project_name, data_env) sleep(10) proj_page.add_audience_button().click() sleep(10) 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) sleep(5) audience_page.save_audience_button().click() element = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.CSS_SELECTOR, ".compare-trigger"))) trigger = element.get_attribute("class") self.assertEqual(trigger, "compare-trigger disabled", "Compare trigger is not disabled") proj_page.deleteProject(new_project_name)