Exemplo n.º 1
0
    def test_infoviz_getting_displayed_after_editing(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name = self.configAB[section]["audience_name"]
        new_audience_name = self.configAB[section]["new_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.AudienceName(audience_name).click()
        project_page.audience_menu_icon(audience_name).click()
        project_page.audienceEditIcon(audience_name)
        audience_page.audience_rename(new_audience_name)
        sleep(10)
        Info_Viz = self.webdriver.find_element_by_xpath("//div[contains(@id,'dataVisualizations')]")
        # info_Viz_Icon = self.webdriver.find_element_by_xpath("//button[contains(@ng-click,'$ctrl.selectChartType(1)')]")
        if Info_Viz.is_displayed():
            print("Infoviz is getting displayed")
        else:
            print("Infoviz is not getting displayed")

        # renaming to original one
        project_page.AudienceName(new_audience_name).click()
        project_page.audience_menu_icon(new_audience_name).click()
        project_page.audienceEditIcon(new_audience_name)
        audience_page.audience_rename(audience_name)
Exemplo n.º 2
0
    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()
Exemplo n.º 3
0
    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()
Exemplo n.º 4
0
    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()
Exemplo n.º 5
0
    def test_existingAudience_rename(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name = self.configAB[section]["audience_name"]
        new_audience_name = self.configAB[section]["new_audience_name"]

        home_page = HomePage(self.webdriver, self.config)
        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.searchProjects(project_name)

        project_page = ProjectPage(self.webdriver, self.config)
        try:
            project_page.audience_menu_icon(audience_name).click()
            project_page.audienceEditIcon(audience_name)

            audience_page = AudiencePage(self.webdriver, self.config)
            audience_page.audience_rename(new_audience_name)

            project_page.AudienceName(new_audience_name).click()

            #again renaming it back to original
            project_page.audience_menu_icon(new_audience_name).click()
            project_page.audienceEditIcon(new_audience_name)

            audience_page = AudiencePage(self.webdriver, self.config)
            audience_page.audience_rename(audience_name)

            project_page.AudienceName(audience_name).click()
        except:
            project_page.audience_menu_icon(new_audience_name).click()
            project_page.audienceEditIcon(new_audience_name)

            audience_page = AudiencePage(self.webdriver, self.config)
            audience_page.audience_rename(audience_name)

            project_page.AudienceName(audience_name).click()
    def test_audience_tile_color(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()
        color = project_page.verifyAudienceBackgroundColor(audience_name)

        self.assertEqual(color, "rgba(254, 216, 130, 1)",
                         "Background Color for Audience tile is wrong")
    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_error_message_at_viz_canvas(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()
        message = self.webdriver.find_element_by_xpath(
            "//div[@class='spinner-wrapper']//following::p[1]").text
        self.assertEqual(
            message,
            "We are experiencing technical difficulties building this audience. Please try again later or contact support at omnisupport.annalect.com.",
            "Incorrect message is getting displayed at Viz Canvas")
Exemplo n.º 9
0
    def test_error_message_at_viz_canvas(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()
        message = self.webdriver.find_element_by_xpath(
            "//div[@class='spinner-wrapper']//following::p[1]").text
        self.assertEqual(
            message,
            "This audience has not been built. To build your audience, go to criteria builder and click Save and Create.",
            "Incorrect message is getting displayed at Viz Canvas")
    def test_error_message_at_viz_canvas(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()
        message = self.webdriver.find_element_by_xpath(
            "//div[@class='spinner-wrapper']//following::p[1]").text
        self.assertEqual(
            message,
            "There are no people that match this criteria. Please review and try building again. You can also reference our Audience Explorer FAQs.",
            "Incorrect message is getting displayed at Viz Canvas")
Exemplo n.º 11
0
    def test_barchart_icon_existing_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)
        project_page = ProjectPage(self.webdriver, self.config)

        home_page.searchProjects(project_name)
        project_page.AudienceName(audience_name).click()

        bar_chart_Icon = self.webdriver.find_element_by_xpath("//button[contains(@ng-attr-title,'Bar Chart')]")
        bar_chart_title = bar_chart_Icon.get_attribute("title")
        print(bar_chart_title)
        ActionChains(self.webdriver).move_to_element(bar_chart_Icon).perform()
        self.assertEqual("Bar Chart", bar_chart_title)
Exemplo n.º 12
0
    def test_compare_icon_not_visible_when_on_infoviz(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()

        compare_icon = self.webdriver.find_element_by_css_selector('.compare-trigger')
        if compare_icon.is_displayed():
            print("Compare Icon is visible")
        else:
            print("Compare Icon is not visible")
    def test_viz_icon_displayed(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()

        Viz_Icon = self.webdriver.find_element_by_xpath(
            "//div[@class ='btn-group btn-chart-type']")
        if Viz_Icon.is_displayed():
            print("Viz Icons are getting displayed")
        else:
            print("Viz Icons are not getting displayed")
Exemplo n.º 14
0
    def test_infoviz_default_view(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()
        sleep(10)
        Info_Viz = self.webdriver.find_element_by_xpath("//div[contains(@id,'dataVisualizations')]")
        # info_Viz_Icon = self.webdriver.find_element_by_xpath("//button[contains(@ng-click,'$ctrl.selectChartType(1)')]")
        if Info_Viz.is_displayed():
            print("Infoviz is getting displayed")
        else:
            print("Infoviz is not getting displayed")
Exemplo n.º 15
0
    def test_infoviz_icon_existing_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)
        project_page = ProjectPage(self.webdriver, self.config)

        home_page.searchProjects(project_name)
        sleep(15)
        project_page.AudienceName(audience_name).click()

        info_Viz_Icon = self.webdriver.find_element_by_xpath("//button[contains(@ng-attr-title,'Audience Profile')]")
        info_Viz_title = info_Viz_Icon.get_attribute("title")
        print(info_Viz_title)
        ActionChains(self.webdriver).move_to_element(info_Viz_Icon).perform()
        self.assertEqual("Audience Profile", info_Viz_title)
    def test_warning_icon_displaying_at_history_panel(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.HistoryTab().click()
        sleep(10)
        icon = self.webdriver.find_element_by_xpath(
            "//div[@class='icon-wrapper']/div[1]")
        if icon.is_enabled():
            print("Warning icon is present")
        else:
            print("Warning icon is not present")
Exemplo n.º 17
0
    def test_profile_insights_does_not_exist_for_NonUs(self):
        section = self.__class__.__name__
        project_name  = self.configAB[section]["project_non_us"]
        audience_name = self.configAB[section]["non_us_aud_name1"]

        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()

        try:
            info_Viz_Icon = self.webdriver.find_element_by_xpath("//button[contains(@ng-click,'$ctrl.selectChartType(1)')]")
            # info_Viz_title = info_Viz_Icon.get_attribute("title")
            info_Viz_Icon.is_displayed()
            print("info_Viz_title is enabled")
        except:
            print("info_Viz_title is disabled")
    def test_error_message_at_history_panel(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.HistoryTab().click()
        sleep(10)
        tag = self.webdriver.find_elements_by_xpath(
            "//audience-history-list/ul/li/audience-history-item/ul[1]/li[2]")
        message = tag[0].text
        self.assertEqual(
            message,
            "There are no people that match this criteria. Please re-visit criteria selections and try again.",
            "Incorrect message is getting displayed at History Panel")
    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_filters_single_audience(self):
        section = self.__class__.__name__
        project_name = self.configAB[section]["project_name"]
        audience_name1 = self.configAB[section]["audience_name1"]

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

        project_page = ProjectPage(self.webdriver, self.config)
        project_page.AudienceName(audience_name1).click()
        project_page.bubble_Chart_Icon().click()
        sleep(5)
        project_page.view_filters_knob().click()
        project_page.select_datasource_visualization("Purchase Behavior")
        project_page.select_category("AIR FRESHENERS")
        # project_page.select_subcategory("Resources")

        audience_name = self.webdriver.find_element_by_xpath(
            "//div[@class='audience-name-label-normal']").text
        # print(audience_name)
        self.assertEqual(audience_name, audience_name1,
                         "Comparison chart title incorrect or loading error")