def test_unable_to_compare_audiences_of_different_projects(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name5 = self.configAB[section]["audience_name5"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        sleep(5)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        self.webdriver.find_element_by_xpath(
            "//div[@class='dropdown-arrow']").click()
        self.webdriver.find_element_by_xpath(
            "//*[@placeholder='Search for projects']").send_keys(
                "DNT_Aud_Auto_Proj012")
        self.webdriver.find_element_by_xpath(
            "//span[text()='DNT_Aud_Auto_Proj012']").click()
        sleep(15)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name5).click()
        compare = self.webdriver.find_element_by_xpath(
            "//text()[contains(.,'Compare')]/ancestor::div[1]")
        if compare.is_selected():
            print("Compare text is enabled")
        else:
            print("Compare text is disabled")
    def test_audience_compare_history_tab_disable(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(8)
        self.webdriver.find_element_by_xpath("//div[text()='Compare']").click()
        sleep(8)
        audiences_name = (WebDriverWait(self.webdriver, 50).until(
            EC.visibility_of_element_located(
                (By.CSS_SELECTOR, ".bar-chart-key-container.ng-scope")))).text
        sleep(5)
        try:
            project_page.HistoryTab().click()
            history_tab_not_found = False
        except:
            history_tab_not_found = True

        assert history_tab_not_found
    def test_audience_compare_button_enable(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)

        # AQA-458: Check all the audiences selected for comparison appears at Viz Canvas
        aud_names = (WebDriverWait(self.webdriver, 50).until(
            EC.visibility_of_element_located(
                (By.XPATH,
                 "//div[@class='bar-chart-key-container ng-scope']")))).text
        audiences_selected = audience_name1 + " " + audience_name2
        self.assertEqual(
            aud_names, audiences_selected,
            "audiences selected for comparison didn't appear at Viz Canvas")
    def test_filters_on_audience_compare(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        sleep(5)
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)
        project_page.view_filters_knob().click()
        project_page.select_datasource_visualization("Advanced Audience Data")
        project_page.select_category("Apparel")
        project_page.select_subcategory("Footwear")

        audiences_name = self.webdriver.find_element_by_css_selector(
            ".bar-chart-key-container.ng-scope").text
        # print(audiences_name)
        chart_title = audience_name1 + " " + audience_name2

        self.assertEqual(audiences_name, chart_title,
                         "Comparison chart title incorrect or loading error")
    def test_multiple_audience_compare_button_enable(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]
        audience_name3 = self.configAB[section]["audience_name3"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        project_page.AudienceCheckbox(audience_name3).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)
    def test_audience_checkbox_disable_after_selecting_third_audience(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]
        audience_name3 = self.configAB[section]["audience_name3"]
        audience_name4 = self.configAB[section]["audience_name4"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        project_page.AudienceCheckbox(audience_name3).click()
        sleep(10)
        check = (self.webdriver.find_element_by_xpath(
            "//div[contains(text(),'" + audience_name4 +
            "')]//parent::div//parent::div")).get_attribute('class')
        self.assertEqual(
            check, "audience-panel native-audience disabled",
            "Audience checkbox disable functionality not working.")
コード例 #7
0
    def test_download_multiple_existing_Audience(self):
        section = self.__class__.__name__
        project_name = self.configAB["DownloadMultipleAudience"][
            "project_name"]
        audience_name1 = self.configAB["DownloadMultipleAudience"][
            "audience_name1"]
        audience_name2 = self.configAB["DownloadMultipleAudience"][
            "audience_name2"]

        # Delete existing file in workspace
        path = self.workspace + "\\" + project_name + " - Audience Compare Export*.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.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        project_page.download_button().click()

        sleep(30)
        path1 = self.workspace + "\\" + project_name + " - Audience Compare Export.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(3, i))

            row_count = sheet.nrows
            print(Cols)
            self.assertEqual(
                excel_header,
                "Location Data for \"DNT_Auto_Aud02\" vs. \"DNT_Auto_Aud03\"",
                "Column header not matching")
    def test_compare_icon_disabled_for_audience_resultingin_zero_results(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.CompareTrigger().click()
        try:
            project_page.AudienceCheckbox(audience_name).click()
            print("Audience checkbox is enabled")

        except:
            print(
                "There are no people that match this criteria Please review and try building again.So, Audience checkbox is disabled"
            )
    def test_compare_icon_disabled_for_technically_build_error_audiences(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.CompareTrigger().click()
        try:
            project_page.AudienceCheckbox(audience_name).click()
            print("Audience checkbox is enabled")

        except:
            print(
                "We are experiencing technical difficulties building this audience.So, Audience checkbox is disabled"
            )
コード例 #10
0
    def test_compare_icon_disabled_for_saved_audience(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.CompareTrigger().click()
        try:
            project_page.AudienceCheckbox(audience_name).click()
            print("Audience checkbox is enabled")

        except:
            print(
                "This audience has not been built.So, Audience checkbox is disabled"
            )
    def test_compare_icon_disabled_for_audience_not_meeting_min_threshold(
            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.CompareTrigger().click()
        try:
            project_page.AudienceCheckbox(audience_name).click()
            print("Audience checkbox is enabled")

        except:
            print(
                "This audience is 18% of the minimum audience size Please review and try building again.So, Audience checkbox is disabled"
            )
コード例 #12
0
    def test_compare_chart_percent(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)
        unit = self.webdriver.find_element_by_xpath(
            "//div[@class='x-axis']/div[12]/span").text
        self.assertEqual(unit, "%", "X axis index values are inaccurate")
コード例 #13
0
    def test_comparebtn_disabled2(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name = self.configAB[section]["audience_name1"]
        data_source_name = self.configAB[section]["data_source_name"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        # project_page.DataSource(data_source_name).click()
        project_page.AudienceCheckbox(audience_name).click()
        check = "False"
        try:
            self.webdriver.find_element_by_xpath(
                "//div[contains(@class,'compare-btn-disabled')]")
        except Exception as e:
            check = "True"
        self.assertEqual(check, "False", "Compare button is disabled")
コード例 #14
0
    def test_data_source_visualization(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)
        project_page.view_filters_knob().click()
        try:
            project_page.select_datasource_visualization("Browsing Behavior")
            project_page.select_datasource_visualization("Purchase Behavior")
            project_page.select_datasource_visualization("Location Data")
        except:
            pass
コード例 #15
0
    def test_Clear_Selected_button(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]
        audience_name2 = self.configAB[section]["audience_name2"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.CompareTrigger().click()
        project_page.AudienceCheckbox(audience_name1).click()
        project_page.AudienceCheckbox(audience_name2).click()
        sleep(10)
        project_page.compare_button().click()
        sleep(10)

        check = self.webdriver.find_element_by_css_selector(
            ".clear-button").is_displayed()
        project_page.ClearSelectedButton().click()

        check = self.webdriver.find_element_by_css_selector(
            ".clear-button").is_displayed()
        self.assertEqual(check, False, "Clear button is disabled")