selenium+python自动化测试--封装浏览器引擎

前言:之前公司只需兼容chrome浏览器,所以就在每个py文件中将启动chrome浏览器写死了。突然有一天,领导说让测一下其他浏览器(比如Firefox、ie等)的兼容性。页面兼容性可以用我在web测试中提到的工具测试,但是功能测试我难道要每个浏览器都试一遍吗?答案当然是NO!!于是就想到了将浏览器引擎封装起来~

之前页面中的写法:

from selenium import webdriver


class Test():

    @classmethod
    def setUpClass(cls):
        driver = webdriver.Chrome()
        driver.maximize_window()

优化后:

封装浏览器引擎

文件名称:browserEngine.py
from selenium import webdriver


class BrowserEngine(object):

    def __init__(self, driver):
        self.driver = driver

    browser_type = "Firefox"

    def get_browser(self):
        if self.browser_type == 'Firefox':
            driver = webdriver.Firefox()
        elif self.browser_type == 'Chrome':
            driver = webdriver.Chrome()
        elif self.browser_type == 'IE':
            driver = webdriver.Ie()
        else:
            driver = webdriver.Chrome()
        driver.maximize_window()
        driver.implicitly_wait(10)

        return driver

在测试页调用

from common.browserEngine import BrowserEngine


class Test():

    @classmethod
    def setUpClass(cls):
        # 加载浏览器引擎
        browser = BrowserEngine(cls)
        driver = browser.get_browser()

以上就是所有代码了,如要更换浏览器,每次只需修改 browserEngine.py文件中的 browser_type 值就可以了~