Пример #1
0
 def get_element(self, locator):
     """查找元素"""
     MyLogger().info('查找元素:{0}'.format(locator))
     try:
         return self.driver.find_element(*locator)
     except:
         self.save_screenshot()
         MyLogger().error('查找元素失败!')
         raise
Пример #2
0
 def wait_alert_visible(self, timeout=20):
     """等待alert弹框出现"""
     MyLogger().info('等待alert弹框出现')
     try:
         WebDriverWait(self.driver, timeout).until(EC.alert_is_present())
     except:
         self.save_screenshot()
         MyLogger().error('等待alert弹框出现失败!')
         raise
Пример #3
0
 def get_element_text(self, locator):
     """获取元素文本内容"""
     MyLogger().info('获取元素{0}的文本内容'.format(locator))
     element = self.get_element(locator)
     try:
         return element.text
     except:
         self.save_screenshot()
         MyLogger().error('获取元素文本内容失败!')
         raise
Пример #4
0
 def get_element_attribute(self, locator, attribute):
     """获取元素属性"""
     MyLogger().info('获取元素{0}的{1}属性'.format(locator, attribute))
     element = self.get_element(locator)
     try:
         return element.get_attribute(attribute)
     except:
         self.save_screenshot()
         MyLogger().error('获取元素属性失败!')
         raise
Пример #5
0
 def input_text(self, locator, text):
     """输入文本操作"""
     MyLogger().info('元素{0}输入{1}'.format(locator, text))
     element = self.get_element(locator)
     try:
         element.send_keys(text)
     except:
         self.save_screenshot()
         MyLogger().error('输入文本失败!')
         raise
Пример #6
0
 def click_element(self, locator):
     """点击元素操作"""
     MyLogger().info('点击元素{0}'.format(locator))
     element = self.get_element(locator)
     try:
         element.click()
     except:
         self.save_screenshot()
         MyLogger().error('点击元素失败!')
         raise
Пример #7
0
 def wait_element_present(self, locator, timeout=20):
     """等待元素存在"""
     MyLogger().info('等待{0}元素存在'.format(locator))
     try:
         WebDriverWait(self.driver, timeout).until(
             EC.presence_of_element_located(locator))
     except:
         self.save_screenshot()
         MyLogger().error('等待元素存在失败!')
         raise
Пример #8
0
 def wait_element_visible(self, locator, timeout=20):
     """等待元素可见"""
     MyLogger().info('等待{0}元素可见'.format(locator))
     try:
         WebDriverWait(self.driver, timeout).until(
             EC.visibility_of_element_located(locator))
     except:
         self.save_screenshot()
         MyLogger().error('等待元素可见失败!')
         raise
Пример #9
0
 def save_screenshot(self):
     """保存截图"""
     screenshot_time = time.strftime('%Y-%m-%d %H_%M_%S')  #截图的时间
     file_name = screenshot_dir + '{0}.png'.format(
         screenshot_time)  #截图保存的路径和名称
     try:
         self.driver.save_screenshot(file_name)
         MyLogger().info('截图成功,图片路径为{0}'.format(file_name))
     except:
         MyLogger().error('截图失败!')
Пример #10
0
 def scrollbar_operation(self):
     """滚动条处理--移动到页面底部"""
     MyLogger().info('将滚动条移动到页面底部')
     try:
         self.driver.execute_script(
             "window.scrollTo(0,document.body.scrollHeight)")
     except:
         self.save_screenshot()
         MyLogger().error('滚动条移动到页面底部失败!')
         raise
Пример #11
0
 def switch_iframe(self, iframe_name, timeout=20):
     """iframe切换操作"""
     MyLogger().info('元素{0}操作iframe切换'.format(iframe_name))
     try:
         WebDriverWait(self.driver, timeout).until(
             EC.frame_to_be_available_and_switch_to_it(iframe_name))
     except:
         self.save_screenshot()
         MyLogger().error('iframe切换失败!')
         raise
Пример #12
0
 def alert_operation(self, operation='accept'):
     """alert处理操作,默认同意"""
     MyLogger().info('alert弹框处理')
     try:
         alert = self.driver.switch.to_alert
         if operation == 'accept':
             alert.accept()
         elif operation == 'dismiss':
             alert.dismiss()
     except:
         self.save_screenshot()
         MyLogger().error('alert弹框处理失败!')
         raise