之前的博客介绍过利用python的configparser模块读写配置文件的基础用法,这篇博客,介绍下如何实例化,方便作为公共类调用。

实例化的好处有很多,既方便调用,又降低了脚本的维护成本,而且提高了代码的可读性。。。

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读取配置信息并实例化

可以将要访问的url地址、读取的数据文件路径、数据库信息等写入配置文件,然后利用configparser模块读取,然后实例化,示例代码如下:

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")     # 浏览器驱动self.homedoUrl = config.get("homepage", "url")               # 搜狗urlself.signupData = config.get("signup","name")                # 用户注册测试数据self.loginData = config.get("login","name")                  # 用户登录测试数据self.signUser = config.get("sign_user","name")               # 注册用户数据self.signMobile = config.get("sign_mobile","name")           # 注册用户手机号码 self.signPwd = config.get("sign_pwd","name")                 # 注册用户密码self.vipUser = config.get("vip_user","name")                 # 生产白名单测试账号self.search = config.get("serach","name")                    # 搜索数据self.contentType = config.get("HEADERS", "contentType")      # 请求头连接类型self.URL = config.get("HTTP", "url")                         # 百度URLself.loginURL =config.get("HTTP", "login")                   # github的URL

myconfig = MyConfig()

3、调用实例化的配置信息

将我们需要的信息实例化后封装,在需要的时候,直接调用即可,示例代码(测试手机验证码)如下:

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) # 调用实例化后的浏览器驱动
        self.driver.maximize_window()self.url = myconfig.homedoUrl # 调用实例化后的请求urldef test_mobcode(self):driver = self.driverdriver.get(self.url)driver.implicitly_wait(3)driver.find_element_by_link_text("免费注册").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、驱动路径等写入配置文件,而是直接写入脚本,那么脚本本身的维护成本将变得很大,而且可读性也并不好。

对于自动化测试动辄几十上百条测试用例来说,这将是一场灾难。。。

以上内容仅供参考,其中某些敏感信息已经脱敏,望理解。。。

python:实例化configparser模块读写配置文件相关推荐

  1. python读取配置文件获取所有键值对_python ConfigParser模块读写配置文件

    python2.7中ConfigParser模块对配置文件的读写操作. 一.ConfigParser模块的函数 1.读取 read(filename) 直接读取ini文件内容 sections() 得 ...

  2. python中confIgparser模块学习

    python中configparser模块学习 ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section ...

  3. 【Python的configparser模块读取.ini文件内容并输出】

    configparser是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近.Python2.x 中名为 ConfigParser,3.x 已更名小写.下文通过使用python ...

  4. python导入excel文件-python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...

  5. Python使用openpyxl模块读写excel文件

    Python使用openpyxl模块读写excel文件 openpyxl是一个用于写入和读取xlsx格式的excel文件的Python模块. excel2010后的后缀名为xlsx,不再是xls,使用 ...

  6. 通过python的ConfigParse模块读写ini配置文件

    python读写配置文件ConfigParser模块是python标准库自带的读取配置文件的模块.通过他可以方便的读取配置文件.目前示例代码中的Python版本都是基于2.7版本 官网地址是,异常处理 ...

  7. Python之configparser模块详解和使用

    1 configparser安装 pip3 install configparser 2 configparser简介 用来读取配置文件的python包: 一般做自动化测试的时候,会使用到这个模块,用 ...

  8. 用ConfigParser模块读写conf配置文件

    ConfigParser是Python内置的一个读取配置文件的模块,用它来读取和修改配置文件非常方便,本文介绍一下它的基本用法. 数据准备 假设当前目录下有一个名为sys.conf的配置文件,其内容如 ...

  9. Python基础-ConfigParser模块

    此模块用于生成和修改常见配置文档,当前模块的名称在 python 3.x 版本中变更为 configparser. 来看一个好多软件的常见配置文件格式如下 [DEFAULT] ServerAliveI ...

最新文章

  1. 2.5 使用scriptfiles
  2. PCA原理分析和Matlab实现方法(三)
  3. eclipse中经常用到的快捷键
  4. 近 45 亿元拿下开源服务器 Nginx,F5 买断应用交付未来?
  5. 如何保护Python代码?
  6. ZZFAFA_BilibiliMusic_DownUrl
  7. mysql 主从同步原理
  8. Unreal Engine虚幻引擎下载与安装
  9. php中怎么缩放图片,php中图片的缩放比例-php教程
  10. Mac OX 下方便的微信语音,图片,视频等导出方式
  11. Java Web之过滤器的简单创建
  12. php mysql 单引号_插入MySQL时转义PHP中的单引号
  13. Python爬取京东商品数据
  14. 简单的酒店住房退房管理系统
  15. 思考:客户满意度(CSAT)和净满意度(NSS)区别在哪?
  16. 详说TCP/IP协议
  17. GDI基础(1):绘制线条和图形
  18. 性能测试之tcpcopy引流工具介绍
  19. CDN到底是个什么鬼?看完这篇你就懂了!
  20. xshell中查找命令_Xshell Linux 常用命令

热门文章

  1. html php滚动代码,html中滚动条的代码是什么?如何设置html滚动条?
  2. Unity URP中的多Pass Shader和Planer shadow
  3. 快速学习EndNote X7
  4. Websocket--- long loop--ajax轮询
  5. postgresql 高可用 etcd + patroni 之二 patroni
  6. Ubuntu DNS bind9 配置
  7. runtime--实现篇02(Category增加属性)
  8. 【转】高性能WEB开发系列之重绘与回流
  9. 根据企业信息化应用需求来分析工作流平台的选型
  10. TCP/IP(四):TCP 与 UDP 协议简介