日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python:实例化configparser模块读写配置文件

發(fā)布時間:2023/12/10 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python:实例化configparser模块读写配置文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

之前的博客介紹過利用python的configparser模塊讀寫配置文件的基礎(chǔ)用法,這篇博客,介紹下如何實(shí)例化,方便作為公共類調(diào)用。

實(shí)例化的好處有很多,既方便調(diào)用,又降低了腳本的維護(hù)成本,而且提高了代碼的可讀性。。。

?

1、配置文件

configparser模塊支持讀取.conf和.ini等類型的文件,在文件夾新建一個.ini文件,寫入一些信息,示例如下:

config.ini

[driver] chromedriver = E:\automation\UI\Testcase\browser\chromedriver.exe [homepage] url = https://www.sougou.com/ [signup] name = E:\automation\UI\Testdata\signup-data.csv [login] name = E:\automation\UI\Testdata\login-data.csv [sign_user] name = E:\automation\UI\Testdata\sign_user.csv [sign_mobile] name = E:\automation\UI\Testdata\sign_mobile.csv [sign_pwd] name = E:\automation\UI\Testdata\sign_pwd.csv [vip_user] name = E:\automation\UI\Testdata\vip_user.csv [serach] name = E:\automation\UI\Testdata\search.csv [DATABASE] host = 10.0.0.1 username = TEST password = test dbname = Test [HEADERS] contentType = application/x-www-form-urlencoded [HTTP] url = https://baidu.com login = https://github.com

?

2、configparser讀取配置信息并實(shí)例化

可以將要訪問的url地址、讀取的數(shù)據(jù)文件路徑、數(shù)據(jù)庫信息等寫入配置文件,然后利用configparser模塊讀取,然后實(shí)例化,示例代碼如下:

readConfig.py

# coding=utf-8 import os from configparser import ConfigParser# 獲取絕對路徑 BASE_DIR = os.path.dirname(__file__) CONFIG_FILE_PATH = os.path.join(BASE_DIR, "config.ini") # 配置文件名稱class MyConfig:def __init__(self):config = ConfigParser()config.read(CONFIG_FILE_PATH)self.browerDriver = config.get("driver", "chromedriver") # 瀏覽器驅(qū)動self.homedoUrl = config.get("homepage", "url") # 搜狗urlself.signupData = config.get("signup","name") # 用戶注冊測試數(shù)據(jù)self.loginData = config.get("login","name") # 用戶登錄測試數(shù)據(jù)self.signUser = config.get("sign_user","name") # 注冊用戶數(shù)據(jù)self.signMobile = config.get("sign_mobile","name") # 注冊用戶手機(jī)號碼 self.signPwd = config.get("sign_pwd","name") # 注冊用戶密碼self.vipUser = config.get("vip_user","name") # 生產(chǎn)白名單測試賬號self.search = config.get("serach","name") # 搜索數(shù)據(jù)self.contentType = config.get("HEADERS", "contentType") # 請求頭連接類型self.URL = config.get("HTTP", "url") # 百度URLself.loginURL =config.get("HTTP", "login") # github的URL myconfig = MyConfig()

?

3、調(diào)用實(shí)例化的配置信息

將我們需要的信息實(shí)例化后封裝,在需要的時候,直接調(diào)用即可,示例代碼(測試手機(jī)驗(yàn)證碼)如下:

test_mobcode.py

# coding=utf-8 from selenium import webdriver from readConfig import myconfig from selenium.webdriver.common.by import By import unittest,timeclass MobCodeTest(unittest.TestCase):def setUp(self):self.driver = webdriver.Chrome(myconfig.browerDriver) # 調(diào)用實(shí)例化后的瀏覽器驅(qū)動 self.driver.maximize_window()self.url = myconfig.homedoUrl # 調(diào)用實(shí)例化后的請求urldef test_mobcode(self):driver = self.driverdriver.get(self.url)driver.implicitly_wait(3)driver.find_element_by_link_text("免費(fèi)注冊").click()driver.find_element_by_id("txtMobileCode").send_keys("1234")driver.find_element_by_class_name("login-btn").click()# 定位報錯提示元素并斷言,打印出來error = driver.find_element_by_xpath("//*[@id=\"loginForm\"]/div/dl[2]/dd/p")print(error.text)self.assertIsNotNone(error.text)def tearDown(self):self.driver.close()suite = unittest.TestSuite() suite.addTest(MobCodeTest("test_mobcode")) runner = unittest.TextTestRunner() runner.run(suite)

可以想象,如果不將url、驅(qū)動路徑等寫入配置文件,而是直接寫入腳本,那么腳本本身的維護(hù)成本將變得很大,而且可讀性也并不好。

對于自動化測試動輒幾十上百條測試用例來說,這將是一場災(zāi)難。。。

以上內(nèi)容僅供參考,其中某些敏感信息已經(jīng)脫敏,望理解。。。

?

總結(jié)

以上是生活随笔為你收集整理的python:实例化configparser模块读写配置文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。