配置文件是用于配置计算机程序的参数和初始化设置的文件。如果没有这些配置文件,程序将无法运行。比如现在要开发一款APP,部署这款APP时,需要配置它的host地址、数据库地址、数据库名称,这些都可以作为配置项写入配置文件。当项目上线时,只需要修改配置文件,不需要去代码中到处查找。
配置文件通常是key/value的形式存在,任何支持解析key/value形式的文件都可以作为配置文件。
现在主流的配置文件格式:Linux中的.bashrc、YAML、TOML、JSON、XML、INI
2、yaml文件格式.yaml/.yml
yaml文件中的内容表示方式:键 : 值 (注意:冒号前后必须加空格) 字符串可以加引号,也可以不加引号,建议加引号,可以减少bug
读取yaml文件安装pyyaml,安装方法同unittestreport
新建py文件,读取yaml文件
import yaml
# 读取yaml文件
with open('demo.yaml',encoding='utf-8') as f:
# 安全加载
data = yaml.safe_load(f)
# data是一个字典
print(data)
输出:{'username': 'xiaohuochai', 'password': 123456, 'hobby': [1, 2, 3], 'hobby1': [1, 2, 3], 'info': {'hobby': '123', 'an': 'how'}, 'info1': {'hobby': '123', 'an': 'how'}}
在自动化测试中可以使用yaml文件保存设置选项,也可以使用yaml保存测试用例数据。
3、ini配置格式 4、log日志程序运行过程中产生的信息。程序如何运行。
日志的作用:方笔定位、记录。
日志包含的信息:日期、等级、信息等级:
1、NOSET 0 等于没写,无用的信息
2、debug,10,调试,一些额外信息、备注,往往和主体功能无关。日报里面的备注。
3、info,20 主体的功能信息,相当于日报,做了些啥。
4、warning,30,警告,下次可能要出错。
5、error,40,犯错、违法
6、critical,50,极其严重的错误
loguru记录程序运行的日志:
1、logger.info() 记录步骤
2、logger.error() 记录异常
首先要安装,安装方法同unittestreport
注意输出日志不同等级的颜色
具体在用例中的用法import unittest
from loguru import logger
def login(username = None,password = None):
if username is None or password is None:
return {"code":"400","msg":"用户名或密码为空"}
elif username == "yuze" and password == "123":
return {"code":"200","msg":"登录成功"}
else:
return {"code":"300","msg":"用户名或密码错误"}
class TestLogin(unittest.TestCase):
def test_login_1(self):
username = "xiaodouhao"
password = "1234"
expected = {"code":"400","msg":"用户名或密码错误"}
logger.info("正在执行测试用例1")
actual = login(username,password)
self.assertEqual(expected,actual)
logger.info("测试用例1执行完毕")
可以在程序的任意一行增加info
当代码预计会发生错误是可以添加error,断言时可能会抛出异常,使用try except 捕获异常。注意一定要加raise,抛出异常。
def test_login_1(self):
username = "xiaodouhao"
password = "1234"
expected = {"code":"400","msg":"用户名或密码错误"}
logger.info("正在执行测试用例1")
actual = login(username,password)
try:
self.assertEqual(expected,actual)
except AssertionError as e:
logger.error("测试用例1断言失败")
raise e
logger.info("测试用例1执行完毕")
将日志保存在文件中
需要在程序的开头增加:
logger.add(sink="demo.log",encoding="utf-8",retention="100 MB")
会自动生成demo.log文件。
参数说明:
retention="100 MB" 表示当日志文件大于100MB时会新建另一个日志文件。可以省略。
retention="12:00" 表示每天12点后会生成日志文件。
retention="1 week" 表示每周会生成日志文件。
retention="10 day" 表示每10天会生成日志文件。



