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)