【selenium学习中级篇 -19】封装一个浏览器引擎类

 

 结构目录如上:

Base包:存放一些基类,这次我们要封装的浏览器引擎类放在这个包里面

TestSuites:存放测试用例,新建Test.py来测试这个引擎类

Utils:存放工具类,chrome和firefox的驱动放在这里面

 

Browser_engine.py
import os
from selenium import webdriver


class BrowserEngine(object):

    def open_browser(self):

        '''
        设定浏览器类型
        '''
        browser = "Chrome"

        '''
        使用if...else语句来判断浏览器类型
        只写了两个,如果需要IE,请自行添加
        '''
        if (browser == "Chrome"):
            chrome_driver_path = os.path.dirname(os.path.abspath('.')) + '/Utils/chromedriver.exe'
            driver = webdriver.Chrome(executable_path=chrome_driver_path)
        elif (browser == "Firefox"):
            firefox_driver_path = os.path.dirname(os.path.abspath('.')) + '/Utils/geckodriver.exe'
            driver = webdriver.Firefox(executable_path=firefox_driver_path)
        else:
            chrome_driver_path = os.path.dirname(os.path.abspath('.')) + '/Utils/chromedriver.exe'
            driver = webdriver.Chrome(executable_path=chrome_driver_path)

        driver.maximize_window()
        driver.implicitly_wait(5)
        return driver

 

Test.py

from Base.Browser_engine import BrowserEngine


class TestBrowerEngine(object):

    def test_open_browser(self):
        browser = BrowserEngine()
        driver = browser.open_browser()


test1 = TestBrowerEngine()
test1.test_open_browser()

总结:

1.如果需要修改启动浏览器的类型,可以更改Browser_engine.py中的browser的值,去测试浏览器的启动,目前放在代码中,后面可以通过读取配置的方式进行优化

2.启动firefox时,如果遇到报newSession的问题,可以更新geckodriver.exe到最新版本

posted @ 2020-05-25 16:48  RonyJay  阅读(477)  评论(0编辑  收藏  举报