52 lines
1.7 KiB
Python
52 lines
1.7 KiB
Python
# encoding: utf-8
|
|
"""
|
|
@Author : nqp
|
|
@desc :
|
|
"""
|
|
|
|
import os.path
|
|
from framework.ReadConfig import ReadConfig
|
|
from selenium import webdriver
|
|
from framework.logger import Logger
|
|
|
|
logger = Logger(logger="BrowserEngine").getlog()
|
|
|
|
|
|
class BrowserEngine(object):
|
|
|
|
def __init__(self, driver):
|
|
self.driver = driver
|
|
self.dir = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # 注意相对路径获取方法
|
|
# windows的驱动程序后缀有exe
|
|
self.chrome_driver_path = self.dir + '/tools/chromedriver.exe'
|
|
# mac的驱动程序后缀无exe
|
|
# self.chrome_driver_path = self.dir + '/tools/chromedriver'
|
|
|
|
def open_browser(self, driver):
|
|
# 读取配置
|
|
config = ReadConfig()
|
|
browser = config.get_browser_type()
|
|
url = config.get_test_server()
|
|
implicitly_wait = config.get_browser_attribute()
|
|
|
|
if browser == "Firefox":
|
|
driver = webdriver.Firefox()
|
|
logger.info("Starting firefox browser.")
|
|
elif browser == "Chrome":
|
|
driver = webdriver.Chrome(self.chrome_driver_path)
|
|
logger.info("Starting Chrome browser.")
|
|
elif browser == "IE":
|
|
driver = webdriver.Ie()
|
|
logger.info("Starting IE browser.")
|
|
|
|
driver.get(url)
|
|
logger.info("Open url: %s" % url)
|
|
# driver.maximize_window()
|
|
logger.info("Maximize the current window.")
|
|
driver.implicitly_wait(implicitly_wait)
|
|
logger.info("Set implicitly wait %s seconds."%str(implicitly_wait))
|
|
return driver
|
|
|
|
def quit_browser(self):
|
|
logger.info("Now, Close and quit the browser.")
|
|
self.driver.quit() |