def type(self, type, position, value): finder = ElementFinder() element = finder.find_element(type, position) if element != None: element.send_keys(value) else: print("No Find")
def ClickandHold(self,type,position): finder = ElementFinder() element = finder.find_element(type,position) if element!=None: # WebDriverEngine().runJs('window.scrollTo(0,'+element.location+')') # element.click() ActionChains(driver=ElementFinder().driver).click_and_hold(element) time.sleep(3)
def isElementPresent(self, type, position): finder = ElementFinder() element = finder.find_element(type, position) logger.info('e.getMessage') if element != None: return True else: return False
def clickLonger(self, type, position): finder = ElementFinder() element = finder.find_element(type, position) if element != None: WebDriverEngine().runJs('window.scrollTo(0,' + element.location + ')') element.click() time.sleep(3)
def element_is_exists(self,type,value): flag=True driver=ElementFinder().driver try: driver.find_element(type,value) return flag except: flag=False return flag
def test_base(self): driver = WebDriverEngine() browser = ElementFinder() # 使用Txt i.split(',')[0] # result=txtRead().get_data() # 使用excel i[0] result1 = excelRead().get_data() # 使用数据库的话,就要先调用初始化方法 # db=MySQl(host="localhost",port=3306,dbName="mymovie",username="******",password="******",charset="utf8") # result2=db.getData("select username,password from mm_user") for i in result1: driver.typeAndClear("xpath", "//input[@name='username']", i[0]) sleep(1) driver.typeAndClear("xpath", "//input[@name='password']", i[1]) sleep(1) driver.click("xpath", "//input[@type='submit']") sleep(1) element = browser.element_is_exists(By.XPATH, "//a[contains(.,'退出')]") if element: driver.click("xpath", "//a[contains(.,'退出')]") else: browser.do_screenshot() browser.close() t_send()
def isTextPresent(self,str): driver = ElementFinder().driver text=driver.page_source #去掉字符串两端的空格,Java使用trim方法 content=text.strip() if str in content: return True else: return False
def getAllWindowTitles(self): driver = ElementFinder().driver #获得当前窗口的句柄 driver.current_window_handle #获得所有窗口的句柄 allhandles=driver.window_handles list=[] for handle in allhandles: driver.switch_to.window(handle) list.append(handle.title()) driver.switch_to.window(allhandles) return list
def getValue(self, type, position): finder = ElementFinder() return finder.find_element(type, position).get_attribute('value')
def click_scy(self, locator): finder = ElementFinder() element = finder.findElement(locator) if element != None: element.click() time.sleep(3)
def getText(self, type, position): finder = ElementFinder() return finder.find_element(type, position).text().strip()
def getWindow(self,i): driver = ElementFinder().driver windows=[] for handle in driver.window_handles: windows.append(handle) driver.switch_to.window(windows[i])
def click(self, type, position): finder = ElementFinder() element = finder.find_element(type, position) if element != None: element.click() time.sleep(3)
def getHtmlSource(self): driver = ElementFinder().driver return driver.page_source
def rightClickMouse(self, type, position): driver = startBrowser() finder = ElementFinder() element = finder.find_element(type, position) ActionChains(driver).context_click(element).perform()
def enterFrame(self,frameID):#python接受任何类型的参数,不必重载 driver = ElementFinder().driver time.sleep(1.5) driver.switch_to.frame(frameID) logger.info("Ebtered inframe"+frameID)
def getTitle(self): driver=ElementFinder().driver return (driver.title)
def do_screenshot(self): driver = ElementFinder().driver pic_time = time.strftime('%Y%m%d%H%M', (time.localtime())) pic_name = os.path.dirname(os.path.abspath('.')) + '\\picture\\' + pic_time + '.png' driver.get_screenshot_as_file(pic_name) logger.info('截屏成功')
def enterType(self,type, position): element = ElementFinder().find_element(type, position) element.send_keys(Keys.ENTER)
def close(self): driver = ElementFinder().driver driver.close()
def refresh(self): driver = ElementFinder().driver driver.refresh()
def getSelect(self, type, position): finder = ElementFinder() inputSelect = finder.find_element(type, position) return inputSelect
def mouseoverElement(self, type, position): driver = startBrowser() finder = ElementFinder() element = finder.find_element(type, position) ActionChains(driver).move_to_element(element).perform()
def tabType(self,type,position): element=ElementFinder().find_element(type,position) element.send_keys(Keys.TAB)
def typeAndClear(self, type, position, value): finder = ElementFinder() element = finder.find_element(type, position) if finder: element.clear() element.send_keys(value)
def typeAndClear_scy(self, locator, value): finder = ElementFinder() element = finder.findElement(locator) if element != None: element.clear() element.send_keys(value)
def ischecked(self, type, position): finder = ElementFinder() element = finder.find_element(type, position) return element.is_selected()
def isDisplayed(self, type, position): finder = ElementFinder() element = finder.find_element(type, position) if element != None: print(element.is_displayed())
def leaveFrame(self): driver = ElementFinder().driver driver.switch_to.default_content() logger.info("left the iframe")
def backspace(self,type, position): element = ElementFinder().find_element(type, position) element.send_keys(Keys.BACK_SPACE)