def screenshot(picture_file): ''' browser screenshots :param picture_file: picture file :return:None ''' DR.get_screenshot_as_file(picture_file)
def highlightElement(element): ''' highlight the found element :param driver:browser driver :param element:element on the browser :return:None ''' DR.execute_script("arguments[0].setAttribute('style',arguments[1]);", element, "background:green; border:2px solid red")
def executeSuite(self): ''' execution test suite :return:0 ''' try: self.setDiscover() self.setReportPath() if os.path.exists(self.report_file): os.remove(self.report_file) with open(self.report_file, 'wb') as fb: runner = HTMLTestRunner.HTMLTestRunner( stream=fb, title=self.report_title, description=self.report_description) runner.run(self.discover) except Exception as e: traceback.print_exc() logger.error(e) finally: DR.quit()
def login(self,user,pwd,targetAddress = None): DR.get(LOGIN_ADDRESS) login_url = DR.current_url userText = HtmlText(selector1=['css_selector', 'div.input-wrapper:nth-child(3) > input:nth-child(2)']) userText.setText(user) pwdText = HtmlText(selector1=['css_selector', 'div.input-wrapper:nth-child(4) > input:nth-child(2)']) pwdText.setText(pwd) try: verificationCodeText = HtmlText(selector1=['css_selector','div.input-wrapper:nth-child(6) > input:nth-child(1)']) verificationCodeText.setText('11111') except: pass loginBtn = HtmlButton(selector1=['css_selector','.el-button']) loginBtn.clickBtn() for i in range(30): if DR.current_url == login_url: logger.info('logging in ,wait pls') sleep(0.5) else: logger.info('successful login ') break if targetAddress: for i in range(3): if DR.current_url == targetAddress: logger.info('login to the homepage %s success '%(targetAddress)) return True else: sleep(2) logger.error('login to the homepage failed') return False
def __find_elements(self, selector): ''' private method: :param selector:key-value list :return:element ''' key = selector[0] value = selector[1] elements = None if key in [ 'xpath', 'link_text', 'class_name', 'id', 'css_selector', 'name', 'partial_link_text', 'tag_name' ]: if key == 'xpath': elements = DR.find_elements_by_xpath(value) elif key == 'link_text': elements = DR.find_elements_by_link_text(value) elif key == 'class_name': elements = DR.find_elements_by_class_name(value) elif key == 'id': elements = DR.find_elements_by_id(value) elif key == 'css_selector': elements = DR.find_elements_by_css_selector(value) elif key == 'name': elements = DR.find_elements_by_name(value) elif key == 'partial_link_text': elements = DR.find_elements_by_partial_link_text(value) elif key == 'tag_name': elements = DR.find_elements_by_tag_name(value) if elements: return elements else: logger.error('fialed to find elements on the current page') return None else: logger.error('invalid key') return None
def get_page(self,url): DR.get(url)
def initBrowser(self): logger.mark('initBrowser START') DR.get(LOGIN_ADDRESS) logger.mark('initBrowser END')
loginBtn = HtmlButton(selector1=['css_selector','.el-button']) loginBtn.clickBtn() for i in range(30): if DR.current_url == login_url: logger.info('logging in ,wait pls') sleep(0.5) else: logger.info('successful login ') break if targetAddress: for i in range(3): if DR.current_url == targetAddress: logger.info('login to the homepage %s success '%(targetAddress)) return True else: sleep(2) logger.error('login to the homepage failed') return False # raise Exception('login to the homepage failed') if __name__ == '__main__': DR.get('http://192.168.0.93:81') LoginPage().login('su','11') DR.quit()