记录下封装浏览器引擎类的写法,本篇是参考以下2篇博客:
封装浏览器引擎类后,可以通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。这里我们暂时,支持两大浏览器(Chrome,Firefox)。
这里有一个前提条件,在基础篇中,启动三大浏览器的driver文件,检查下你的Python安装路径下有没有这三个driver插件,如果没有,自行百度下。
在CommonMethod目录下新建browser_engine.py文件,代码如下:
from selenium import webdriver class BrowserEngine(object): '''定义一个浏览器引擎,根据browser_type的值去,控制启动不同的浏览器,这里主要是firefox,chrome''' def __init__(self, driver): self.driver = driver browser_type = "Chrome" def get_browser(self): '''通过if语句,来控制初始化不同浏览器的启动,默认是启动firefox''' if self.browser_type == "Firefox": driver = webdriver.Firefox() elif self.browser_type == "Chrome": driver = webdriver.Chrome() else: driver = webdriver.Firefox() driver.maximize_window() driver.implicitly_wait(10) return driver
在testcase目录下新建test.py文件,进行测试调用。
from CommonMethod.browser_engine import BrowserEngine class TestB(object): def open_browser(self): browserengine = BrowserEngine(self) self.driver = browserengine.get_browser() self.driver.get("https://blog.csdn.net") t = TestB() t.open_browser()
目前,自定义的浏览器引擎类到这里就封装好了,如需要打开不同浏览器,只需要手动修改引擎类中browser_type的值。