zoukankan      html  css  js  c++  java
  • 【selenium学习中级篇 -20】封装BasePage基础类

     在Base包中新建一个BasePage.py 这个文件中,主要封装一些基础的操作,比如说打开url,关闭浏览器,点击,输入,获取元素等与业务逻辑无关的最底层的操作

    这个类,可以根据不同的项目需求进行拓展,本文只是举了一个简单的例子

    class BasePage(object):
        def __init__(self, driver):
            self.driver = driver
    
        # 打开url
        def get_url(self, url):
            self.driver.get(url)
    
        # 退出浏览器
        def quit_browser(self):
            self.driver.quit()
    
        # 获取元素
        def find_element(self, selector):
            element = ''
            if '=>' not in selector:
                return selector.driver.find_element_by_xpath(selector)
            selector_by = selector.split('=>')[0]
            selector_value = selector.split('=>')[1]
            if selector_by == 'id':
                element = self.driver.find_element_by_id(selector_value)
            elif selector_by == 'name':
                element = self.driver.find_element_by_name(selector_value)
            elif selector_by == 'xpath':
                element = self.driver.find_element_by_xpath(selector_value)
            elif selector_by == 'linkText':
                element = self.driver.find_element_by_link_text(selector_value)
            elif selector_by == 'partialLinkText':
                element = self.driver.find_element_by_partial_link_text(selector_value)
            elif selector_by == 'css':
                element = self.driver.find_element_by_css_selector(selector_value)
    
            return element
    
        # 输入字符
        def type(self, selector, text):
            el = self.find_element(selector)
            el.clear()
            el.send_keys(text)
    
        # 清空
        def clear(self, selector):
            el = self.find_element(selector)
            el.clear()
    
        # 点击操作
        def click(self, selector):
            el = self.find_element(selector)
            el.click()
    
        # 获取页面title
        def get_page_title(self):
            return self.driver.title
    
        # 获取当前页面的url
        def get_page_url(self):
            return self.driver.current_url
    
        # 切换到新的窗口
        def switch_handle(self):
            handles = self.driver.window_handles
            for newhandle in handles:
                if newhandle != self.driver.current_window_handle:
                    self.driver.switch_to.window(newhandle)
  • 相关阅读:
    第8章 降维
    第7章 集成学习和随机森林
    JS利用async、await处理少见的登录业务逻辑
    SQL SERVER 实现多行转多列
    Mysql函数----控制流函数介绍
    继承----静态代码快、构造方法、代码块、普通方法的执行顺序
    RBAC----基于角色的访问权限控制
    秋招-----思特沃克视频面试总结
    tomcat启动失败的三种方法
    索引之----mysql联合索引
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12972968.html
Copyright © 2011-2022 走看看