《手把手教你》系列进阶篇之4-python+ selenium自动化测试 - python几种超神操作你都知道吗?(详细教程)
2024-10-06 11:52:20
1. 简介
今天分享和讲解的超神操作,对于菜鸟来说是超神的操作,对于大佬来说也就是几个简单方法的封装和调用。这里讲解和分享这部分主要是为了培养小伙伴们和童鞋们的面向对象的开发思维,对比这样做的好处让你自己身临其境的感受一番。
2. 自定义封装一个简单的Log类
本文介绍如何写一个Python日志类,用来输出不同级别的日志信息到本地文件夹下的日志文件里。为什么需要日志输出呢,我们需要记录我们测试脚本到底做了什么事情,最好的办法是写事件监听。这个事件监听,对我们现在来说,还是有点复杂去理解,所以我这里,选择封装一个简单的日志类,同样达到这个效果。
我们大概需要如下日志输出效果:
2.1 问题分析:
我们需要封装一个简单的日志类,主要有以下内容:
1. 生成的日志文件格式是 年月日时分秒.log
2. 生成的xxx.log文件存储在项目根目录下Logs文件夹下
3. 这个日志类,支持INFO,ERROR两种日志级别
4. 日志里,每行日志输出,如上图,时间日期+执行类名称+日志级别+日志描述
2.2 解决问题思路:
1. 在根目录下新建一个Logs的文件夹,如何获取这个Log的相对路径,前面介绍过。
2. 日志的保存命名,需要系统时间,前面也介绍过时间格式化输出
3. Python中有一个logging模块来支持我们自定义封装一个新日志类。
4. 在脚本里,初始化一个日志类的实例对象,然后去控制输出INFO还是ERROR日志信息。
自定义日志类封装如下:logger.py,新建在test包下
2.3 代码实现:
2.4 参考代码:
# coding=utf-8最新文章
- 利用django创建一个投票网站(五)
- Play Framework 完整实现一个APP(十)
- excel读取
- 浅谈Java泛型之<;? extends T>;和<;? super T>;的区别
- ServiceStack Redis客户端的bug
- C# 总结
- inline-block的兼容性问题
- C++类的成员初始化列表的相关问题
- POJ2242 The Circumference of the Circle(几何)
- lightoj 1408 Batting Practice
- 性能测试分享:MYSQL死锁
- Swift三元条件运算
- 如何将1234通过java变成4321,下面介绍几种办法。
- vue day5 分页控件 更新 PagedList.mvc 仿
- 20165235 祁瑛 Java第四周考试总结
- CentOS7本地安装MySQL5.7
- 分布式监控系统Zabbix-3.0.3-完整安装记录 - 添加shell脚本监控
- TextView设置文字包含中英文时自动换行问题的终极解决方案
- testng入门教程9 TestNG依赖测试
- 深度学习基础系列(四)| 理解softmax函数
热门文章
- leetcode算法笔记:二叉树,动态规划和回溯法
- 关于html与css的标签及属性(text文本属性、背景background属性、表格标签table、列表、)
- java编程思想第四版第七章习题
- nyoj 113-字符串替换 (python replace, try ... except)
- 领扣(LeetCode)二叉树的右视图 个人题解
- js数组之sort()函数
- Windows 10上源码编译glog和gflags 编写glog-config.cmake和gflags-config.cmake | compile glog and glags on windows from source
- c++中实现单例模式singleton class
- 解决django或者其他线程中调用scrapy报ReactorNotRestartable的错误
- Tomcat安装和使用