Python-接口自动化(六)
接口基础知识(六)
(七)接口
1、接口:外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对外提供的接口。
不同的请求协议:http webservice dubbo socket
http请求分为:get post delete put head option
GET和POST的区别:
GET:提交的参数会拼接到URL里面去,不是一种很安全的提交数据方式,传递的数据量比较小;
POST:数据和URL不会拼接到URL里面,post用额外的数据格式去传递,比如json/xml,传递的数据量比较大。
接口测试的本质就是测试类里面的函数。
2、http request
一个http请求是指从客户端到服务端的请求信息,包括以下内容:
请求地址:url
请求方法:HEAD GET POST PUT OPTINONS DELETE PATCH
http协议/版本:可以打开浏览器按f12自行查看
请求头:http客户程序(例如浏览器)向服务器发送请求的时候必须指明请求类型(一般是GET或者POST),如果有必要,客户程序还可以选择发送其他的请求头
请求正文:也就是我们所说的请求参数
注:请求头里面的参数不一定是每次请求都必须要带的。
3、http response
包含了以下几个:
状态码:标记响应状态的一个标识
响应头
响应正文:针对请求从服务响应回来的数据,比如html、xml、json等
常见的状态码:
200(正常):表示一切正常,到了服务器并且服务器正常的响应了你的请求;
302(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新URL在Location响应头中给出;
304(未修改):表示客户机缓存的版本是最新的,客户机应该继续使用它,比如说前端js、css、jpg等等;
403(禁止):服务器理解客户端请求,但拒绝处理它。通常由于服务器上文件或者目录的权限设置所致;
404(找不到):服务器上不存在客户机所请求的资源;
500(内部服务器错误):服务器端的CGI、ASP、JSP等程序发生错误
504:超时
4、cookie&session
cookie:在客户端存储用户的一些数据,比如说用户名啊浏览记录这些
session:在服务器端记录用户的请求状态,一般默认时间是30分钟
会员卡机制:session_id会存在cookie中,每次请求cookie中的所有信息都会传送给服务器,服务器通过session_id来识别是否是同一个用户的请求,如果不是同一个用户的话,就会要求用户重新登录。
注:存在这种机制的原因:因为http请求是无状态的。
5、token&key
鉴权(token):访问的接口是否正常,是否非法访问,绕过前端访问;
授权(key):是否具有访问的接口的权限,一般来说是唯一的,全局的,动态的,具备一定特征。
以上,第六部分到此结束~
Python-接口自动化(六)的更多相关文章
- python接口自动化六(参数化也就是把之前敲过的代码封装成方法)
前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 (由于博客园登录机制 ...
- python接口自动化11-post传data参数案例
前言: 前面登录博客园的是传json参数,有些登录不是传json的,如jenkins的登录,本篇以jenkins登录为案例,传data参数. 一.登录jenkins抓包 1.登录jenkins,输入账 ...
- python接口自动化(响应对象方法)
python接口自动化(响应对象方法) 一.encoding作用 获取请求的编码(在不设置响应编码时,响应的信息默认使用的是请求的编码格式):r.encoding 设置响应的编码:r.encoding ...
- python接口自动化(get请求)
python接口自动化(get请求) get请求的目的:查询资源 一.导包 二.请求的URL 三.请求的参数 四.获取请求的URL 五.获取响应的状态码 六.获取响应的本文信息 #导包 import ...
- Python接口自动化——soap协议传参的类型是ns0类型的要创建工厂方法纪要
1:在Python接口自动化中,对于soap协议的xml的请求我们可以使用Suds Client来实现,其soap协议传参的类型基本上是有2种: 第一种是传参,不需要再创建啥, 第二种就是ns0类型的 ...
- python接口自动化(十)--post请求四种传送正文方式(详解)
简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...
- python接口自动化-Cookie_绕过验证码登录
前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...
- python接口自动化28-requests-html爬虫框架
前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
- python接口自动化 -参数关联(一)
原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...
随机推荐
- Nodejs“实现”Dubbo Provider
背景 目前nodejs应用越来越广泛,但和java的dubbo体系接入困难,所以我们需要实现node端的dubbo provider逻辑.java的dubbo provider是和consumer在一 ...
- Swift-Extensions
日常开发中,frame 是我们经常用到的,但是 UIKit 不允许我们直接设置 frame.origin.x frame.origin.y frame.size.wight frame.size.he ...
- JSESSIONID的简单说明
原文地址:http://blog.csdn.net/chunqiuwei/article/details/23461995 1)第一次访问服务器的时候,会在响应头里面看到Set-Cookie信息(只有 ...
- Javascript的千分位和去除千分位
1.转成千分位,保留两位 comdify(n) { let num = Number(n); let re = /\d{1,3}(?=(\d{3})+$)/g; let n1 = num.toFixe ...
- jQuary学习の五のAJAX
AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新. 一.jQuery load() 方法 jQuery load() 方法是简单但强大的 AJAX 方法. loa ...
- WPF DataGrid 绑定行双击行命令
WPF DataGrid 绑定行双击行命令 <DataGrid ...> <DataGrid.InputBindings> <MouseBinding MouseActi ...
- js的eval代码快速解密
有一段js代码内容如下: eval(function(E,I,A,D,J,K,L,H){function C(A)后面内容省略... 解密可以采用如下方法: 方法一: 打开谷歌浏览器,按F12,在Co ...
- MySQL 之 索引原理与慢查询优化
当考虑到数据多的时候,并且要加速查询时候,就不得不 用到索引了. 索引本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件, 也就是说,有了这种索引机制,我们可 ...
- SpringCloud问题解决:spring-cloud-eureka启动出错Cannot execute request on any known server
场景: 在启动eureka server时,出现以下错误: com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectExce ...
- 51nod 1405 树的距离之和 树形dp
1405 树的距离之和 基准时间限制:1 秒 空间限制:131072 KB 收藏 关注 给定一棵无根树,假设它有n个节点,节点编号从1到n, 求任意两点之间的距离(最短路径)之和. Input ...