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