def find_element(self, element_info):
        """
        根据提供的元素参数信息进行查找
        :param element_info: 元素信息,字典类型
        :return: element对象
        """
        try:
            locator_element_name = element_info['element_name']
            locator_type_name = element_info['locator_type']
            locator_value_info = element_info['locator_value']
            locator_timeout = element_info['timeout']

            if locator_type_name == 'id':
                locator_type = By.ID
            elif locator_type_name == 'class_name':
                locator_type = By.CLASS_NAME
            elif locator_type_name == 'XPATH':
                locator_type = By.XPATH

            elment = WebDriverWait(self.driver, int(locator_timeout))\
                .until(lambda x: x.find_element(locator_type, locator_value_info))
            logger.info('%s:  元素识别成功' % locator_element_name)
        except Exception as e:
            logger.error('%s:  元素识别失败,原因是:%s' %
                         (locator_element_name, e.__str__()))
            self.screenshot_as_file()
        # finally:
        #     if elment is None:
        #         elment = ''
        return elment
 def setUp(self) -> None:
     logger.info('----------测试方法开始执行----------')
     self.driver = browser.get_driver()
     self.base_page = BasePage(self.driver)
     self.base_page.set_browser_max()
     self.base_page.time()
     self.base_page.open_url(self.url)
Example #3
0
 def get_driver(self):
     if str(self.__driver_name).lower() == 'chrome':
         logger.info('初始化浏览器并启动谷歌浏览器')
         return self.__get_chrome_driver()
     elif str(self.__driver_name).lower() == 'firefox':
         logger.info('初始化浏览器并启动火狐浏览器')
         return self.__get_firefox_driver()
    def tearDown(self) -> None:
        # 测试失败用例截图
        errors = self._outcome.errors
        for test, exc_info in errors:
            if exc_info:
                self.base_page.screenshot_as_file()

        self.base_page.close_tab()
        logger.info('----------测试方法开始完毕----------')
 def switch_to_alert(self, action='accept', timeout=int(config.time_out)):
     WebDriverWait(self.driver, timeout).until(EC.alert_is_present())
     alert = self.driver.switch_to.alert
     text = alert.text
     if action == 'accept':
         logger.info('弹窗提示值为:  %s' % text)
         alert.accept()
     else:
         alert.dismiss()
     return text
Example #6
0
 def find_element(self,element_info):
     locator_type_name = element_info['locator_type']
     locator_value_info = element_info['locator_value']
     locator_timeout = element_info['timeout']
     if locator_type_name == 'id':
         locator_type = By.ID
     elif locator_type_name == 'class':
         locator_type = By.CLASS_NAME
     elif locator_type_name == 'xpath':
         locator_type =By.XPATH
     element = WebDriverWait(self.driver, locator_timeout) \
         .until(lambda x: x.find_element(locator_type, locator_value_info))
     logger.info('[%s]元素识别成功' % element_info['element_name'])
     # element = WebDriverWait(self.driver, locator_timeout)\
     #     .until(EC.presence_of_element_located((locator_type, locator_value_info)))
     return element
    def find_element(self, element_info):
        locator_element_name = element_info['element_name']
        locator_type_name = element_info['locator_type']
        locator_value_info = element_info['locator_value']
        locator_timeout = element_info['timeout']

        if locator_type_name == 'id':
            locator_type = By.ID
        elif locator_type_name == 'CLASS_NAME':
            locator_type = By.CLASS_NAME
        elif locator_type_name == 'XPATH':
            locator_type = By.XPATH

        elment = WebDriverWait(self.driver, int(locator_timeout)) \
            .until(lambda x: x.find_element(locator_type, locator_value_info))
        logger.info('%s:  元素识别成功' % locator_element_name)

        return elment
 def get_text(self, element_info):
     text = self.find_element(element_info).text
     logger.info('%s:  对象的文本信息为【%s】' % (element_info['element_name'], text))
 def get_attribute(self, element_info):
     value = self.find_element(element_info).get_attribute('title')
     logger.info('%s:  属性值为【%s】' % (element_info['element_name'], value))
 def input(self, element_info, content):
     self.find_element(element_info).send_keys(content)
     logger.info('%s:  输入内容【%s】' % (element_info['element_name'], content))
 def click(self, element_info):
     self.find_element(element_info).click()
     logger.info('%s:  点击操作成功' % element_info['element_name'])
 def get_username(self):
     value = self.username_showspan.text
     logger.info('获取用户名成功,用户名是:' + str(value))
     return value
 def refresh(self):
     self.driver.refresh()
     logger.info('浏览器刷新')
 def set_browser_max(self):
     self.driver.maximize_window()
     logger.info('浏览器最大化')
 def click(self, element_info):
     locator_element_name = element_info['element_name']
     self.find_element(element_info).click()
     logger.info('%s点击操作成功' % locator_element_name)
Example #16
0
 def get_title(self):
     value = self.dirver.title
     logger.info('获取网页标题,标题是%s'  %value)
     return value
Example #17
0
 def refresh(self):
     self.dirver.refresh()
     logger.info('浏览器刷新操作')
    def setUpClass(cls) -> None:
        logger.info('==========测试类开始执行==========')

        cls.url = config.zantao_url
 def tearDownClass(cls) -> None:
     logger.info('==========测试类执行完毕==========')
     pass
 def input_username(self, username):  #方法=====>控件的操作
     self.username_inputbox.send_keys(username)
     logger.info('用户名输入框输入:' + str(username))
 def input_password(self, password):
     self.password_inputbox.send_keys(password)
     logger.info('密码输入框输入:' + str(password))
 def get_title(self):
     value = self.driver.title
     logger.info('获取元素名称:%s' % value)
     return value
 def open_url(self, url):
     self.driver.get(url)
     logger.info('打开url地址:%s' % url)
 def exit_driver(self):
     self.driver.quit()
     logger.info('退出浏览器')
 def set_browser_min(self):
     self.driver.minimize_window()
     logger.info('浏览器最小化')
Example #26
0
 def input(self,element_info,content):
     element = self.find_element(element_info)
     element.send_keys(content)
     logger.info('[%s]元素输入内容:%s' %(element_info['element_name'],content))
 def get_title(self, title):
     value = self.driver.title.text
     logger.info('获取元素名称:%s' % value)
 def click_login(self):
     self.login_button.click()
     logger.info('点击登录按钮成功')
 def input(self, element_info, content):
     locator_element_name = element_info['element_name']
     self.find_element(element_info).send_keys(content)
     logger.info('%s输入内容【%s】' % (locator_element_name, content))
Example #30
0
 def click(self, element_info):
     element = self.find_element(element_info)
     element.click()
     logger.info('[%s]元素进行点击操作' % element_info['element_name'])