zoukankan      html  css  js  c++  java
  • 【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到最新版本

  • 相关阅读:
    数据结构与算法(五):栈
    数据结构与算法(四):线性表二
    数据结构与算法(三):线性表一
    数据结构与算法(二):时间复杂度和空间复杂度
    数据结构与算法(一):什么是数据结构
    数据结构-希尔排序法
    数据结构-插入排序法
    数据结构-选择排序法
    数据结构-冒泡排序法
    数据结构-排序法
  • 原文地址:https://www.cnblogs.com/ronyjay/p/12957773.html
Copyright © 2011-2022 走看看