logging模块和ATP(自动化简单框架)

1.自动化

自动化三种:数据驱动,代码驱动,关键字驱动。

框架其实就是工具的集合。

数据驱动 :根据数据来去测试的。比如case是存在excel中的数据

代码驱动: 测试用例都是写代码来测试的。业务case是代码实现

关键字驱动   主要用于ui自动化  有集成包比如

点击  -->  .click()

下一步

提交  --> .submit()

根据字典中存放的对应的方法,直接只需了解关键字就可以(适合对对吗不了解)

{

‘点击‘:click()

‘提交‘:submit()

}

2.日志模块logging

import logging    #日志模块导入

# logging# logging.basicConfig(level=logging.DEBUG,#控制台打印的日志级别#                     filename=‘hahah.log‘,     #指定log存放的文件#                     filemode=‘a‘,     #指定写入的模式为追加模式#                     format=#                     ‘%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s‘#                     #日志格式#                     )     #这种写法对于中文会乱码并且控制台不再打印日志日志的四种级别# logging.debug(‘debug级别,最低级别,一般开发人员用来打印一些调试信息‘)# logging.info(‘info级别,正常输出信息,一般用来打印一些正常的操作‘)# logging.warning(‘waring级别,一般用来打印警信息‘)# logging.error(‘error级别,一般用来打印一些错误信息‘)

综上情况  从新设计:

# 1、办公室

# 2、负责往控制台里面输出日志信息的

# 3、往日志文件里面写日志的,按天生成日志,清理日志

import logging    #日志模块导入

from logging import handlers     #导入相应

logger = logging.getLogger()  #先实例化一个logger对象,先创建一个办公室

logger.setLevel(logging.DEBUG) #设置日志的级别的人

# fl = logging.FileHandler(filename=‘a.log‘,mode=‘a‘,encoding=‘utf-8‘)该功能也能写bl功能更强大。

cl = logging.StreamHandler() #负责往控制台输出的人

bl = handlers.TimedRotatingFileHandler(filename=‘a.log‘,when=‘S‘,interval=1,backupCount=3,encoding=‘utf-8‘)   #负责往日志文件出入interval=间隔多长时间生成,backupCount保留几个

#  when,按什么单位,生成日志。

#S 秒

# M 分

# H 小时、

# D 天、

# W 每星期(interval==0时代表星期一)

fmt = logging.Formatter(‘%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s‘)   #日志格式 一般固定写法

cl.setFormatter(fmt) #设置控制台输出的日志格式

bl.setFormatter(fmt) #设置文件里面写入的日志格式

logger.addHandler(cl) #把已经调教好的人放到办公室里

logger.addHandler(bl) ##把已经调教好的人放到办公室里

#指定日志的格式

logger.debug(‘我是debug。。。‘)

logger.warning(‘我是waring。。。‘)

思考并查看:

#1、先看看,是不是控制台也有了,文件里面也有了,中文也不是乱码了

#2、每秒运行一次,看看是不是每秒都会产生一个文件

#3、再看看是不是帮你备份3个

3.封装写日志的类

import logging

from logging import handlers

class MyLogger():

def __init__(self,file_name,level=‘info‘,backCount=5,when=‘D‘):

logger = logging.getLogger()  # 先实例化一个logger对象,先创建一个办公室

logger.setLevel(self.get_level(level))  # 设置日志的级别的人,根据函数传入

cl = logging.StreamHandler()  # 负责往控制台输出的人

bl = handlers.TimedRotatingFileHandler(filename=file_name, when=when, interval=1, backupCount=backCount, encoding=‘utf-8‘)

fmt = logging.Formatter(‘%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s‘)

cl.setFormatter(fmt)  # 设置控制台输出的日志格式

bl.setFormatter(fmt)  # 设置文件里面写入的日志格式

logger.addHandler(cl)

logger.addHandler(bl)

self.logger = logger

def get_level(self,str):  #方便写日志级别

level = {

‘debug‘:logging.DEBUG,

‘info‘:logging.INFO,

‘warn‘:logging.WARNING,

‘error‘:logging.ERROR

}

str = str.lower()       #这样就会不区分输入的大小写

return level.get(str)    #取日志字典中的级别

lw_log = MyLogger(‘lw.log‘,‘debug‘)

lw_log.logger.warning(‘哈哈哈‘)

4..自我设计一个excel相关的测试框架。

分析所需封装的要求如

1、获取用例

2、调用接口

3、校验结果的

4、发送测试报告

5、异常处理

6、日志

原文地址:https://www.cnblogs.com/cslw5566/p/9108550.html

时间: 2024-11-01 18:15:59

logging模块和ATP(自动化简单框架)的相关文章

接口自动化简单框架

接口自动化简单框架 一.自动化测试分类: 1.数据驱动:根据数据(读取EXCEL数据)来测试 2.代码驱动:测试用例都是代码,通过读取代码测试 3.关键字驱动:UI自动化,根据封装好的工具,输入关键字测试,有点傻瓜式测试 点击 --> .click() 下一步 提交 --> .submit() { '点击':click() '提交':submit() } 二.自动化框架 自动化框架:可以理解为工具的集合.在日常工作中根据需要实现某些功能,封装起来.或结合其他自动化工具. 三.搭建数据驱动自动化

Python基础(12)_python模块之sys模块、logging模块、序列化json模块、pickle模块、shelve模块

5.sys模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 5.1 使用sys.argv进行登录判断,跳过 i/o阻塞 #使用sys.argv进行登录判断,跳过 i/o阻塞 import s

Python网络爬虫_Scrapy框架_2.logging模块的使用

logging模块提供日志服务 在scrapy框架中已经对其进行一些操作所以使用更为简单 在Scrapy框架中使用: 1.在setting.py文件中设置LOG_LEVEL(设置日志等级,只有高于等于本等级的日志会显示) LOG_FILE(设置日志保存位置,设定后不会在终端显示日志) 2.实例化logger(getLogger方法可以显示__name__也就是文件名) logger.warning("消息"): 以waring等级输出日志消息 在普通文件中使用: 该代码只显示消息 HD

python+selenium自动化软件测试(第9章) :Logging模块

9.1 Logging模块 什么是日志记录?记录是跟踪运行时发生的事件的一种手段.该软件的开发人员将记录调用添加到其代码中,以指示某些事件已发生.事件由描述性消息描述,该消息可以可选地包含可变数据(即,对于事件的每次出现可能不同的数据).事件也是开发人员对事件的重视; 重要性也可以称为级别 或严重性.记录功能logging.debug('此功能提供详细信息')logging.warning('意外发生')logging.error('用于存储异常跟踪')logging.info('确认事情正在按

logging模块简单用法

logging模块功能比较多,但一般情况下使用其简单功能就已经足够了. 最简单的用法如下: import logging logging.baiscConfig(level=logging.DEBUG) logging.debug('message') logging.critical('message') logging.warning('%s before you %s', 'Look', 'leap!') logging.warning('{} before you {}'.format(

logging模块及日志框架

logging模块及日志框架 logging模块 一.导入方式 import logging 二.作用 写日志 三.模块功能 3.1 经常使用 # V1 import logging logging .debug(('调试')) #10 logging.info('正常') #20 logging.critical('严重错误') #30 logging.error('错误') #40 logging.warning('警告') #50 #默认级别为30以上的可以打印 # V2 import l

python+Appium自动化:日志logging模块

日志级别 debug.info.warn.error.critical五个级别 logging模块构成(四部分) logger(记录器,用于日志采集) Handler(处理器,将日志记录发送到合适的路径) Filter(过滤器,提供了更好的粒度控制,决定输出哪些日志记录) Formatter(格式化起,指明了日志的格式) logger(记录器) 在使用debug.info.warn.error.critical五个级别之前创建logging实例 方法:basicConfig()为日志记录系统做基

python中logging模块的一些简单用法

用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来记录我想要的信息.print也可以输入日志,logging相对print来说更好控制输出在哪个地方,怎么输出及控制消息级别来过滤掉那些不需要的信息. 1.日志级别 import logging # 引入logging模块 # 将信息打印到控制台上 loggin

python logging模块打印log到指定文件

可能我们经常会使用print来输出信息到窗口,但当我们有很多个py文件需要运行,项目比 较庞大的到时候,print简直就是太low了点了.那么我们可以使用强大的logging模块,把 输出到指定的本地pc某个路径的文件中. 一. logging的框架1. Loggers: 可供程序直接调用的接口,app通过调用提供的api来记录日志2. Handlers: 决定将日志记录分配至正确的目的地3. Filters:对日志信息进行过滤, 提供更细粒度的日志是否输出的判断4. Formatters: 制