配置文件
配置文件
至少可以分出:接口服务器、数据库服务器
配置文件存储服务器的相关信息(主要包括IP地址、端口号、应用名、接口名、数据库用户名、数据库密码、数据库端口号、数据库名等)
一般一个配置文件只存储一种服务器的相关信息,通常把多个接口服务器的信息存在同一个配置文件中,把多个数据库服务器信息存储在另一个配置文件中:
配置文件的写法:
[自定义节点名1]
IP=172.166.100.65
port=80
[自定义节点名2]
IP=172.166.100.66
port=8080
讲课中的案例:
exam项目:exam/login/ 、exam/signup/ 端口号80
发布会项目:sign/接口名,端口号是8080
配置文件的意义
测试过程中可能会配备多台测试服务器、多台数据库服务器,可以把使用的服务器环境配置情况写入配置文件
配置文件的扩展名
可以是.ini、.cfg、.conf、.config、.txt等
配置文件的格式
[节名1] -- 节名 节点名 建议书写英文单次或拼音
键1=值1
键2=值2
....
[节名2] -- 一个节名 代表一个服务器
键3=值3 ;注释 结尾加;书写注释
创建server.conf文件
用于记录接口服务器的相关配置信息
[host-211] ;服务器1,自定义名称,不重复
;接口地址格式:http://IP:端口号/path?参数
ip=172.166.0.211
port=80
[host-104] ;服务器2
ip=192.168.0.104
port=8080
配置project_h1目录下server.conf文件
[exam] ;书写内容公司会有相应文档 exam项目:包括登录和注册接口
IP=192.168.175.128
port=80
[sign];发布会项目:添加发布会、查询发布会
IP=192.168.175.128
port=8080
创建db.conf文件
用于记录数据库服务器的相关配置信息
[mysql-211] ;数据库服务器1
host=172.166.0.211
port=3306
user=root
password=123456
db=exam
[mysql-104] ;数据库服务器2
host=192.168.0.104
port=3306
user=root
password=123456
db=exam
配置project_h1目录下db.conf文件
[exam] ;exam项目 上课的案例
host=192.168.175.128
port=3306
user=root
password=123456
db=exam
[sign] ;发布会项目 上课的练习
host=192.168.175.128
port=3306
user=root
password=123456
db=guest
创建entry.ini文件
被测接口和数据库的入口地址
在每次执行测试之前,手动修改此文件
用于指定本次测试要使用的server.conf节名和db.conf节名
[entry]
which_server=host-211
which_db=mysql-211
配置project_h1目录下entry.ini文件
[entry];入口:用于指定测试使用的服务器
which_server = exam
which_db = exam
读配置文件的步骤
导包
import configparser
创建ConfigParser对象
confile=configparser.ConfigParser()
读配置文件
confile.read('配置文件名')
文件中有中文字符时,需用encoding='utf-8'指定字符编码
获取节名和键值
var=confile.get('节名','键名')
返回类型为字符串
读配置文件entry.ini,输出配置信息
"""
读配置文件entry.ini,输出配置信息
步骤:
1.导入configparser
2.创建ConfigParser对象
3.读文件
4.取数据
5.输出/返回数据
"""
import configparser
def read_entry():# 定义函数define:读入口函数
confile = configparser.ConfigParser()# 创建对象 这里是CinfigParser类
confile.read('entry.ini',encoding='utf-8')#左边不要写=,输入数据存入confile对象中;只要有中文就要加字符编码
which_server = confile.get('entry','which_server')#将本次测试的接口服务器名读出
which_db = confile.get('entry','which_db')# 将本次测试的数据库服务器名读出
return which_server,which_db
print(read_entry())# 调用函数,函数中有return,则不能省略print()
读配置文件server.conf
"""
读配置文件server.conf,输出配置信息
"""
import configparser # 配置转换
def read_server(section,interface):# 读取接口服务器信息,参数为节点名section,section为形式参数
confile = configparser.ConfigParser()
confile.read('server.conf',encoding='utf-8')
ip = confile.get(section,'IP')# 取节点、键
port = confile.get(section,'port')
host = 'http://'+ip+':'+port+'/'+interface
return host
# 调用函数
print(read_server('exam','exam/login.php'))# 看exam项目的接口地址
print(read_server('sign','sign/login_cathion/'))# 看发布会项目sign的接口地址
读配置文件db.conf
"""
读配置文件db.conf,输出配置信息
1.导入configparser
2.创建对象
3.读文件
4.根据节点名和键名读数据
5.根据需要,组装数据,返回结果
"""
import configparser
def read_db(which_db): # which_db代表哪一个数据库服务器
confile = configparser.ConfigParser()
confile.read('db.conf', encoding='utf-8')
host = confile.get(which_db, 'host') # 取数据库主机名
port = confile.get(which_db, 'port') # 端口号
user = confile.get(which_db, 'user') # 数据库用户名
password = confile.get(which_db, 'password') # 数据库密码
db = confile.get(which_db, 'db') # 数据库名
# 考虑到连接数据库时,语法是:connect(host=,user=)
# 用字典可以很容易的转化为host=这种形式
dbinfo = {'host': host, 'port': int(port), 'user': user, 'password': password, 'db': db}
return dbinfo
print(read_db('exam')) # exam节点名称
# print(read_db('sign'))