目标:如何去封装几个简单的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