def test_download_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() download_icon = project_page.audience_download_icon('Test Audience') if download_icon.is_enabled(): print("Download Icon is disabled") else: print("Download 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_download_single_existing_audience(self): section = self.__class__.__name__ project_name = self.configAB["DownloadAudience"]["project_name"] audience_name = self.configAB["DownloadAudience"]["audience_name"] # Delete existing file in workspace path = self.workspace + "\\" + project_name + " - " + audience_name + ".xlsx" print(path) print(glob.glob(path)) for file in glob.glob(path): os.remove(file) home_page = HomePage(self.webdriver, self.config) home_page.searchProjects(project_name) # Download Audience project_page = ProjectPage(self.webdriver, self.config) project_page.audience_menu_icon(audience_name).click() project_page.audience_download_icon(audience_name).click() project_page.audience_data(audience_name).click() sleep(30) path1 = self.workspace + "\\" + project_name + " - " + audience_name + ".xlsx" check = os.path.exists(path1) self.assertEqual(check, True, "Audience download failed") for file in glob.glob(path1): excel_sheet = xlrd.open_workbook(file) sheet1 = excel_sheet.sheet_by_index(0) row = sheet1.row_slice(0) excel_header = row[0].value sheet = excel_sheet.sheet_by_index(0) Cols = "" for i in range(sheet1.ncols): Cols = Cols + str(sheet.cell_value(1, i)) print(excel_header) row_count = sheet.nrows print(Cols) self.assertEqual(excel_header, "Location Data for \"DNT_Auto_Aud02\"", "Column header not matching")
def test_download_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() # project_page.audience_menu_icon(audience_name).click() download_icon = project_page.audience_download_icon(audience_name) if download_icon.is_enabled(): print("Download Icon is disabled") else: print("Download Icon is not disabled")
def test_download_audiences(self): project_name = self.configAB["Aqfer"]["project_name"] path = os.path.join('testdata', 'sidebar.json') print("location:" + path) project_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 selection new_project_name = project_name + '_' + link + '_QA' print(new_project_name) sleep(5) home_page.searchProjects(new_project_name) sleep(10) num_aud_panel = len( self.webdriver.find_elements_by_xpath( "//div[@class = 'audiences-section']//audience-panel")) print(num_aud_panel) for i in range(1, num_aud_panel + 1): audience_name = self.webdriver.find_element_by_xpath( "(//div[@class = 'audience-title ng-binding'])[position()=" + str(i) + "]").click() # download_link = self.webdriver.find_element_by_xpath("(//div[@class = 'audiences-section']//div[contains(@class,'download-button')])[position()= "+str(i)+"]") # download_link.click() # audience_menu_icon = self.webdriver.find_element_by_xpath("//div[text()='" + audience_name + "']//following::div[1]") self.webdriver.execute_script( "arguments[0].click();", project_page.audience_menu_icon(audience_name)) self.webdriver.execute_script( "arguments[0].click();", project_page.audience_download_icon(audience_name)) self.webdriver.execute_script( "arguments[0].click();", project_page.audience_data(audience_name))