首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
聊聊Web自动化测试:黑盒、白盒、α测试、β测试、冒烟测试、回归测试
Selenium三剑客:WebDriver、IDE、Grid一网打尽
Selenium开发环境搭建
下载安装浏览器驱动:教你解决最麻烦的版本匹配问题
第一个Selenium测试:Selenium测试流程、源码分析
实现元素定位:掌握Selenium八大定位方法
通过打车生活案例,深入剖析WebDriver运行原理
掌握WebDriver核心方法和属性的使用
掌握WebElement核心方法和属性的使用
form表单:熟练掌握form表单操作步骤
掌握checkbox和radiobutton的定位技巧
下拉列表:熟练使用Select类,来实现下拉列表定位
弹框处理:掌握alert、confirm、prompt三种弹出的用法
Selenium三种等待方式:剖析原理、用法和应用场景
Selenium等待条件:掌握17种元素等待条件
掌握鼠标单击、双击、右击,键盘输入、键盘组合键的应用
熟练执行JavaScript的方法和技巧,掌握JavaScript操作滚动条
Selenium屏幕截图:实现屏幕截屏、按照日期时间格式保存图片
掌握frame、iframe定位,熟练frame的切入和切出
下载安装Selenium IDE:下载安装Chrome、Firefox插件IDE
熟练Selenium IDE菜单栏、工具类、命令窗口的使用
Selenium IDE实现录制和回放及脚本导出
项目环境搭建:安装JDK、MySQL、Tomcat和测试系统
需求分析和用例设计:深度挖掘需求,掌握测试用例设计范式
项目架构设计:掌握分层设计思想,合理设计目录和包结构
解决验证码问题-方案一:使用pytesseract和Pillow实现验证码识别
解决验证码问题-方案二:通过第三方AI库识别验证码
实现工具类:设计获得验证码、随机字符串生成、cookie操作工具类
完成用户注册测试用例:解决验证码、等待弹框等复杂内容
完成用户登录测试用例:实现登录成功和失败测试
完成管理员登录测试用例:完成验证码正确和错误测试用例
完成文章分类测试用例:解决测试用例依赖问题
完成添加、删除文章测试用例
unittest简介:测试用例、测试套件、测试运行器、测试加载器
unittest中的方法:掌握各种setup、teardown和断言方法
测试用例、测试套件和测试加载器:掌握加载测试用例的四种方法
使用unittest重构测试用例:掌握使用unittest模块的方法和技巧
为项目添加测试报告:使用第三方模块实现测试报告
pytest框架简介:pytest安装、用例编写规则、执行用例
pytest标记:查找测试策略、标记测试函数
pytest参数化处理:使用参数化装饰器、解析列表、元组、字典等数据
pytest Fixture:使用fixture实现用例之间的调用
pytest setup 和 teardown
pytest allure生成测试报告
使用pytest重构项目:实现用例依赖、测试报告、数据参数化
logging模块简介:日志的作用、等级和常用函数
logging日志格式输出:日志发生的时间、文件、模块、行号等信息格式输出
logging模块四大组件:Logger、Handler、Formatter、Filter的用法
为项目添加日志:将日志应用到项目
使用csv模块读取CSV文件,使用pytest参数化实现DDT
使用json模块读取json文件,使用pytest参数化实现DDT
使用xlrd模块读取excel文件,使用pytest参数化实现DDT
Selenium读取数据库数据:将数据保存到数据库,实现数据驱动的测试
Selenium DDT:使用DDT模块实现数据驱动的测试
使用DDT思想重构项目:使用数据库保存数据,将数据驱动思想应用到项目
POM设计模式简介:理解页面-对象-模型设计模式,实现代码的松耦合
设计BasePage类:设计基类,提高项目的代码重用性
设计项目页面对应的PO类:使用POM设计模式设计PO类
设计项目测试用例:将POM设计模式应用到项目
Selenium Grid下载安装:配置Java运行环境,下载安装Selenium Grid
Selenium注册node节点
使用Selenium执行远程测试
Jenkins环境搭建:下载安装Jenkins
在Jenkins中运行项目
邮件通知:实现邮件通知功能
定时运行项目,实现真正的自动化测试
当前位置:
首页>>
技术小册>>
Selenium自动化测试实战
小册名称:Selenium自动化测试实战
### 章节:logging模块简介:日志的作用、等级和常用函数 在自动化测试领域,尤其是使用Selenium进行Web自动化测试时,日志记录(Logging)是不可或缺的一环。它不仅能帮助开发者和测试人员追踪程序的执行过程,还能在出现问题时迅速定位原因,从而提高测试效率和问题解决的速度。Python内置的`logging`模块提供了一个灵活而强大的日志记录系统,适用于各种规模的项目。本章节将深入介绍`logging`模块的作用、日志等级划分以及常用的函数和配置方法。 #### 一、日志的作用 日志记录是软件开发和测试过程中的一项基础活动,其作用主要体现在以下几个方面: 1. **问题追踪与调试**:通过记录程序的运行细节,可以在程序出错时快速定位问题发生的位置和原因,加速调试过程。 2. **性能监控**:分析日志数据可以了解程序的运行效率,识别潜在的性能瓶颈,进而优化代码或系统架构。 3. **安全审计**:记录敏感操作和用户行为,为系统安全审计提供依据。 4. **运行信息记录**:记录程序的正常执行流程,便于后续分析和复盘。 5. **团队协作**:在多人协作的项目中,日志记录有助于团队成员之间的沟通和协作,减少沟通成本。 #### 二、日志等级 `logging`模块定义了多个日志等级,用于区分日志信息的重要性和紧急性。从低到高依次为:DEBUG、INFO、WARNING、ERROR、CRITICAL。 - **DEBUG**:最详细的日志信息,主要用于调试。开发者可以在此级别下记录所有可能对调试有用的信息。 - **INFO**:一般信息,用于记录程序运行时的关键节点或业务逻辑的主要流程。 - **WARNING**:警告信息,表示可能会发生的潜在问题,但当前并不影响程序运行。 - **ERROR**:错误信息,表示程序执行中遇到了问题,但程序还能继续运行。 - **CRITICAL**:严重错误,表示程序已经无法继续执行,必须立即采取措施。 通过合理设置日志等级,开发者可以根据需要记录不同详细程度的日志信息,既不过于冗余也不过于简略。 #### 三、常用函数 `logging`模块提供了一系列函数和类,用于创建日志记录器、配置日志格式和输出位置等。以下是一些常用的函数和配置方法: 1. **基本配置** 使用`logging.basicConfig()`函数可以快速对日志系统进行基本配置。这个函数允许你设置日志级别、日志文件路径、日志格式等。 ```python import logging logging.basicConfig(level=logging.DEBUG, filename='app.log', filemode='a', format='%(name)s - %(levelname)s - %(message)s') ``` 上述代码设置了日志级别为DEBUG,将日志输出到`app.log`文件中,文件模式为追加模式,并定义了日志的格式。 2. **记录日志** 通过日志记录器的`debug()`、`info()`、`warning()`、`error()`、`critical()`等方法来记录不同等级的日志。 ```python logger = logging.getLogger(__name__) logger.debug('这是一个debug级别的日志') logger.info('这是一个info级别的日志') logger.warning('这是一个warning级别的日志') logger.error('这是一个error级别的日志') logger.critical('这是一个critical级别的日志') ``` 注意,如果日志记录器的级别高于实际记录的日志级别,该日志将不会被输出。 3. **日志格式化** 日志格式通过`format`参数定义,`%(name)s`、`%(levelname)s`、`%(message)s`等是常用的格式化字段,分别代表日志记录器的名称、日志级别和日志消息。 ```python logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') ``` 在上述配置中,`%(asctime)s`将添加时间戳到日志消息中。 4. **日志轮转与过滤** 对于大型应用或长时间运行的服务,日志文件可能会变得非常大。`logging.handlers`模块提供了一些处理器(Handlers),如`RotatingFileHandler`和`TimedRotatingFileHandler`,用于实现日志文件的轮转。 ```python from logging.handlers import RotatingFileHandler handler = RotatingFileHandler('app.log', maxBytes=1024*1024, backupCount=5) logger.addHandler(handler) ``` 上述代码配置了一个日志处理器,当日志文件达到1MB时会自动轮转,最多保留5个备份文件。 此外,`logging`还提供了过滤器(Filters)机制,允许你根据特定条件过滤日志消息。 5. **日志的灵活配置** 对于复杂的项目,可能需要更灵活地配置日志系统。这时,可以通过编程方式创建日志记录器、处理器和格式化器,并将它们组合起来。 ```python logger = logging.getLogger('my_logger') logger.setLevel(logging.DEBUG) formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') file_handler = logging.FileHandler('app.log') file_handler.setFormatter(formatter) logger.addHandler(file_handler) ``` 以上代码创建了一个名为`my_logger`的日志记录器,设置了日志级别为DEBUG,并为其添加了一个文件处理器和一个格式化器。 #### 四、总结 `logging`模块是Python中一个强大且灵活的日志记录系统,通过合理配置和使用,可以显著提升软件开发和测试的效率。在Selenium自动化测试项目中,合理利用日志记录可以帮助我们更好地理解测试的执行过程,快速定位并解决测试中的问题。无论是基本的日志记录,还是复杂的日志轮转和过滤,`logging`模块都提供了丰富的功能和灵活的配置选项,以满足不同项目的需求。通过本章节的介绍,相信读者已经对`logging`模块有了较为全面的了解,并能够在自己的项目中加以应用。
上一篇:
使用pytest重构项目:实现用例依赖、测试报告、数据参数化
下一篇:
logging日志格式输出:日志发生的时间、文件、模块、行号等信息格式输出
该分类下的相关小册推荐:
Python与办公-玩转PDF
机器学习算法原理与实战
Python面试指南
Python合辑11-闭包函数
Python编程轻松进阶(四)
Python3网络爬虫开发实战(下)
Python编程轻松进阶(三)
Python编程轻松进阶(五)
Python机器学习实战
Python与办公-玩转Excel
Python高性能编程与实战
Python与办公-玩转Word