自动化测试框架(九):用例执行日志收集及注册时手机号处理
日志处理
import logging
from logging import Logger
class MyLoger(Logger):
def __init__(self):
# conf = MyConf("conf.ini")
# file = conf.get("log", "file")
file = "api.log"
# 1、设置日志的名字、日志的收集级别
# super().__init__(conf.get("log","name"), conf.get("log","level"))
super().__init__("py37_api", logging.INFO)
# 2、可以将日志输出到文件和控制台
# 自定义日志格式(Formatter)
fmt_str = "%(asctime)s %(name)s %(levelname)s %(filename)s [%(lineno)d] %(message)s"
# 实例化一个日志格式类
formatter = logging.Formatter(fmt_str)
# 实例化渠道(Handle).
# 控制台(StreamHandle)
handle1 = logging.StreamHandler()
# 设置渠道当中的日志显示格式
handle1.setFormatter(formatter)
# 将渠道与日志收集器绑定起来
self.addHandler(handle1)
if file:
# 文件渠道(FileHandle)
handle2 = logging.FileHandler(file, encoding="utf-8")
# 设置渠道当中的日志显示格式
handle2.setFormatter(formatter)
self.addHandler(handle2)
注册时手机号处理
from faker import Faker
from common.my_mysql import MyMysql
def handle_phone():
# 数据库中是否已存在次手机号
while True:
# 通过faker库生成手机号
phone=Faker("zh_CN").phone_number()
#判断手机号在数据库中是否已经存在
sql="select id from member where mobile_phone='{}'".format(phone)
res=MyMysql().get_count(sql)
# 不存在则返回,否则则继续
if res==0:
return phone