# -*- coding:utf-8 -*-
# @Time : 2019-10-17
# @Author : carl_dj
import os.path
from configparser import ConfigParser
from selenium import webdriver
from UISelenium_python_autoFramewrok.utils.log import Logger
logger = Logger(logger='BrowserEngine').getlog()
class BrowserEngine(object):
dir = os.path.dirname(os.path.abspath('.')) #相对路径获取方法
chrome_dir_path = dir + '/drivers/chromedriver.exe' #如果把chromedriver放到python根目录下,则可省了
ie_driver_path = dir + '/drivers/IEDriverServer.exe'
def __init__(self,driver):
self.driver = driver
#加载启动项
self.option = webdriver.ChromeOptions()
self.option.add_argument('headless')
#从配置文件config.ini读取浏览器等信息
def open_browser(self, driver):
config =ConfigParser()
# file_path = os.path.dirname(os.getcwd()) + '/config/config.ini'
file_path = os.path.dirname(os.path.abspath('.')) + '/config/config.ini'
config.read(file_path)
# config.read(file_path,encoding='UTF-8'), 如果代码有中文注释,用这个,不然报解码错误
browser = config.get("browserType", "browserName")
logger.info("You had select %s browser." % browser)
url = config.get("testServer", "URL")
logger.info("The test server url is: %s" % url)
if browser == "Firefox":
driver = webdriver.Firefox()
logger.info("Starting firefox browser.")
elif browser == "Chrome":
# driver = webdriver.Chrome(self.chrome_driver_path)
driver = webdriver.Chrome(chrome_options=self.option) #调用option,不打开浏览器运行testcase
# driver =webdriver.Chrome()
logger.info("Starting Chrome browser.")
elif browser == "IE":
driver = webdriver.Ie(self.ie_driver_path)
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(10)
logger.info("Set implicitly wait 10 seconds.")
return driver
#退出浏览器
def quit_browser(self):
self.driver.quit()
logger.info("Now, Close and quit the browser.")
selenium python框架之Browser_engine 写法
原创
©著作权归作者所有:来自51CTO博客作者Carl_奕然的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
LangChain工具箱Toolkits之使用PlayWright Browser工具自动化Web操作
LangChain提供了一系列的工具箱Toolkits,它们专门针对某些任务而设计,拥有方便的加载方法。这些Toolkits 可以帮助我们更高效地执行特定任务。
python SQL Toolkits LangChain PlayWright Browser -
Selenium Python 框架之日志(Log)的写法及调用
1.log类的写法:import loggingimport os.pathimport timeclass Logger(object):
logging python 日志文件 文件路径 ci -
自动化框架之selenium+pytest+python
点击上方蓝色“测试人追风”,选择“设为星标” 回复“关键词”获取整理的资料 概述 selenium: 基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景...
pip python selenium pytest jenkins -
Browser Engine All In One
Browser Engine All In One 浏览器引擎 / 布局引擎 / 渲染引擎Blink / WebKit / Gecko / Trident / EdgeHTML / KHTML
Google Chrome WebKit KHTML EdgeHTML Trident