首页 > 编程语言 >测试同学必须熟悉的python模块

测试同学必须熟悉的python模块

时间:2023-09-27 11:02:12浏览次数:52  
标签:同学 模块 python 测试 Python install pip 安装


测试同学在进行python的面试过程中,必问的问题是你最常用的python模块有哪些?这些模块解决了你工作中的哪些问题?在这里我把测试同学在实际工作中常用的py模块进行了汇总,本文编写的目的是对各个模块的功能进行概要介绍并没有提供具体api的使用方法,如果大家想要深入了解各个模块api的具体应用,劳烦自行利用网络资源解决。

 

测试同学必须熟悉的python模块_单元测试

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内置的单元测试框架,关于单元测试相关的概念这里就不详细说明了,可以参考下面三篇文章:

一文搞定单元测试核心概念

上手unittest读这篇文章就够了

从0到1上手Pytest

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!原创不易,如果文章帮到了你,欢迎点赞转发,让更多的朋友受益!

标签:同学,模块,python,测试,Python,install,pip,安装
From: https://blog.51cto.com/liwen629/7621700

相关文章

  • Python高频面试题——装饰器(带大家理解装饰器的本质)
    装饰器概念装饰器本质上是一个python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限验证等场景,装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可......
  • Python高频面试题——生成器(最通俗的讲解)
    生成器定义在Python中,使用了yield的函数被称为生成器(generator)。跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当前所有的运行信息,返回yield的值,并在......
  • playwright python环境运行报错 ImportError: DLL load failed
    网上建议网上好多文章介绍playwright的环境搭建,用以下两条语句即可完成pipinstallplaywrightplaywrightinstall安装完毕后,尝试执行一段经典的pythondemofromplaywright.sync_apiimportsync_playwrightwithsync_playwright()asp:browser=p.chromium.launch()page......
  • Python高频面试题——迭代器和可迭代对象
     无论是面试测试还是运维涉及到python编码岗位时,迭代器和可迭代对象都是绕不开的一个问题,本文对这两个概念进行重点讲解,本文从什么是迭代讲起,然后介绍迭代器和可迭代对象二者的区别,最后通过for循环和自定义迭代器来加深读者对这两个概念的理解,只要认真阅读完文章,相信一定会帮助到......
  • Python爬虫-爬取百度搜索结果页的网页标题及其真实网址
    共两个依赖的需提前安装的第三方库:requests和bs4库cmd命令行输入安装requests库:pip3install-ihttps://pypi.douban.com/simplerequests安装bs4库:pip3install-ihttps://pypi.douban.com/simplebeautifulsoup4 本微项目源文件下载地址:https://wwuw.lanzouj.com/i1Au51......
  • Python 图片并行下载
    需求:有大量图片的url需要将其快速下载到本地技术点:采用编写并发代码的库asyncio以及基于asyncio实现的HTTP框架aiohttppipinstallasynciopipinstallaiohttp代码如下:importjsonimportosimportrequestsimportaiohttpimportasyncioimage_save_dir="images"......
  • Python面试高频问题:修改list中某个元素时的坑
    在Python面试中经常会考这样一个题目,遍历列表,如果列表中有某某元素,那么将其替换成"test"。题目看似简单,其实有个坑在里面!从面试结果来看,大多数同学都会这样写:l=["a","b","c"]foriinl:if"a"==i:i="test"print(l)运行后,大家会发现输出的l值还是['a',......
  • python range中的步长必须是整数 numpy则可以是小数
    >>>foriiinrange(1,10,0.1): print(ii)Traceback(mostrecentcalllast):File"<pyshell#4>",line1,in<module>foriiinrange(1,10,0.1):TypeError:'float'objectcannotbeinterpretedasaninteger>>......
  • Python脚本连接Oracle数据库并验证成功
    #yaml文件存储数据->root\Data\oracle_admin_f_shozaiko.yaml#TestDataforOracleDB:ADMIN->F_SHOZAIKO-name:connecttoOraclerequest:uname:adminupwd:P823!ApoLhost:rf-oms.cbfvvrud0bld.ap-northeast-1.rds.amazonaws.com:1521/rfomsqu......
  • python学习框架
    Python简介与安装Python的历史与特点Python的安装与配置Python基础语法变量与数据类型运算符与表达式控制结构(条件判断与循环)函数与模块错误处理与异常Python数据结构列表(List)元组(Tuple)集合(Set)字典(Dictionary)Python面向对象编程类与对象继承与多态......