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)
  • 相关阅读:
    v-bind绑定属性样式——class的三种绑定方式
    vue知识点15
    iOS开发——heightForHeaderInSection设置高度无效
    iOS开发——AFNetworking基于https的使用
    iOS开发——循环遍历的比较
    iOS开发——Block使用小结
    iOS开发——GCD总结
    iOS开发者中心重置设备列表
    iOS开发—— Couldn't add the Keychain Item
    iOS——扬声器与听筒的切换
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12972968.html
Copyright © 2011-2022 走看看