def verifyAdBlock(self): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) ad_block = self.driver.find_element_by_id('ad_leaderboard') if (self.device_name.__contains__('android')): verifyElementIsDisplayedAndMinimumWidth(self, ad_block, browser_width - 2) else: verifyElementIsDisplayedAndMinimumWidth(self, ad_block, browser_width)
def verifyElementIsDisplayedAndSpansWidth(self, web_element): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) assert web_element.is_displayed() == True width = web_element.size.get('width') if (self.device_name.__contains__('android')): assert width == 800 else: assert (width <= browser_width) and (width >= (browser_width - 40))
def verifyElementIsDisplayedAndSpansWidth(self, web_element): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) assert web_element.is_displayed() == True width = web_element.size.get('width') if('phone' in self.device_name): self.assertTrue((width <= browser_width) and (width >= (browser_width - 75)), "Actual width: "+str(width)+", Expected width between "+str(browser_width-75)+" and "+str(browser_width)) else: if('tablet' in self.device_name): self.assertTrue((width <= browser_width) and (width >= (browser_width - 150)), "Actual width: "+str(width)+", Expected width between "+str(browser_width-150)+" and "+str(browser_width)) else: self.assertTrue((width >= browser_width), "Actual width: "+str(width)+", Expected width greater than "+str(browser_width))
def verifyTabletFooter(self): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) pre_footer = self.driver.find_element_by_css_selector( '.preFooter .inner10') footer = self.driver.find_element_by_css_selector('footer') if (self.device_name.__contains__('android')): verifyElementIsDisplayedAndMinimumWidth(self, pre_footer, 1000) verifyElementIsDisplayedAndMinimumWidth(self, footer, 1030) else: verifyElementIsDisplayedAndMinimumWidth(self, pre_footer, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, footer, browser_width)
def testArticleLayout(self): self.driver.get(ARTICLE) browser_width = mobile_util.get_browser_width(self.device_name, self.driver) verifyTabletHeader(self) sub_nav = self.driver.find_element_by_css_selector('.wrap.altNavLiner') verifyElementIsDisplayedAndMinimumWidth(self, sub_nav, browser_width) disclosure = self.driver.find_element_by_css_selector('.FTCdisclosure') breadcrumb = self.driver.find_element_by_css_selector( '.crumbs.mod.topMod.article-crumb') heading = self.driver.find_element_by_css_selector('.h1.nolinks') by_line = self.driver.find_element_by_css_selector('.byline-wrapper') content = self.driver.find_element_by_css_selector('.articleBody') author_bio = self.driver.find_element_by_css_selector( '.line.authorBio') if (self.device_name.__contains__('android')): verifyElementIsDisplayedAndMinimumWidth(self, disclosure, 1000) verifyElementIsDisplayedAndMinimumWidth(self, breadcrumb, 1000) verifyElementIsDisplayedAndMinimumWidth(self, heading, 1000) verifyElementIsDisplayedAndMinimumWidth(self, by_line, 1000) verifyElementIsDisplayedAndMinimumWidth(self, content, 1000) verifyElementIsDisplayedAndMinimumWidth(self, author_bio, 1000) else: verifyElementIsDisplayedAndMinimumWidth(self, disclosure, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, breadcrumb, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, heading, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, by_line, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, content, browser_width) verifyElementIsDisplayedAndMinimumWidth(self, author_bio, browser_width) image = self.driver.find_element_by_css_selector('.articleBody img') verifyElementIsDisplayedAndMinimumWidth(self, image, 300) verifyTabletFooter(self)
def testArticleListLayout(self): self.driver.get(ARTICLE_LIST) browser_width = mobile_util.get_browser_width(self.device_name, self.driver) verifyTabletHeader(self) verifyAdBlock(self) sub_nav = self.driver.find_element_by_css_selector('.wrap.altNavLiner') verifyElementIsDisplayedAndMinimumWidth(self, sub_nav, browser_width) breadcrumbs = self.driver.find_element_by_css_selector( '.megaCrumbs.mod.topMod') if (self.device_name.__contains__('android')): verifyElementIsDisplayedAndMinimumWidth(self, breadcrumbs, 940) else: verifyElementIsDisplayedAndMinimumWidth(self, breadcrumbs, browser_width) best_picks = self.driver.find_element_by_css_selector( '.sideBar.sect-front') verifyElementIsDisplayedAndSpansSpecificWidth(self, best_picks, 300) news_blocks = self.driver.find_elements_by_css_selector( '.mod.line.newsBlock') for i in news_blocks: verifyElementIsDisplayedAndSpansSpecificWidth(self, i, 600) verifyTabletFooter(self)
def verifyElementIsDisplayedAndSpansWidth(self, web_element): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) width = web_element.size.get('width') assert (width <= browser_width) and (width >= (browser_width - 50))
def verifyElementIsDisplayedAndSpansWidth(self, web_element): browser_width = mobile_util.get_browser_width(self.device_name, self.driver) print('Browser width: '+str(browser_width)) width = web_element.size.get('width') print('Element width: '+str(width)) assert (width <= browser_width) and (width >= (browser_width - 110))