ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2020-05-25 16:55:12  阅读:193  来源: 互联网

标签:浏览器 19 selenium driver chrome path os browser


 

 结构目录如上:

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

标签:浏览器,19,selenium,driver,chrome,path,os,browser
来源: https://www.cnblogs.com/ronyjay/p/12957773.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有