python配置文件封装_Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容...

Python+Selenium中级篇之4-封装一个自己的类-浏览器引擎类/Python读取配置文件内容

封装一个自己的类-浏览器引擎类

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

我们继续在test1这个包下新建一个browser_engine.py文件,然后在另外一个包下新建一个test.py文件去测试这个浏览器引擎类是否工作正常。这个浏览器引擎类,我们一开始写简单一点,只写启动浏览器。(海量免费学习资料,软件测试交流:1140267353群,还会有同行一起技术交流)

先看看browser_engine.py中的代码:

#coding=utf-8

from selenium importwebdriverclassBrowserEngine(object):"""定义一个浏览器引擎类,根据browser_type的值去,控制启动不同的浏览器,这里主要是IE,Firefox, Chrome"""

def __init__(self, driver):

self.driver=driver

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

defget_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

importtimefrom test1.browser_engine importBrowserEngineclassTestBrowserEngine(object):defopen_browser(self):

browserengine=BrowserEngine(self)

driver=browserengine.get_browser()

tbe=TestBrowserEngine()

tbe.open_browser()

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

Python读取配置文件内容

文来介绍下Python中如何读取配置文件。任何一个项目,都涉及到了配置文件和管理和读写,Python支持很多配置文件的读写,这里我们就介绍一种配置文件格式的读取数据,叫ini文件。Python中有一个类ConfigParser支持读ini文件。(海量免费学习资料,软件测试交流:1140267353群,还会有同行一起技术交流)

1. 在项目下,新建一个文件夹,叫config,然后在这个文件夹下新建一个file类型的文件:config.ini

文件内容如下:

#this is config file, only store browser type and server URL

[browserType]#browserName = Firefox

browserName =Chrome#browserName = IE

[testServer]

URL= https://www.baidu.com#URL = http://www.google.com

2. 百度搜索一下,python中如何获取当前项目的根目录的相对路径

这里采用:

os.path.dirname(os.path.abspath(‘.’))

3. 在另外一个包下新建一个测试类,用来测试读取配置文件是否正常。

#coding=utf-8

importConfigParserimportosclassTestReadConfigFile(object):defget_value(self):

root_dir= os.path.dirname(os.path.abspath('.')) #获取项目根目录的相对路径

printroot_dir

config=ConfigParser.ConfigParser()

file_path= os.path.dirname(os.path.abspath('.')) + '/config/config.ini'config.read(file_path)

browser= config.get("browserType", "browserName")

url= config.get("testServer", "URL")return(browser,url) #返回的是一个元组

trcf=TestReadConfigFile()print trcf.get_value()

你可以试试更改config.ini的内容,看看测试打印出来是不是你更改的东西,在配置文件一般#表示注释,你想要哪行配置代码起作用,你就把前面的#去除,并且在注释其他同一个区域。在ini文件中 中括号包裹起来的部分叫section,了解一下就可以。

上一篇    Python+Selenium中级篇之3-二次封装Selenium中几个方法

下一篇    Python+Selenium中级篇之5-Python获取系统时间和格式化时间显示/Python中字符串切割操作

以上仅供参考和借鉴,希望对你有所帮助!

点个关注不迷路!!!

小枫这几天整理的测试资料不知道大家会不会,哪方面需要改善,希望大家多多留言给点意见。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值