转载请注明作者和出处。
今天花了一些时间,过了一下这几年自己用Python开发的自动化测试框架,然后将其中常用到Python库抽出来,简单整理了一下它们的用处。我觉得,只要掌握了这些常用的Python库,足以应对大多数自动化测试框架和工具的开发工作。
为了从若干源代码文件中找出这些被引用的Python库,还专门写了一个小工具来查找它们,该工具已经上传到github,地址是:import_search.py
如果各位在平时工作中,发现了好用的Python库,也请留言注明,我好补充。
基本库:
sys 程序和Python解析器的交互
os 启动新进程;操作文件和目录
re 正则表达式,字符串匹配
string 基本字符串操作
inspect 提供自省和反射功能
importlib 支持动态导入
bitstring二进制数据处理
zipfile 压缩解压文件
tarfile 压缩解压文件
random 随机数,概率
uuid 生成唯一码
defaultdict 带默认值的字典
fcntl 操作文件描述符
signal 信号处理
threading 线程库,构建并发应用
psutil 系统性能参数
命令行,读取配置:
optparse 处理命令行选项
glob 文件路径查找
yaml 访问yaml数据文件
ConfigParser 读取配置文件
xml XML库
pickle 序列化
json 序列化
网络请求相关:
libxml2 XML解析器
urlparse URL解析
urllib 访问URL资源
urllib2 访问URL资源
cookielib http客户端的cookie处理
requests 神器,用于发送网络请求,常用于接口测试
httplib http请求客户端
BeautifulSoup 从HTML或XML文件中提取数据的Python库
网络数据包:
scapy 网络嗅探工具包
dpkt 网络数据报解析
pcapy 解析pcap文件
socket TCP,UDP数据协议
struct 将python基本类型值与用python字符串格式表示的C struct类型间的转化,主要用于网络数据传输
测试系统构建:
flask 构建web应用,构建HTTP接口
tornado 构建web应用,构建HTTP接口
BaseHTTPServer 简单HTTP服务器
appium App自动化测试工具
selenium 大名鼎鼎的web自动化测试工具
behave BDD自动化测试框(通用自动化测试框架)
unittest Python内置自动化测试框架(通用自动化测试框架)
logging 日志库
traceback 调试信息
nanotime 纳秒级的时间
time 时间访问和转换函数
datetime 日期和时间
jenkinsapi 访问jenkins
分布式系统构建:
xmlrpclib 基于xml的远程RPC库
fabric 利用ssh高效部署和管理系统的工具,用于远程执行命令和部署文件
paramiko 遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。用于远程执行命令和部署文件
大数据和数据库相关:
avro avro是一个数据序列化系统
etcd etcd访问库
pyspark spark库
hdfs hdfs库
pyhive hive库
redis 访问redis数据库
rediscluster 访问redis集群
pymongo 访问mongodb
kafka 访问kafka
pykafka 访问kafka
sqlalchemy ORM库
MySQLdb 访问MySQL数据库
结果展示:
smtplib 负责发送邮件
email 负责构造邮件
numpy 数据处理
math 顾名思义
matplotlib 数据绘图包
pylab 绘制二维,三维数据
pychart 制作图表
领取专属 10元无门槛券
私享最新 技术干货