接口测试基础python+requests
接口测试(学习笔记一)
- 接口测试价值
- tcp协议
- RPC协议
- restful架构
- Requests
接口测试价值
接口测试,检查数据的交换,传递和控制管理过程,绕过了客户端,直接对服务端进行测试。
见下图,对行业的各种测试进行分层,越往上发现bug的时间越晚,成本越高。接口测试相比UI测试,可以更早发现问题,更快的质量反馈。
自制简易计算机网络图:
tcp协议
tcp协议是在传输层中,一种面向链接的、可靠的、基于字节流的传输层通信协议。
tcp udp 的区别,是否面向链接。udp发出去就不管了,就像视频通话。
tcp建立链接,错误重传,拥塞控制——3次握手,4次挥手
- 3次握手
信道是不可靠的,在发送数据之前,要确保信道稳定。
第一次握手:建立连接时,客户端发送syn包到服务器,并进入SYN_SENT状态,等待服务器确认。
第二次握手:服务器收到syn包,确认客户的SYN,同时自己也发送一个SYN包,服务器进入SYN_RECV状态。
第三次握手:客户端收到服务器的包之后,像服务器发送确认包,此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成3次握手,成功连接。
client:hello
server:hello
client:nice to meet you - 4次挥手
第一次挥手:客户端向服务器发送FIN,请求关闭数据传输。
第二次挥手:服务器收到FIN,向客户端发送ACK,其中ack的值等于FIN+SEQ
第三次挥手:服务器向客户端发送FIN,告诉客户端应用程序关闭。
第四次挥手:客户端收到FIN,回复ACK给服务器端,其中ack的值等于FIN+SEQ
client:request to turn off data transfer
server:OK
server:Good Bye
client:Good Bye
RPC协议
以本地代码调用的方式实现远程执行(只需要写代码调用API就可以了,不需要关注通信传输细节)
本地调用方法——序列化——远程通讯传输——服务器收到请求执行代码——返回结果——反序列化
Dubbo
gRPC
Thrift
restful架构
浏览器与服务器交互规则,软件架构风格
get获取资源
post 新增、更新资源
put 更新资源
delete 删除
- 每个URI代表一种资源
- 客户端和服务器之间,传递这种资源的某种表现层
- 客户端通过四个HTTP动词,对服务器端资源进行操作,实现表现层状态转化
Requests
Requests文档
import requestsres = requests.get('https://cn.bing.com/hp/api/model')
print(res.status_code)
print(res.headers)
print(res.encoding)
print(res.text)
print(res.json())
print(res.url)
print(res.cookies)
print(res.request)
payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get(url, params=payload)payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post(url, data=payload)payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post(url, json=payload)xml = '''<xml...>'''
r = requests.post(url, data=xml)files={'file':open('xxx.txt','rb')}
r = requests.post(url,files=files)headers = {'user-agent':'my-app/0.0.1'}
r = requests.get(url,headers=headers)cookies = dict(cookies_are='working')
r = requests.get(url,cookies=cookies)
CSDN>Python技能树>网络爬虫>requests>Python-requests的使用
接口测试基础python+requests相关推荐
- 接口测试(python+requests)
基本接口响应过程 import requests# 请求数据准备 url = "https://tgc.alibaba-inc.com/page/commodity-group" ...
- 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具
本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...
- Python+Requests接口测试教程(1):Fiddler抓包工具
本书涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 刚买须知:本书是针对零基础入门接口 ...
- python+requests接口测试
第一章 HTTP网络协议 在接口的测试过程中,所有的数据交互都是基于网络协议来进行交互的.目前业内最为主流的是HTTP网络协议.占据有90%左右比例 在系统的交互过程中,HTTP网络协议是如何实现交互 ...
- python+requests对app和微信小程序进行接口测试
对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...
- 接口测试文件上传(python+requests)
在做接口测试的时候,往往会有需要文件上传的接口,今天教大家使用apipost接口测试工具和python+requests脚本进行接口测试. 一.使用python+requests python+req ...
- python扫描app接口_[分享】python+requests对app和微信小程序进行接口测试
对于web端和app端的接口测试来说,他们都是通过请求方法,url和传递的body参数进行接口请求,区别web和app的区别就是header请求的不同.不同的地方在于header中的User-Agen ...
- 由浅入深----python+requests+unittest执行自动化接口测试
由浅入深----python+requests+unittest执行自动化接口测试 一.安装requests.xlrd.json.unittest库 1.pip 命令安装: 2.pycharm里安装 ...
- 基于Python Requests的数据驱动的HTTP接口测试
发表于:2017-8-30 11:56 作者:顾翔 来源:51Testing软件测试网原创 http://www.51testing.com/html/69/n-3720769-2.html 1 ...
最新文章
- 如何设置窗口立即刷新显示
- 如何在 Windows XP 中设置、查看、更改或删除文件和文件夹的特殊权限
- Java虚拟机:class类文件结构
- 交叉编译openssl不修改Makefile的方法
- 计算机中丢失mpr.dll,mprmsg.dll
- 软工团队 - 系统设计
- shell简单的交互式脚本
- Android DownloadManager 的使用
- 【吴恩达机器学习】学习笔记——4多元线性回归
- 如何解决It's likely you're attempting to run Eclipse using the JRE instead of the JDK
- 大学计算机基础发送邮件,东南大学《大学计算机基础》实验16邮件合并.pdf
- 二次方程c语言计算器,解方程计算器
- Mac大小写切换需长按caps lock键解决办法
- 【3款文献阅读的插件】
- python下载收费视频_用Python下载知乎视频,非常实用
- codeforces 1562 A. The Miracle and the Sleeper
- 全链路UI设计师了解一下
- Unity - Timeline 之About Timeline(关于Timeline)
- 深大数据库系统实验4——Using mysql and php to implement the Car Share Reservation Database system
- 救救我吧,今年27岁,想转行学大数据开发
热门文章
- mysql 集合 思想_面向集合的思维编写SQL(第九篇 --- “我说的是:苹果柿子李子栗子梨的那个橘子啊”)...
- 易语言助手用法与方便之处
- Linux文件类型发布啦!
- 图片合成视频,视频文件过大了,python 改变视频的码率, 压缩视频文件
- 分布式架构的几种实现方式
- 勒索病毒SARA,请勿用于非法用途。
- 如何设置对输入字段的关注?
- 4 ARM PEG20K MAL
- 详解Node.js API系列 Module模块(2) 案例分析
- mes系统是什么?mes系统的主要功能有哪些?