之前的博客介绍过利用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") # 搜狗url
self.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") # 百度URL
self.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,time class MobCodeTest(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(myconfig.browerDriver) # 调用实例化后的浏览器驱动
self.driver.maximize_window()
self.url = myconfig.homedoUrl # 调用实例化后的请求url def test_mobcode(self):
driver = self.driver
driver.get(self.url)
driver.implicitly_wait(3)
driver.find_element_by_link_text("免费注册").click()
driver.find_element_by_id("txtMobileCode").send_keys("")
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自动化测试 -ConfigParser模块读写配置文件

    C#之所以容易让人感兴趣,是因为安装完Visual Studio, 就可以很简单的直接写程序了,不需要做如何配置. 对新手来说,这是非常好的“初体验”, 会激发初学者的自信和兴趣. 而有些语言的开发环 ...

  2. python:利用configparser模块读写配置文件

    在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...

  3. 用ConfigParser模块读写配置文件——Python

    对于功能较多.考虑用户体验的程序,配置功能是必不可少的,如何存储程序的各种配置? 1)可以用全局变量,不过全局变量具有易失性,程序崩溃或者关闭之后配置就没了,再者配置太多,将变量分配到哪里也是需要考虑 ...

  4. Python自动化测试 (二) ConfigParser模块读写配置文件

    ConfigParser 是Python自带的模块, 用来读写配置文件, 用法及其简单. 直接上代码,不解释,不多说. 配置文件的格式是: []包含的叫section,    section 下有op ...

  5. Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...

  6. configparser模块读写ini配置文件

    在自动化测试过程中,为了提高脚本的可读性和降低维护成本,将一些通用信息写入配置文件,将重复使用的方法写成公共模块进行封装,使用时候直接调用即可. 这篇博客,介绍下python中利用configpars ...

  7. python中confIgparser模块学习

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

  8. python中configparser模块读取ini文件

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

  9. python封装configparser模块获取conf.ini值(优化版)

    昨天晚上封装了configparser模块,是根据keyname获取的value.python封装configparser模块获取conf.ini值 我原本是想通过config.ini文件中的sect ...

随机推荐

  1. easyUI按钮图表对照大全

    easyUI图标与对照类的对应关系:

  2. 获取请求的ip工具类

    package com.example.util; import javax.servlet.http.HttpServletRequest; /** * get remote msg * 获取访问的 ...

  3. AndroidStudio安装、配置、测试

    AndroidStudio安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装测试 4.模拟器安装.使用 5.常用配置 6.注事事项 7.相关博文 >>看 ...

  4. C# 使用System.Data.OleDb;避免oracle中文乱码问题

    首先,需要保证oracle客户端服务器的字符集是一样的,并且保证该字符集支持中文.你可以使用plsql查看是否乱码. 代码: using System; using System.Collection ...

  5. android 圆角背景

    <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http: ...

  6. Mac上一条命令搭建web服务器

    实际测试工作中偶尔会需要搭建Web服务器环境,由于Mac OS X自带了Apache和PHP环境,只需要简单的启动就可以. 开启Apache 开启Web服务器的方法有两种(默认启动端口号是80): 打 ...

  7. 自动化测试基础篇--Selenium简单的163邮箱登录实例

    摘自https://www.cnblogs.com/sanzangTst/p/7472556.html 前面几篇内容一直讲解Selenium Python的基本使用方法.学习了什么是selenium: ...

  8. win10优化开机进程

    一种比杀毒软件都优化还给力的方法,还在为开机几百个程序启动发愁嘛.一般电脑在重装系统之后的开机进程在50左右,而随着安装程序的增多开机进程将越来越多.下面介绍怎么优化win10进程的方法 之后重启电脑 ...

  9. 排序算法之希尔排序的思想以及Java实现

    1 基本思想 shell排序又称之为缩小增量排序,基本思想是,先将待排序序列分割成若干个特殊的子表,分别进行插入排序,当整个表中元素"基本有序"时,再对全体记录进行一次直接插入排序 ...

  10. 排序算法之直接插入排序的思想以及Java实现

    1,基本思想 假设待排序的数据是数组A[1-.n].初始时,A[1]自成1个有序区,无序区为A[2-.n].在排序的过程中,依次将A[i] (i=2,3,-.,n)从后往前插入到前面已排好序的子数组A ...