Python+Selenium进阶版(四)-封装一个自己的类-浏览器引擎类

  目标:如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。

  暂时支持三大引擎:IE,Chrome,Firefox

  练习场景:在test1这个包下新建一个browser_engine.py文件,然后在另外一个包下新建一个test.py文件去测试这个浏览器引擎类是否工作正常。这个浏览器引擎类,我们一开始写简单一点,只写启动浏览器。

  browser_engine.py代码:

# coding=utf-8
from selenium import webdriver

class BrowserEngine(object):
    """
    定义一个浏览器引擎类,根据browser_type的值去控制启动不同的浏览器。
    这里主要是IE,Firefox,Chrome

    """
    def __init__(self,browser_type):
        """
        传入浏览器类型
        :param browser_type:
        """
        self.browser_type = browser_type


    def get_browser(self):
        """
        通过if语句,来控制初始化不同浏览器的启动,默认是Chrome
        :return:
        """
        if self.browser_type == 'Firefox':
            driver = webdriver.Firefox()
        elif self.browser_type == 'IE':
            driver = webdriver.Ie()
        else:
            driver = webdriver.Chrome()

        driver.maximize_window()
        driver.implicitly_wait(10)

        return driver

  

  test.py代码:在open_browser方法中传入一个引擎类型的值,然后调用类选择哪个浏览器。

# coding = utf-8
from selenium import webdriver
import time
from test1.browser_engine import BrowserEngine

# 构造测试类
class TestBrowserEngine(object):
    # 打开浏览器
    def open_browser(self,browser_type): # 传入浏览器类型参数
        browserengine = BrowserEngine(browser_type)
        self.driver = browserengine.get_browser()

tb_driver=TestBrowserEngine()
tb_driver.open_browser("Chrome")

  

参考文章:https://blog.csdn.net/u011541946/article/details/70171401

猜你喜欢

转载自www.cnblogs.com/zhaocbbb/p/12658939.html