コード例 #1
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()
    def test_save_and_create_disable(self):
        project_name = self.configAB["CreateAudience"]["project_name"]

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

        proj_page = ProjectPage(self.webdriver, self.config)
        proj_page.add_audience_button().click()
        audience_name = 'Test Aud'+my_random_string(3)
        audience_page = AudiencePage(self.webdriver, self.config)
        audience_page.audience_name_textbox().send_keys(audience_name)
        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_and_create_button().click()
        sleep(5)
        proj_page.audience_menu_icon(audience_name).click()
        proj_page.audienceEditIcon(audience_name)
        sleep(30)
        status = audience_page.save_and_create_button().get_attribute('disabled')
        self.assertEqual(status,'true','save and create disable feature not working')
        self.webdriver.find_element_by_css_selector(".back").click()

        proj_page.audience_menu_icon(audience_name).click()
        proj_page.audience_delete_icon(audience_name).click()
        proj_page.AlertOkButton().click()
コード例 #3
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()
    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_private_project_on_project_page(self):
        project_name        = self.configAB["CreatePrivateProject"]["project_name"]
        objective           = self.configAB["CreatePrivateProject"]["objective"]
        data_env            = self.configAB["CreatePrivateProject"]["data_env"]

        home_page = HomePage(self.webdriver, self.config)
        home_page.searchProjects(project_name)
        string = my_random_string(3)
        new_project_name = project_name + string

        proj_page = ProjectPage(self.webdriver,self.config)
        project_name = proj_page.createPrivateProject(new_project_name, objective, data_env)
        self.assertEqual(new_project_name,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_html_capabilities_project_Search(self):
        new_project_name = self.configAB["html_capabilities_project_Search"]["project_name"]
        data_env         = self.configAB["html_capabilities_project_Search"]["data_env"]
        string           = my_random_string(3)
        for project in new_project_name.split(";"):
            proj = project + string
            home_page = HomePage(self.webdriver, self.config)
            proj_page = ProjectPage(self.webdriver, self.config)

            projectName = home_page.createProject(proj, data_env)

            self.assertEqual(projectName, proj, "Project with html tags not created")
            # sleep(5)
            # self.webdriver.refresh()
            # sleep(5)

            self.webdriver.back()

            self.webdriver.switch_to_default_content()
            proj_page.lbl_Audience_Explorer_omni().click()
            sleep(20)
            # 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.searchProjects(proj)
            sleep(10)
            proj_page.deleteProject(proj)
コード例 #7
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()
    def test_create_project_objective_field(self):
        new_project_name = self.configAB["CreatePrivateProject"]["new_project_name"]
        data_env = self.configAB["CreatePrivateProject"]["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)
        length = proj_page.verify_objective_field(new_project_name, data_env)
        self.assertEqual(length, 120, "Objective field length limit incorrect")
    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()
コード例 #10
0
    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)
 def test_public_project_other_user(self):
     rand = my_random_string(3)
     home_page = HomePage(self.webdriver, self.config)
     project_page = ProjectPage(self.webdriver, self.config)
     audience_page = AudiencePage(self.webdriver, self.config)
     project_name = 'Test Proj' + rand
     print ("This is the project name created " + project_name)
     home_page.createProject(project_name, 'NA - United States')
     sleep(10)
     self.webdriver.switch_to_default_content()
     # actions = ActionChains(self.webdriver)
     # actions.move_to_element(project_page.img_profile()).perform()
     home_page.img_profile().click()
     sleep(5)
     home_page.link_signout().click()
     sleep(15)
     login_page = LoginPage(self.webdriver, self.config)
     login_page.login('ADMINQA.test', 'Welcome@321')
     sleep(15)
     WebDriverWait(self.webdriver, 100).until(EC.visibility_of_element_located((By.XPATH, "//button[@class='header_nav_btn']"))).click()
     sleep(5)
     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.searchProjects(project_name)
     project_page.project_menu_icon(project_name).click()
     home_page.project_edit_icon(project_name).click()
     # project_page.AddObjective().send_keys("Test 123")
     project_page.AddObjective().clear()
     project_page.AddObjective().send_keys('Test run time objective')
     sleep(5)
     audience_page.icon_greentick_objective().click()
     sleep(3)
     project_page.project_menu_icon(project_name).click()
     project_page.project_delete_icon(project_name).click()
     sleep(3)
     project_page.AlertOkButton().click()
     sleep(5)