def testFindSolution(self): self.driver.get(FIND) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(23, 166, 255, 1)', browser_name) else: verifySubNavigation(self, u'rgb(23, 166, 255)', browser_name)
def testLeadTeam(self): self.driver.get(LEAD) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(255, 93, 21, 1)', browser_name) else: verifySubNavigation(self, u'rgb(255, 93, 21)', browser_name)
def testBuildCareer(self): self.driver.get(BUILD) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(0, 205, 183, 1)', browser_name) else: verifySubNavigation(self, u'rgb(0, 205, 183)', browser_name)
def testGrowBusiness(self): self.driver.get(GROW) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(205, 0, 93, 1)', browser_name) else: verifySubNavigation(self, u'rgb(205, 0, 93)', browser_name)
def testArticle(self): self.driver.get(ARTICLE) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(205, 0, 93, 1)', browser_name) else: verifySubNavigation(self, u'rgb(205, 0, 93)', browser_name)
def setUp(self): # profile = webdriver.FirefoxProfile('C:\\Users\\shizuleuski\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\dfyhvard.default') browser_name = env_util.get_browser() if (browser_name == 'headless'): options = webdriver.ChromeOptions() options.add_argument('headless') self.driver = webdriver.Chrome( executable_path=HEADLESS_CHROME_PATH, chrome_options=options) elif (browser_name == "chrome"): self.driver = webdriver.Chrome(CHROME_PATH) elif (browser_name == "chrome_beta"): options = webdriver.ChromeOptions() options.binary_location = CHROME_BETA_BINARY self.driver = webdriver.Chrome(executable_path=CHROME_PATH, chrome_options=options) elif (browser_name == "firefox"): firefox_capabilities = DesiredCapabilities.FIREFOX firefox_capabilities['marionette'] = True self.driver = webdriver.Firefox(capabilities=firefox_capabilities, executable_path=FF_PATH) elif (browser_name == "safari"): self.driver = webdriver.Safari() elif (browser_name == "edge"): self.driver = webdriver.Edge(EDGE_PATH) self.driver.implicitly_wait(10) self.driver.set_page_load_timeout(90) self.driver.maximize_window() self.driver.switch_to self.browser_name = browser_name
def testStartBusinessBestPick(self): self.driver.get(START_BEST) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(23, 166, 255, 1)', browser_name) else: verifySubNavigation(self, u'rgb(23, 166, 255)', browser_name)
def testStartBusinessArticle(self): self.driver.get(START_ARTICLE) browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): verifySubNavigation(self, u'rgba(0, 83, 186, 1)', browser_name) else: verifySubNavigation(self, u'rgb(0, 83, 186)', browser_name)
def testSubNavigation(self): sub_nav_bar = self.driver.find_element_by_css_selector('.altNav.unit') # nav_link_bar_part = self.driver.find_element_by_css_selector('.altNavList.line.bg5') self.assertTrue(sub_nav_bar.is_displayed(), 'sub navigation bar is not displayed') nav_links = self.driver.find_elements_by_css_selector( '.altNavList.line.mqMedOff .subItem>a') for link in nav_links: self.assertTrue(link.is_displayed(), 'sub nav link is not displayed') sub_nav = self.driver.find_element_by_css_selector('.wrap.altNavLiner') # nav_link_color = nav_link_bar_part.value_of_css_property('background-color') sub_nav_color = sub_nav.value_of_css_property('background-color') sub_nav_bar_color = sub_nav_bar.value_of_css_property( 'background-color') self.assertEquals( sub_nav_color, sub_nav_bar_color, 'nav bar color and color behind nav links do not match') browser_name = env_util.get_browser() if ("chrome" or "headless" in browser_name): expected_color = u'rgba(23, 166, 255, 1)' else: expected_color = u'rgb(23, 166, 255)' self.assertEqual(sub_nav_color, expected_color, 'color is not correct') side_ads_css = '#ctMedia' if (webdriver_util.is_element_present(self.driver, side_ads_css)): if ("chrome" or "headless" in browser_name): expected_color = u'rgba(0, 0, 0, 0)' else: expected_color = u'rgba(0, 0, 0)' self.assertEquals(sub_nav_bar_color, expected_color, ' Nav bar is covering background/side ads')
def setUpClass(cls): super(TestCore, cls).setUpClass() # profile = webdriver.FirefoxProfile('C:\\Users\\shizuleuski\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\dfyhvard.default') browser_name = env_util.get_browser() if (browser_name == 'chrome'): options = webdriver.ChromeOptions() options.add_argument('chrome') TestCore.driver = webdriver.Chrome(executable_path=CHROME_PATH, chrome_options=options) TestCore.driver.set_window_size(1280, 800) elif (browser_name == "chrome"): TestCore.driver = webdriver.Chrome(CHROME_PATH) elif (browser_name == "chrome_beta"): options = webdriver.ChromeOptions() options.binary_location = CHROME_BETA_BINARY TestCore.driver = webdriver.Chrome(executable_path=CHROME_PATH, chrome_options=options) elif (browser_name == "firefox"): firefox_capabilities = DesiredCapabilities.FIREFOX firefox_capabilities['marionette'] = True TestCore.driver = webdriver.Firefox( capabilities=firefox_capabilities, executable_path=FF_PATH) elif (browser_name == "safari"): TestCore.driver = webdriver.Safari() elif (browser_name == "edge"): TestCore.driver = webdriver.Edge(EDGE_PATH) TestCore.driver.implicitly_wait(10) TestCore.driver.set_page_load_timeout(90) TestCore.driver.maximize_window() TestCore.driver.switch_to
def testSubNavigation(self): sub_nav_bar = self.driver.find_element_by_css_selector('.altNav.unit') if ('2389-jobs-travel-lovers.html' not in self.driver.current_url): # nav_link_bar_part = self.driver.find_element_by_css_selector('.altNavList.line.altNavList:not(.h)') self.assertTrue(sub_nav_bar.is_displayed(), 'sub navigation bar is not displayed') sub_nav = self.driver.find_element_by_css_selector('.wrap.altNavLiner') # nav_link_color = nav_link_bar_part.value_of_css_property('background-color') sub_nav_color = sub_nav.value_of_css_property('background-color') sub_nav_bar_color = sub_nav_bar.value_of_css_property('background-color') # print nav_link_color # print sub_nav_color self.assertEquals(sub_nav_color, sub_nav_bar_color, 'nav bar color and color behind nav links do not match') browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): expected_color = u'rgba(0, 83, 186, 1)' else: expected_color = u'rgb(0, 83, 186)' self.assertEqual(sub_nav_color, expected_color, 'color is not correct') side_ads_css = '#ctMedia' if(webdriver_util.is_element_present(self.driver, side_ads_css)): if("chrome" or "headless" in browser_name): expected_color = u'rgba(0, 0, 0, 0)' else: expected_color = u'rgba(0, 0, 0)' self.assertEquals(sub_nav_bar_color, expected_color, ' Nav bar is covering background/side ads')
def testFooter(self): sub_menus = self.driver.find_elements_by_css_selector(".unit.netLinks") all_url = [] for sub_group in sub_menus: self.assertTrue(sub_group.is_displayed(), 'link group in footer is not displayed') column = [] url_category = sub_group.find_element_by_tag_name("a").get_attribute("href") column.append(url_category) list_of_li = sub_group.find_elements_by_css_selector(".netLink") for i in list_of_li: #line_url = i.get_attribute("href") line_text = i.text.strip() #column.append(line_url) column.append(line_text) all_url.append(column) #print "New", all_url self.assertEqual(all_url, FOOTER, "Footer has been changed. URLs or Text changed") fb = self.driver.find_element_by_css_selector('.preFooter .fa.fa-facebook.circle.spaceR15') self.assertTrue(fb.is_displayed(), 'Footer facebook icon is not displayed') twitter = self.driver.find_element_by_css_selector('.preFooter .fa.fa-twitter.circle.spaceR15') self.assertTrue(twitter.is_displayed(), 'Footer twitter icon is not displayed') linkedin = self.driver.find_element_by_css_selector('.preFooter .fa.fa-linkedin.circle.spaceR15') self.assertTrue(linkedin.is_displayed(), 'Footer linkedin icon is not displayed') purch_logo = self.driver.find_element_by_css_selector('.footer .mod>a>img') self.assertTrue(purch_logo.is_displayed(), 'Purch logo is not displayed') copy_right = self.driver.find_element_by_css_selector('.copyRight') self.assertTrue(copy_right.is_displayed(), "Copyright is not displayed") copyright_text = copy_right.text browser_name = env_util.get_browser() if(browser_name == "safari" or browser_name == "edge"): copyright_text = copyright_text.strip().replace("\n ", " ").replace("document.write(new Date().getFullYear());", "") self.assertEquals(copyright_text, COPYRIGHT, "Copyright message is not correct") company = self.driver.find_element_by_xpath('html/body/footer/div[1]/div/section[1]/header').text if(browser_name == "safari" or browser_name == "edge"): company = company.strip().upper() self.assertEquals(company, "COMPANY", "actual [{0}] doesn't match expected [{1}]".format(company, "COMPANY")) company_links = self.driver.find_elements_by_xpath('html/body/footer/div[1]/div/section[1]/ul/li/a') for i in range(0, len(company_links)): link = company_links[i] link_text = link.text.strip() self.assertEquals(link_text, COMPANY_LINKS[i], "actual [{0}] doesn't match expected [{1}]".format(link_text, COMPANY_LINKS[i])) link_url = link.get_attribute('href') self.assertEquals(link_url, COMPANY_URLS[i], "actual [{0}] doesn't match expected [{1}]".format(link_url, COMPANY_URLS[i])) network = self.driver.find_element_by_xpath('html/body/footer/div[1]/div/section[2]/header').text if(browser_name == "safari" or browser_name == "edge"): network = network.strip().upper() self.assertEquals(network, "NETWORK", "actual [{0}] doesn't match expected [{1}]".format(network, "NETWORK")) network_links = self.driver.find_elements_by_xpath('html/body/footer/div[1]/div/section[2]/ul/li/a') for i in range(0, len(network_links)): link = network_links[i] link_text = link.text.strip() try: self.assertEquals(link_text, NETWORK_LINKS[i], "actual [{0}] doesn't match expected [{1}]".format(link_text, NETWORK_LINKS[i])) except: link_text = link_text.replace(" ", " ") self.assertEquals(link_text, NETWORK_LINKS[i], "actual [{0}] doesn't match expected [{1}]".format(link_text, NETWORK_LINKS[i])) link_url = link.get_attribute('href') self.assertEquals(link_url, NETWORK_URLS[i], "actual [{0}] doesn't match expected [{1}]".format(link_url, NETWORK_URLS[i]))
def testCSS(self): color = text_alert = self.driver.find_element_by_class_name( "alert").value_of_css_property("color") browser_name = env_util.get_browser() if ("chrome" or "headless" in browser_name): self.assertEqual(color, "rgba(211, 102, 29, 1)", "Color doesn't match") else: self.assertEqual(color, "rgb(211, 102, 29)", "Color doesn't match")
def testSeeMore(self): browser_name = env_util.get_browser() a = self.driver.find_elements_by_css_selector(".mod.line.newsBlock .modHeader") for i in a: key = i.find_element_by_tag_name("h2").text if(browser_name == "safari" or browser_name == "edge"): key = key.upper() value = i.find_element_by_tag_name("a").get_attribute("href") if not SEEMORE[key] == value: print SEEMORE[key], value self.assertEqual(1, 2, "See all url doesn't match the text")
def testAnother(self): lv_two = self.driver.find_element_by_css_selector( ".crumbs.mod.topMod.article-crumb span:last-child>a") color = lv_two.value_of_css_property("color") browser_name = env_util.get_browser() if ("chrome" or "headless" in browser_name): self.assertEqual("rgba(0, 126, 204, 1)", color, "Bread crumbs color was changed") else: self.assertEqual("rgb(0, 126, 204)", color, "Bread crumbs color was changed")
def testBreadCrumb(self): lv_one = self.driver.find_element_by_css_selector(".crumbs.mod.topMod.article-crumb span:first-child") self.assertTrue(lv_one.is_displayed(), "First breadcrumb not displayed"); lv_two = self.driver.find_element_by_css_selector(".crumbs.mod.topMod.article-crumb span:last-child") self.assertTrue(lv_two.is_displayed(), "Second breadcrumb is not displayed") lv_two_bc = self.driver.find_element_by_css_selector(".crumbs.mod.topMod.article-crumb span:last-child>a") color = lv_two_bc.value_of_css_property("color") browser_name = env_util.get_browser() if("chrome" or "headless" in browser_name): self.assertEqual("rgba(0, 126, 204, 1)", color, "Bread crumbs color was changed") else: self.assertEqual("rgb(0, 126, 204)", color, "Bread crumbs color was changed")
def main(TimeMachine): time_machine = unittest.TestLoader().loadTestsFromTestCase(TimeMachineTest) homepage_tests = unittest.TestLoader().loadTestsFromTestCase( HomepageTestCase) latest_tests = unittest.TestLoader().loadTestsFromTestCase(LatestTestCase) article_tests = unittest.TestLoader().loadTestsFromTestCase( ArticleTestCase) f04_tests = unittest.TestLoader().loadTestsFromTestCase(F04TestCase) credits_tests = unittest.TestLoader().loadTestsFromTestCase( CreditsTestCase) #product_table = unittest.TestLoader().loadTestsFromTestCase(ProductTableTest) big_tests = unittest.TestLoader().loadTestsFromTestCase(BIGTestCase) quiz_test = unittest.TestLoader().loadTestsFromTestCase(QuizCase) header_search_tests = unittest.TestLoader().loadTestsFromTestCase( HeaderSearchTestCase) optimized_template_tests = unittest.TestLoader().loadTestsFromTestCase( OptimizedTemplateTestCase) sub_header_tests = unittest.TestLoader().loadTestsFromTestCase( SubheaderTestCase) search_tests = unittest.TestLoader().loadTestsFromTestCase(SearchTestCase) widget_tests = unittest.TestLoader().loadTestsFromTestCase(WidgetTestCase) offer_logic_tests = unittest.TestLoader().loadTestsFromTestCase( OfferLogicTestCase) countdown_tests = unittest.TestLoader().loadTestsFromTestCase( CountdownTestCase) about_us_tests = unittest.TestLoader().loadTestsFromTestCase( AboutUsTestCase) # # Put them in the list test_list = [homepage_tests, latest_tests, article_tests, \ f04_tests, credits_tests, big_tests, quiz_test, header_search_tests, optimized_template_tests, sub_header_tests, search_tests, widget_tests, offer_logic_tests, countdown_tests, about_us_tests] # add product_table for image comparation #test_list = [subscribe_tests] if TimeMachine == True: test_list.append(time_machine) print time_machine smoke_tests = unittest.TestSuite(test_list) env = env_util.get_env().upper() browser = env_util.get_browser() # # File sys.stdout.flush() dir = os.getcwd() #outfile = open(dir + "\RegressionTestReport.html", "w") outfile = open(dir + os.sep + browser + "RegressionTestReport.html", "w") runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, title='BND Regression Report - '+env+' - '+browser, description=' Regression Tests', \ verbosity=2) sys.stdout.flush() runner.run(smoke_tests)
def testAdDisclaimer(self): disclaimer = self.driver.find_element_by_css_selector('.FTCdisclosure') actual_text = disclaimer.text.strip() browser_name = env_util.get_browser() if(browser_name == "safari"): actual_text = actual_text.replace("\n ", "") self.assertEquals(actual_text, DISCLAIMER_TEXT, "actual [{0}] doesn't match expected [{1}]".format(actual_text, DISCLAIMER_TEXT)) learn_more = self.driver.find_element_by_css_selector('.FTCdisclosure>a') actual_text = learn_more.text.strip() expected_text = "Learn more." self.assertEquals(actual_text, expected_text, "actual [{0}] doesn't match expected [{1}]".format(actual_text, expected_text)) learn_more_url = learn_more.get_attribute('href') self.assertEquals(learn_more_url, LEARN_MORE_URL, "actual [{0}] doesn't match expected [{1}]".format(learn_more_url, LEARN_MORE_URL))
def testSearch(self): browser_name = env_util.get_browser() search_icon = self.driver.find_element_by_css_selector('.searchIcon.fa.fa-search.circle.circleAlt') if(browser_name == "safari"): search_icon.click() else: webdriver_util.hover(self.driver, search_icon) time.sleep(1) search = self.driver.find_element_by_css_selector('.searchPanel') assert search.is_displayed() == True position = search.location y_pos = position.get('y') assert y_pos == 81.0
def testSearch(self): browser_name = env_util.get_browser() search_icon = self.driver.find_element_by_css_selector( '.searchIcon.fa.fa-search.circle.circleAlt') if (browser_name == "safari"): search_icon.click() else: webdriver_util.hover(self.driver, search_icon) time.sleep(1) search = self.driver.find_element_by_css_selector('.searchPanel') #element = WebDriverWait(self.driver,5).until(EC.presence_of_element_located(By.CLASS_NAME, 'searchPanel'),"Error") assert search.is_displayed() == True position = search.location y_pos = position.get('y') assert y_pos == 81.0
def testBreadCrumb(self): lv_one = self.driver.find_element_by_xpath( "//div[@class='css-1lz4q4o efjv07h0']/a[1]").text.strip() lv_two = self.driver.find_element_by_xpath( "//div[@class='css-1lz4q4o efjv07h0']/a[2]").text.strip() self.assertEquals(lv_one, ONE, "One {0} doesn't match the {1}".format(lv_one, ONE)) self.assertEquals(lv_two, TWO, "Two {0} doesn't match the {1}".format(lv_two, TWO)) lv_one_bc = self.driver.find_element_by_xpath( "//div[@class='css-1lz4q4o efjv07h0']/a[1]") color = lv_one_bc.value_of_css_property("color") browser_name = env_util.get_browser() if ("chrome" or "headless" in browser_name): self.assertEqual("rgba(255, 255, 255, 1)", color, "Bread crumbs color was changed") else: self.assertEqual("rgb(0, 126, 204)", color, "Bread crumbs color was changed")
def testElementsVerification(self): #OUR BEST PICKS left rail best_picks = self.driver.find_element_by_css_selector(".sideHdr").text browser_name = env_util.get_browser() if(browser_name == "safari" or browser_name == "edge"): best_picks = best_picks.upper().strip() self.assertEqual(best_picks, BEST_PICKS, "Can't locate or verify the left rail") sub_list = [] sub_menus = self.driver.find_elements_by_class_name("modTitle") if(browser_name == "safari" or browser_name == "edge"): for i in sub_menus: sub_list.append(i.text.strip().upper()) else: for i in sub_menus: sub_list.append(i.text) self.assertEqual(sub_list, SUB_MENUS, "Can't find 5 elements on the page") #Check the presents of the latest url te = self.driver.find_element_by_css_selector(".hpFeatures.mod.topMod .hpLatestHeadlines").get_attribute("href") #"http://www.businessnewsdaily.com/latest" self.assertEqual(te, LATEST, "Can't locate url to the latest news")
if TimeMachine == True: test_list.append(time_machine) print time_machine smoke_tests = unittest.TestSuite(test_list) env = env_util.get_env().upper() browser = env_util.get_browser() # # File sys.stdout.flush() dir = os.getcwd() #outfile = open(dir + "\RegressionTestReport.html", "w") outfile = open(dir + os.sep + browser + "RegressionTestReport.html", "w") runner = HTMLTestRunner.HTMLTestRunner(stream=outfile, title='BND Regression Report - '+env+' - '+browser, description=' Regression Tests', \ verbosity=2) sys.stdout.flush() runner.run(smoke_tests) if __name__ == "__main__": TimeMachine = False if len(argv) > 3: TimeMachine = True #unittest.main(verbosity=2) main(TimeMachine) browser = env_util.get_browser() '''mail(RESULTS_EMAIL, "BUSINESSNEWSDAILY - Regression Test Report - "+env_util.get_env().upper()+" - "+browser, "See attachment for the test results for the "+browser+" browser", browser+"RegressionTestReport.html")'''