微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【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到最新版本

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐