接口自动化测试
文章平均质量分 80
主要以requests库为主的接口测试。
Liuyuelinjiayou
终有一天,你会静心下来,像个局外人一样看自己的故事,笑着摇摇头。
展开
-
接口测试快乐之旅(基础知识汇总)
一、接口测试的定义接口和接口文档概念接口测试的定义二、Requests库的介绍和使用Requests库介绍Requests库发送GET请求Requests库发送POST请求(一)Requests库发送POST请求(二)补充:Httpbin介绍补充:Requests库proxies代理三、接口自动化框架的设计与实现接口自动化框架的设计与实现(一)接口自动化框架的设计与实现(二)接口自动化框架的设计与实现(三)接口自动化测试发送邮件接口测试的安全机制接口签名sign原理原创 2021-02-17 10:42:04 · 150 阅读 · 0 评论 -
『居善地』接口测试(日志) — 22、补充:logging.basicConfig()函数说明
文章目录1、basicConfig()函数说明2、应用1、basicConfig()函数说明此函数,通过创建一个带有默认Formatter(格式器)的StreamHandler(处理器),并将其添加到根日志记录器中来初始化基本配置。如果根日志记录器没有定义处理器,则logger.debug(), logger.info(),logger.warning(),logger.error() 和 logger.critical()函数会自动调用 basicConfig()函数中的配置 。如果根日志记录器原创 2021-02-02 11:59:23 · 196 阅读 · 0 评论 -
『居善地』接口测试(日志) — 21、logging日志模块的封装
文章目录1、日志模块封装2、日志模块的调用1、日志模块封装首先我们把之前学过的代码语句封装到模块的方法中。可以把该模块封装到commo目录中。"""简单封装log方法我们之后也可以把一些常量提取的配置文件中。自己网上去学习。"""import osimport timeimport logging.handlers# 日志打印等级LEVELS = { 'debug': logging.DEBUG, 'info': logging.INFO, 'warn原创 2021-02-02 11:57:46 · 147 阅读 · 0 评论 -
『居善地』接口测试(日志) — 20、logging日志模块处理流程
文章目录1、概括理解2、详细说明3、应用示例1、概括理解了解了四大组件的基本定义之后,我们通过图示的方式来理解下信息的传递过程:也就是获取的日志信息,进入到Logger日志器中,传递给处理器确定要输出到哪里,然后进行过滤器筛选,通过后再按照定义的格式进行日志的输出。2、详细说明描述上面这个图的日志流处理流程:1)在用户代码中进行日志记录函数调用,如:logger.info(…),logger.debug(…)等;2)判断要记录的日志级别是否满足日志器设置的级别要求。要记录的日志级原创 2021-02-02 11:56:10 · 135 阅读 · 0 评论 -
『居善地』接口测试(日志) — 19、日志保存到文件中
文章目录1、把日志信息保存到文件中2、拓展1、把日志信息保存到文件中"""logging模块是Python的内置模块,不需要安装。步骤:1,创建一个把日志信息保存到文件中的处理器FileHandler2,把文件处理器添加到logger中3,把格式器传入到文件处理器中"""# 导入logging模块import logging# 创建一个日志器,就是一个logger对象logger = logging.getLogger('logger')# 设置logger输入级别logg原创 2021-02-02 11:52:44 · 194 阅读 · 0 评论 -
『居善地』接口测试(日志) — 18、Python中logging模块使用
文章目录1、logger类2、handler类3、formatter类4、filter类1、logger类logger类:logger用于提供日志接口,常用于配置和发送日志消息。我们一般使用logging.getLogger(name)方法来获得一个logger对象。其中,可选参数name指定日志器名称,默认为“root”。常用方法包括:logger.setLevel() :设置日志器处理日志信息的最低级别。logger.addHandler():为该logger对象添加一个handl原创 2021-02-02 11:50:57 · 146 阅读 · 0 评论 -
『居善地』接口测试(日志) — 17、Python日志logging模块介绍
文章目录1、日志的作用2、为什么需要写日志3、Python中的日志处理(1)logging模块介绍(2)logging模块的四大组件(3)logging日志级别1、日志的作用从事与软件相关工作的人,应该都听过“日志”一词。日志就是跟踪软件运行时事件的方法,为了能够在程序运行过程中记录错误。通过日志记录程序的运行,方便我们查询信息,以便追踪问题、进行维护和调试、还是数据分析。并且各编程语言都形成了各自的日志体系和相应的框架。总结:日志的作用程序调试。了解软件程序运行情况,是否正常。软件程序原创 2021-02-02 11:48:20 · 131 阅读 · 1 评论 -
『居善地』接口测试 — 16、接口测试Mock框架(二)
文章目录6、Moco框架的使用(1)Moco框架第一个练习(2)Get方法的Mock实现(3)Post方法的Mock实现(4)请求中加入Cookies(5)请求中加入Header(6)Moco模拟重定向(7)综合练习(8)总结:6、Moco框架的使用当需要调用接口来编写测试用例的时候,此时该接口并没有被实现,这个时候我们就可以用Mock框架来模拟一个接口出来。使用Mock模拟接口以下功能:拦截服务:http,https。请求方式:GET,POST。模拟请求地址:URL。模拟参数原创 2021-01-19 22:43:00 · 160 阅读 · 1 评论 -
『居善地』接口测试 — 15、接口测试Mock框架(一)
文章目录1、Mock功能介绍2、Moco框架是什么3、Moco框架在接口测试中的作用4、Moco框架的优点5、Moco框架的下载与启动(1)Moco框架的下载(2)Moco框架的启动1、Mock功能介绍各个业务系统都会关联多个三方系统接口调用,在测试过程中第三方业务存在不能及时提供接口调用,这时就需要用到我们的mock服务了。Mock的本质在于模拟三方业务接口的返回,来满足自身的测试功能,快速完成测试任务。2、Moco框架是什么Moco框架是Mock概念中的一种实现。Moco框架是一个简单搭建模原创 2021-01-19 22:39:57 · 165 阅读 · 0 评论 -
『居善地』接口测试 — 14、接口签名sign原理
文章目录1、什么是加密以及解密?2、加密方式的分类(1)对称加密(2)非对称加密(3)总结:3、接口签名sign原理(1)什么是接口签名?(2)为什么需要做接口签名(3)接口签名的实践方案1、什么是加密以及解密?出于信息保密的目的,在信息传输或存储中,采用密码技术对需要保密的信息进行处理。使得处理后的信息不能被非受权者(含非法者)读懂或解读,这一过程称为加密。在加密处理过程中,需要保密的信息称为“明文,经加密处理后的信息称为“密文”。加密即是将“明文”变为“密文”的过程。与此类似,将“密文”变为“原创 2021-01-19 22:36:47 · 379 阅读 · 0 评论 -
『居善地』接口测试 — 13、接口测试的安全机制
文章目录1、接口的安全机制2、用户认证3、示例说明1、接口的安全机制一般在实际项目的接口开发中,接口的安全机制是绕不开的一个话题。不管是自己内部使用的接口也好,还是给第三方使用的接口也好。如果毫无限制的给任何人调用,那么必然会带来诸多安全问题。例如:重要数据泄密,系统瘫痪等。2、用户认证(1)用户认证说明:HTTP的请求中,有一些请求是需要通过授权认证之后才会响应,授权认证就是检查用户名和密码的过程(鉴权)。HTTP有一个基本认证方式:在认证的过程中,客户端需要把用户名和密码发给服务器,服务器原创 2021-01-19 22:34:28 · 273 阅读 · 0 评论 -
『居善地』接口测试 — 12、接口自动化测试发送邮件
文章目录1、设置邮箱授权码2、安装zmail模块3、实现代码4、发送html格式的邮件如果要完整实现自动化测试,需要把项目测试的结果数据等,通过发送电子邮件的方式,通知需要看到测试报告的用户。1、设置邮箱授权码想要使用代码发送邮件,首先要对邮箱进行设置:即设置邮箱授权码。(1)设置163邮箱第一次设置授权码:登录163邮箱 —> 设置 —> POP3/SMTP/IMAP —> 设置授权码。第n次设置授权码: 登录163邮箱 —> 设置 —> POP3/SMTP/IM原创 2021-01-19 22:31:27 · 439 阅读 · 0 评论 -
『居善地』接口测试 — 11、接口自动化框架的设计与实现(三)
文章目录4、接口目录中的方法的实现5、测试用例目录的实现6、测试用例参数化实现4、接口目录中的方法的实现每一个接口或者一类接口封装成一个interface(也就是一个接口对应一个.py文件)对该接口的请求:用于单接口测试。根据业务获取接口返回值:用于关联接口测试。(关于一个接口,所对应要测试哪几个方面的业务,都封装到该文件中,会用到上面commn目录中封装好的公共方法)示例如下:(1)示例1:封装新增学院接口"""新增学院接口1.单接口测试方法2.关联接口测试方法 获取返回原创 2021-01-19 22:26:07 · 172 阅读 · 0 评论 -
『居善地』接口测试 — 10、接口自动化框架的设计与实现(二)
文章目录(三)接口自动化测试框架封装实现1、创建测试框架项目2、封装发送请求方法3、封装获取接口返回结果指定内容(1)`JsonPath `介绍(2)`JsonPath `安装(3)JsonPath与XPath语法对比(4)getKeyword_forResult.py文件实现(三)接口自动化测试框架封装实现之前分析完了接口测试框架的设计与架构,下面我们就来一步一步的完成接口自动化测试框架的实现。1、创建测试框架项目为Student Management System Interface testi原创 2021-01-19 22:23:59 · 209 阅读 · 2 评论 -
『居善地』接口测试 — 9、接口自动化框架的设计与实现(一)
一、接口自动化框架的设计与实现(一)接口自动化测试框架的思想自动化测试框架不是一个模式,而是一种思想和方法的集合,通俗的讲就是一个架构。为了更好的了解自动化测试框架,应该对以下几种自动化测试框架思想有一定的认知:模块化思想库思想数据驱动思想关键字驱动思想以上仅仅是代表了一种自动化测试的思想,并不能定义为框架。上面讲到框架=思想+方法,于是演化了以下五种框架:1、模块化测试脚本框架需要创建小而独立的可以描述的模块、片断以及待测应用程序的脚本。这些树状结构的小脚本组合起来,就能组成能原创 2021-01-19 22:19:39 · 389 阅读 · 0 评论 -
『居善地』接口测试 — 7、补充:Httpbin介绍
文章目录1、Httpbin介绍2、Httpbin部署3、Httpbin访问方式4、Httpbin常用调试接口5、总结:1、Httpbin介绍Httpbin是一个使用Python + Flask编写的HTTP Request & Response Service,该服务主要用于测试 HTTP库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回(查看你所发送请求中的信息)。Httpbin支持HTTP/HTTPS请求,支持所有的HTTP动词,能测试HTTP请求和响应的各种信息,比如 cook原创 2021-01-18 15:10:58 · 1082 阅读 · 0 评论 -
『居善地』接口测试 — 6、Requests库POST请求(二)
文章目录3、正文是binary4、multipart/form-data5、总结Binary和Form-data区别3、正文是binary使用binary格式的正文发送POST请求,是直接使用二进制流进行数据传输,多用于上传单个图片或图片。也可以用于把请求的参数放入一个文件中,进行数据的提交。示例如下:"""1.学习目标 掌握requests发送post请求2.HTTP协议中post请求参数类型 x-www-form-data-urlencoded raw_json格式原创 2021-01-18 15:07:30 · 215 阅读 · 0 评论 -
『居善地』接口测试 — 5、Requests库POST请求(一)
文章目录1、application/x-www-form-urlencoded2、请求正文是raw(1)json格式文本(application/json)(2)xml格式文本(text/xml)POST请求用于向服务器提交数据,比如增删改数据,提交一个表单新建一个用户、或修改一个用户等。对于POST请求,我们可以通过浏览器开发者工具或者其他外部工具来进行抓包,得到请求的URL、请求头(request headers)以及请求的表单data信息,这三样恰恰是我们用Requests模拟POST请求时需要的原创 2021-01-18 15:05:10 · 207 阅读 · 1 评论 -
『居善地』接口测试 — 4、Requests库GET请求
文章目录1、Requests库待参数的GET请求2、查看GET请求的内容3、带请求头、参数的get请求Requests库GET请求是使用HTTP协议中的GET请求方式对目标网站发起请求。(不带参数的GET请求请看上一篇文章的练习)1、Requests库待参数的GET请求使用Get方法带参数请求时,是params=参数字典,而不是data=参数字典。data=参数字典是post方法的参数。"""1.学习目标 必须掌握requests中带参数的get请求2.语法 requests.原创 2021-01-18 15:01:15 · 127 阅读 · 0 评论 -
『居善地』接口测试 — 3、Requests库介绍
文章目录1、Requests库2、Requests库文档3、Requests库安装4、Requests库的使用(1)使用步骤(2)示例练习:(3)说明:Json数据和Python对象互相转化。1、Requests库Requests库是用Python语言编写,基于urllib3模块,采用Apache2 Licensed开源协议的 HTTP 库。虽然Python的标准库中urllib3模块已经包含了平常我们使用的大多数功能,但是它的 API使用起来让人感觉不太友好。而Requests库使用的是urllib原创 2021-01-18 14:58:25 · 203 阅读 · 0 评论 -
『居善地』接口测试 — 2、接口测试定义
文章目录1、接口测试概念 (重点)2、接口测试原理 (重点)3、做接口测试的依据是什么4、接口测试分类 (重要)5、接口测试的特点6、接口测试的意义(优势)7、UI测试与接口测试对比1、接口测试概念 (重点)接口测试是测试系统组件间接口的一种测试,它界于单元测试与系统测试中间。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。换句话说,接口测试就是开发人员把这个接口实现了,我们需要去验证这个接口的原创 2021-01-18 14:53:24 · 206 阅读 · 0 评论 -
『居善地』接口测试 — 1、接口和接口文档概念
文章目录1、接口的概念2、为什么要使用接口3、接口文档介绍4、接口文档要素5、分层的自动化测试1、接口的概念接口又叫API,全称application programming interface:应用程序接口(规范),也就是我们经常会听说Web接口,APP接口。详细说明:APP是一种基于C/S架构的应用程序,如抖音、微信等。完整的体验是基于APP客户端和后台云服务端共同作用的结果。客户端和服务端的数据传递,也就是指客户端向服务端发送请求,服务端响应客户端的过程。这一系列的通讯都是基于web协议原创 2021-01-18 14:48:20 · 301 阅读 · 0 评论