先说config
[FLAG] #这是section 也就是片段
option = on #option 和caselist 叫option
caselist=[1,3] #on [1,3] 叫value
import configparser
con = configparser.ConfigParser()
con.read(“case.config”,encoding=“utf-8”)#调用函数,打开文件
value = con.get(“FLAG”,“caselist”)#configparser获取到的值都是str类型的
res = eval(value)
print(“获取到的数据是{}”.format(eval(value)))
print(type(res))#eval 是一个把括号里面的值改成本来想要的类型的函数,貌似挺牛逼
再说DDT
‘’’
ddt Data-Driven Tests的缩写
也就是数据驱动测试
主要是拆分数据,传递参数给测试用例的
‘’’
import unittest
from ddt import ddt,data,unpack#ddt data unpack 都是装饰器,运行用例之前,要先运行装饰器
test_data=[[1,2],[3,4]]#emm 这个数据呢,还是要放在ddt前面,要不就报错
tes__data=[{“a”:11,“b”:12},{“a”:13,“b”:14}]#然后类,还必须要是列表,或者由列表嵌套的,要不还报错
@ddt #ddt 专门装饰测试类的
class MathMethod(unittest.TestCase):
@data(*tes__data) #专门装饰测试用例的,只负责装饰一条用例
@unpack #这个装饰器呢,可以把@data拆分的数据,再以 , 进行拆分,分成几个参数,就要在用例里面传几个参数,要不就会报错
def test_add(self,a,b):
# a=item[“a”]
# b=item[“b”]
print(a+b)
最后呢,就是这个log
‘’’
log 分了五个级别:debug info warning error critical 从左到右 严重级别依次加重
logging的日志收集机制 默认的顶级收集器 就是root
root 默认只输出warning及以上级别的日志
‘’’
import logging
logging.debug(“ahahahahha”)
logging.info(“laiaasdada”)
logging.warning(“hahahah”)
logging.error(“jiu”)
logging.critical(“critical”)
你会发现呢,只输出了warning、error、critical这三个级别的日志
下面 改造一下
首先呢,定义一个属于自己的日志收集器
mylogger=logging.getLogger(“learninglog”)
然后呢,设置级别
mylogger.setLevel(“DEBUG”)
再创建一个输出渠道
ch=logging.StreamHandler()
然后把输出渠道和自定义的日志收集器对接起来
ch.setLevel(“ERROR”)#这里设置的是最终输出的级别,如果它被注释了,就输出上一个设置的级别
mylogger.addHandler(ch)
mylogger.debug(“ahahahahha”)
mylogger.info(“laiaasdada”)
mylogger.warning(“hahahah”)
mylogger.error(“jiu”)
mylogger.critical(“critical”)