测试同学在进行python的面试过程中,必问的问题是你最常用的python模块有哪些?这些模块解决了你工作中的哪些问题?在这里我把测试同学在实际工作中常用的py模块进行了汇总,本文编写的目的是对各个模块的功能进行概要介绍并没有提供具体api的使用方法,如果大家想要深入了解各个模块api的具体应用,劳烦自行利用网络资源解决。
Python 模块概念
Python模块是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句。模块让你能够有逻辑地组织你的 Python 代码段。把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。Python的模块分为:
1、标准模块、标准包
2、第三方模块
3、自己写的python文件
Python模块的引入
import语句 import module1[, module2[,... moduleN]
from…import语句 from modname import name1[,name2[, ... nameN]]
Python模块的安装
在Python中,安装第三方模块,是通过setuptools这个工具完成的。Python有两个封装了setuptools的包管理工具:easy_install和pip。目前官方推荐使用pip。PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。网址:https://pypi.org/
pip install <包名> 或 pip install -r requirements.txt
pip install requests 安装requests 模块
下载的第三方包会保存在 [Python目录]\Lib\site-packages 下
pip list 查看安装了哪些模块
pip uninstall requests 卸载requestes模块
测试开发常用模块汇总
UI自动化测试:selenium、Appium-Python-Client
接口测试:requests、urllib
日志模块:logging
单元测试框架:unittest、pytest
文件处理模:lxml、xlrd和xlwt、 pandas、json
数据库模块:MySQLdb、sqlite3、cx_Oracle
其他模块:jenkins、mailbox、tomorrow、numpy
UI自动化测试
Selenium
Selenium是用于测试 Web 应用程序用户界面(UI) 的常用框架。它是一款用于运行端到端功能测试的超强工具。您可以使用多个编程语言编写测试(目前支持的语言有Java,Python,Ruby, C#),并且 Selenium能够在一个或多个浏览器中执行这些测试。
安装
pip install selenium
Appium
Appium是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生应用,web应用和混合应用。appium选择了Client/Server的设计模式。Appium 支持多语言(目前支持的语言有Java,Python,Ruby, C#等等)多平台(目前支持的平台有MAC和Windows)。Appium 的Python客户端是Appium-Python-Client
安装
pip install Appium-Python-Client
接口测试
Requests是一个很实用的Python的HTTP客户端库,编写爬虫和测试服务器响应数据(接口测试)时经常会用到。
Requests完全满足今日web 的需求。包括功能如下:
Keep-Alive & 连接池、国际化域名和 URL、带持久 Cookie 的会话、浏览器式的 SSL 认证、自动内容解码、基本/摘要式的身份认证、优雅的 key/value Cookie、自动解压、Unicode 响应体、HTTP(S) 代理支持、文件分块上传、流下载、连接超时、分块请求、支持 .netrc
安装
pip install requests
另外urllib是 Python 内置的 HTTP 请求库,基础功能与Requests类似,但应用没有requests广泛。
日志模块
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;相比print,具备如下优点:
1.可以通过设置不同的日志等级,在release版本中只输出重要信息,而不必显示大量的调试信息;
2.print将所有信息都输出到标准输出中,严重影响开发者从标准输出中查看其它数据;logging则可以由开发者决定将信息输出到什么地方,以及怎么输出。
3.日志级别:DEBUG < INFO < WARNING < ERROR< CRITICAL
日志基础输出:
logging.debug('This is debug message')
logging.info('This is info message')
logging.warning('This is warning message')
单元测试框架
Unittest是python内置的单元测试框架,关于单元测试相关的概念这里就不详细说明了,可以参考下面三篇文章:
Pytest是python的第三方单元测试框架,比unittest更简洁和高效,支持315种以上的插件,同时兼容nose、unittest 框架。
安装
pip install pytest
文件处理
文件的读写包括常见的txt、Excel、xml、二进制文件以及其他格式的数据文本,主要用于本地数据的读写。
open(name[, mode[, buffering]]) Python默认的文件读写方法。
lxml模块支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高。
安装
pip install lxml
pandas模块读写excel(主要做数据分析)
安装
pip install pandas
json模块编码和解码JSON对象。主要方法方法包括:
json.dumps(用于将dict类型的数据转成str) 和json.loads (用于将str类型的数据转成dict)
安装
pip install pandas
xlrd模块和xlwt模块 xlrd:主要用来读取Excel文件;xlwt主要用来写入Excel文件
安装
pip install xlwt
pip install xlrd
数据库常用模块
数据库连接可用于连接众多数据库以及访问通用数据库接口,可用于数据库维护、管理和增、删、改、查等日常操作。
pymysql(Mysql)
cx_Oracle(oracle)
psycopg2(PostgreSQL )
redis(redis)
pymongo(mongo)
HappyBase(HBase)
其他模块
jenkins模块提供用来操控jenkins的api,是各个公司自动化发布平台的核心api。
安装
pip install python-jenkins
mailbox模块提供用来发送邮件的api,在接口测试和ui测试的框架中经常使用
安装
pip install mailbox
tomorrow模块用来产生多线程,使用起来非常的方便,只需要用其中的threads方法作为装饰器去修饰一个普通的函数就可以达到并发的效果。例如:
@threads(5)
def thread_func():
pass
安装
pip install tomorrow
NumPy模块(Numerical Python) 是Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库,主要用于数组计算,包含:
强大的N维数组对象 ndarray;
广播功能函数;
整合 C/C++/Fortran 代码的工具;
线性代数、傅里叶变换、随机数生成等功能;
该模块在数据分析中使用十分广泛。
安装
pip install numpy
如果大家能够在实际工作中不断地对本文介绍的这些模块进行实际应用,相信大家一定会大幅提升自己的py编码能力并暂获心仪offer!原创不易,如果文章帮到了你,欢迎点赞转发,让更多的朋友受益!
网友评论