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_consumer_journey(self): # project_name = self.configAB["Conceptual"]["project_name"] home_page = HomePage(self.webdriver, self.config) home_page.searchProjects('Argentina 07-08') project_page = ProjectPage(self.webdriver, self.config) aud_list = self.webdriver.find_elements_by_xpath( "//div[contains(@class ,'audience-title')]") for aud in aud_list: audience_name = str(aud.text) try: project_page.audience_menu_icon(audience_name).click() project_page.audience_share_icon(audience_name).click() project_page.ConsumerJourney(audience_name) except Exception as e: print(audience_name, e)
def test_tradedesk_rate_card(self): section = self.__class__.__name__ project_name = self.configAB["cpm_rate"]["project_name"] audience_name = self.configAB["cpm_rate"]["audience_name"] #Click on Tradedesk home_page = HomePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page = ProjectPage(self.webdriver, self.config) project_page.audience_menu_icon(audience_name).click() project_page.audience_share_icon(audience_name).click() self.webdriver.find_element_by_xpath( "//*[text()='" + audience_name + "']//following::div[contains(@class ,distribute-dd-menu)]/div[contains(text(),'Trade Desk')]" ).click() rate = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.XPATH, "//table[@class='rate-card-table']/tbody/tr/th/span"))).text self.assertEqual(rate, "$1.05", "Trade desk Ratecard Incorrect")
def test_distribution_disable_feature(self): section = self.__class__.__name__ project_name = self.configAB[section]["project_name"] audience_name = self.configAB[section]["audience_name"] home_page = HomePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page = ProjectPage(self.webdriver, self.config) project_page.audience_menu_icon(audience_name).click() project_page.audience_share_icon(audience_name).click() ele = self.webdriver.find_element_by_xpath( "//*[text()='" + audience_name + "']//following::div[contains(@class ,distribute-dd-menu)]/div[contains(text(),'Consumer Journey')]" ) text = ele.get_attribute('class') print(text) CI_text = self.webdriver.find_element_by_xpath( "//*[text()='" + audience_name + "']//following::div[contains(@class ,distribute-dd-menu)]/div[contains(text(),'Content Inspiration')]" ).get_attribute('class') print(CI_text)
def test_content_inspiration(self): project_name = self.configAB["Conceptual"]["project_name"] home_page = HomePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page = ProjectPage(self.webdriver, self.config) aud_list = self.webdriver.find_elements_by_xpath( "//div[contains(@class ,'audience-title')]") for aud in aud_list: audience_name = str(aud.text) try: project_page.audience_menu_icon(audience_name).click() project_page.audience_share_icon(audience_name).click() project_page.ContentInspiration(audience_name) except Exception as e: print(audience_name, e) aud_name = [] individual_count = [] aud_list = self.webdriver.find_elements_by_xpath( "//div[contains(@class ,'audience-title')]") for aud in aud_list: name = str(aud.text) aud_name.append(name) aud_list = self.webdriver.find_elements_by_xpath( "//div[contains(@class ,'audience-title')]/following::div[@class='audience-info-item'][1]/div" ) for aud in aud_list: count = str(aud.text) individual_count.append(count) df = pd.DataFrame() df['aud_names'] = aud_name df['individual_count'] = individual_count print(df)
def test_distribution_icon_disabled(self): section = self.__class__.__name__ project_name = self.configAB[section]["project_name"] audience_name = self.configAB[section]["audience_name"] home_page = HomePage(self.webdriver, self.config) project_page = ProjectPage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page.AudienceName(audience_name).click() distribution_icon = project_page.audience_share_icon(audience_name) if distribution_icon.is_enabled(): print("Distribution Icon is disabled") else: print("Distribution Icon is not disabled")
def test_verify_activation_rate_and_CPM_value(self): section = self.__class__.__name__ project_name = self.configAB["cpm_rate"]["project_name"] audience_name = self.configAB["cpm_rate"]["audience_name"] home_page = HomePage(self.webdriver, self.config) project_page = ProjectPage(self.webdriver, self.config) audience_page = AudiencePage(self.webdriver, self.config) home_page.searchProjects(project_name) project_page.audience_menu_icon(audience_name).click() project_page.audience_share_icon(audience_name).click() self.webdriver.find_element_by_xpath( "//*[text()='" + audience_name + "']//following::div[contains(@class ,distribute-dd-menu)]/div[contains(text(),'Trade Desk')]" ).click() CPM_rate = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.XPATH, "//table[@class='rate-card-table']/tbody/tr/th/span"))).text print(CPM_rate) self.webdriver.find_element_by_xpath( "//button[contains(@ng-click,'btn.onClick()')]//following::span[text()='Cancel']" ).click() project_page.audience_menu_icon(audience_name).click() project_page.audienceEditIcon(audience_name) activation_rate = WebDriverWait(self.webdriver, 50).until( EC.visibility_of_element_located( (By.XPATH, "//span[contains(@class,'cost')]"))).text print(activation_rate) self.assertEqual(activation_rate, CPM_rate, 'Activation rate & CPM rate is not same') audience_page.aud_back_arrow().click()