selenium学习中级篇 -20封装BasePage基础类

Posted ronyjay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于selenium学习中级篇 -20封装BasePage基础类的主要内容,如果未能解决你的问题,请参考以下文章

Python+Selenium中级篇之8-Python中的继承的使用

Python+Selenium中级篇之2-Python中类/函数/模块的简单介绍和方法调用

Selenium2自动化测试大纲(初/中级班)

Selenium自动化初级/中级网络授课班招生

XSS中级学习篇

『中级篇』docker之CI/CD持续集成-(终结篇)(77)