接口测试基础三--python完成接口调用

   前面的接口测试基础一文章有讲到,一次http接口调用,包含了httprequest(http请求)和httpresponse(http响应)两部分,要想做好接口测试,就需要对这两部分内容进行学习,再简单介绍下:

一、http request剖析

请求方法:即http请求的提交方式,一般以get和post居多

URI:请求自愿的表示,可以理解为一个请求的路径信息

协议:http协议

版本:1.1

请求正文:请求参数

请求头:告诉服务器关于客户端环境和请求正文相关的一些信息,例如浏览器版本,请求参数的长度。

请求头包含:user-agent:告诉浏览器客户端的相关信息;refer:告诉服务器次请求是从哪个页面上发出来的额 x-requested-with:高速服务器这个是一个ajax请求 cookie:带给服务器的cookie信息。

    请求头可以在代码中指定,添加,通过键值对的形式,调用:addheader(请求头参数键值对)

二、http response剖析

响应状态码:标记响应状态的标识,例如:200-成功,404资源找不到,500服务器异常,302重定向

响应头信息:告诉客户端关于服务器环境和请求正文相关的一些信息,例如服务器类型,响应报文格式。

响应报文:针对请求从服务器相应回来的数据,比如 HTML,xml,json等

响应头包含:server:告诉客户端服务器的环境,如 Apache set-cookie:告诉浏览器需要缓存的cookie数据。location:告诉浏览器跳到哪里 content-type:告诉浏览器返回的数据类型和编码

三、python request完成接口请求

1.request安装

安装好python环境后,在cmd直接输入:pip install requests 就可以安装成功

2.request之get请求,如下所示:

2.1发送带参数的请求

import requests

url=要访问的地址

param={参数以键值对传入}

res=requests.get(url,param)

print("请求结果是:",res.json())

2.2发送带cookie的请求

import requests

url_1=要访问的地址

param_1={参数以键值对传入}

res_1=requests.get(url,param)

print("请求结果是:",res_1.json())

url_2=要访问的地址

param_2={参数以键值对传入}

res_2=requests.get(url_2,param_2,cookies=res_1.cookies)

print("请求结果是:",res_2.json())

2.3发送带定制头的请求

import requests

url_1=要访问的地址

param_1={参数以键值对传入}

headers_1={"user-agent":"Mozilla/5.0"}

res_1=requests.get(url,param=param_1,headers=headers_1)

print("请求结果是:",res_1.json())

print("请求头是:",res_1.headers)

请求方式为post时,发送请求res=requests.post(url,params,headers)即可

原文地址:https://www.cnblogs.com/123blog/p/10294572.html

时间: 2024-08-04 05:07:38

接口测试基础三--python完成接口调用的相关文章

接口测试基础三-Python序列化和反序列化

啥是序列化?啥是反序列化?这两个词听起来优点高大上的意思,其实呢不然,很简单的可以理解为: 序列化:将python的数据对象编码转换为json格式的字符串 反序列化:将json格式的字符串解码为python的数据对象 在python中提供了json库,我们将json导入,查看json库下面有哪些方法: >>> import json >>> print (json.__all__) ['dump', 'dumps', 'load', 'loads', 'JSONDeco

SmartRoute之远程接口调用和负载

基于接口的调用远比基于基础消息交互来得更简单和便于维护,特别在业务展现上,接口作为业务表现更适合其便利性.为了让SmartRoute更适合业务应用集成,在新的一年开始SmartRoute集成了远程接口调用功能.基于SmartRoute的基础特性,在这基础上扩展的接口调用会变得更简单灵活,其特别点如下:并不需要知道服务地址,只需要明确接口和方法即可以实现远程服务调用:无需任何配置即可实现负载和故障迁移.而这一系列的更利功能都归攻于SmartRoute基础建设! SmartRoute的远程接口调用是

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Java基础系列12:使用CallableStatement接口调用数据库中的存储过程

前言:以下内容均以MySQL中的存储过程举例说明 一 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它. 一个存储过程是一个可编程的函数,它在数据库中创建并保存.它可以有SQL语句和一些特殊的控制结构组成.当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是

python基础三(列表和元组)

数据结构:数据结构是以某种方式(如通过编号)组合起来的数据元素集合.在python中,最基本的数据结构为序列,序列中每个元素都有编号从0开始. 1.序列概述:?python内置了许多种序列,列表.元组.字符串等.?列表和元组的不同在于,列表是可以修改的,而元组不可以,这意味着列表用于需要中途添加元素的情形,而元组适用于禁止修改元素的情形. 1.1.创建列表 假设你现在需要一个东西来储存多个名字,那么用列表正合适 list_name = ["王晓明","李二"] #所

接口测试基础与工具

接口测试基础与工具 2016-09-12 接口测试是集成测试实现的一种方式,分为: 消息接口测试 代码接口测试两类 本章主要还是针对消息接口为主的. 1 接口测试基础 1.1 什么是接口测试 接口是指系统模块与模块或系统与系统间进行交互,一般现在我们用的多的是基于HTTP协议为基础的接口(包括WebService协议或者Tuxedo协议),除此之外还有RPC的接口,但不管是哪种接口,其本质就是发送一个Request报文给服务器,然后服务器响应返回一个Response报文. 我们对Response

D05——C语言基础学PYTHON

C语言基础学习PYTHON--基础学习D05 20180815内容纲要: 1 模块 2 包 3 import的本质 4 内置模块详解 (1)time&datetime (2)datetime (3)random (4)os (5)sys (6)json&pickle (7)shelve (8)xml (9)shutil (10)PyYaml (11)configpaser (12)hashlib (13)re 5 练习:开发一个简单的python计算器(挑战性很强) 1 模块 模块: &g

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

华为测试大牛Python+Django接口自动化怎么写的?

有人喜欢创造世界,他们做了开发者:有的人喜欢开发者,他们做了测试员.什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运. 最近被几个公司实习生整自闭了,没有基础,想学自动化又不知道怎么去学,没有方向没有头绪,说白了其实就是学习过程中没有成就感,所以学不下去.出于各种花里胡哨的原因,今天给大家整一个简单又有成就感的接口自动化学习吧. 不皮了,进入正题.本文中用到的技术点有:Python