打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python Selenium中级篇之4

前一篇文章我们知道了,如何去封装几个简单的Selenium方法到我们自定义的类,这次我们编写一个类,叫浏览器引擎类,通过更改一个字符串的值,利用if语句去判断和控制启动那个浏览器。这里我们暂时,支持三大浏览器(IE,Chrome,Firefox)。这里有一个前提条件,在基础篇中,启动三大浏览器的driver文件,检查下你的Python安装路径下有没有这三个driver插件,如果没有,请回到基础篇的如何启动火狐和IE浏览器文章去看看如何做。

我们继续在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, driver):

self.driver = driver

browser_type = 'IE' # maybe Firefox, Chrome, IE

def get_browser(self):

'''

通过if语句,来控制初始化不同浏览器的启动,默认是启动Chrome

:return: driver

'''

if self.browser_type == 'Firefox':

driver = webdriver.Firefox

elif self.browser_type == 'Chrome':

driver = webdriver.Chrome

elif self.browser_type == 'IE':

driver = webdriver.Ie

else: driver = webdriver.Chrome

driver.maximize_window

driver.implicitly_wait(10)

return driver

再看看test.py代码,进行测试,更改browser_engine.py中browser_type的值,去测试三大浏览器是否启动正常。

# coding=utf-8

import time

from test1.browser_engine import BrowserEngine

class TestBrowserEngine(object):

def open_browser(self):

browserengine = BrowserEngine(self)

driver = browserengine.get_browser

tbe = TestBrowserEngine

tbe.open_browser

目前,自定义的浏览器引擎类到这里就封装好了,只支持打开不同浏览器,需要手动修改,引擎类中browser_type的值。看起来功能简单,但是我们只是需要学习这种做事的方式和思维,在下一个部分,框架设计的时候,我会再告诉大家如何去加强这个引擎类的功能,到时候去修改配置文件中的浏览器类型,而不是修改代码中的字段。通过修改配置文件,从而去打开不同浏览器,并开始测试相关脚本。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python多线程Selenium跨浏览器测试
selenium+python自动化91-多线程启动多个不同浏览器
反了!居然让我教她自动化测试!
在Python Selenium中为Chrome和Firefox浏览器开启headless模式 | 李辉的个人网站
chrome driver
selenium 如何启动IE浏览器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服