Python requests接口测试实现代码


Posted in Python onSeptember 08, 2020

1、get方法请求接口

url:显而易见,就是接口的地址url啦

headers:请求头,例如:content-type = application/x-www-form-urlencoded

params:用于传递测试接口所要用的参数,这里我们用python中的字典形式(key:value)进行参数的传递。

举个例子:

import requests
url="http://api.shein.com/login"
header={"content-type":"application/x-www-form-urlencoded"}
param={"user_id":123456,"email":"123456@163.com"}
timeout=0.5
response = requests.get(url, headers=header, params=param, timeout=timeout)
# response = requests.request("get",url,headers=header,params=body,timeout=timeout)
print (response.text)

2、post方法请求接口

import requests

url="http://api.shein.com/login"

header={"content-type":"application/x-www-form-urlencoded"}

param={"user_id":123456,"email":"123456@163.com"}

timeout=0.5

response = requests.post(url, headers=header, data=param, timeout=timeout)

# response = requests.request("post",url,headers=header,data=param,timeout=timeout)

print (response.text)
import requests

url = "https://apipc.xinqgj.com/user/login"
payload = {"phone":"17779828887","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8Uznj"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)
print(response.text)

3、requests.Session()请求接口

import requests

session = requests.Session()  #定义全局session,通过 session 保持会话
class Cms():

  def login(self):
    url = "http://192.168.1.110:8080/cms/manage/loginJump.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"userAccount": "admin", "loginPwd": "123456"}
    #通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

  def queryUserList(self):
    url = "http://192.168.1.110:8080/cms/manage/queryUserList.do"
    header = {"Content-Type": "application/x-www-form-urlencoded"}
    parmas = {"startCreateDate":"",
         "endCreateDate":"",
         "searchValue":"",
         "page":"1"}
    # 通过全局 session 请求接口
    res = session.post(url=url, headers=header, data=parmas)
    print(res.json())

if __name__ == '__main__':
  Cms().login()
  Cms().queryUserList()

注意:Python requests模块params、data、json的区别

  • requests 模块发送请求有 data、json、params 三种携带参数的方法。
  • params 在 get 请求中使用,data、json 在 post 请求中使用
    • 常见的 form 表单可以直接使用 data 参数进行报文提交,data 的对象则是 python 中的字典类型
    • 如果数据是 json 格式的参数,可直接使用 json 参数进行报文提交

4、接口的返回值操作

text:获取接口返回值的文本格式

json():获取接口返回值的json()格式

status_code:返回状态码(成功为:200)

headers:返回完整的响应头信息(headers['name']:返回指定的headers内容)

encoding:返回字符编码格式

url:返回接口的完整url地址

import requests

url = "https://xxxx.com/user/login"
payload = {"phone":"1777982xxxx","pwd":"Ty+coun/mUj1saGV2OCK6p5kN9MNt8UznjaGsQ5A/nKPSH1NZW"}
headers = {'Content-Type': 'application/json'}

response = requests.request("POST", url, headers=headers, json = payload)

print(response.text)
print(response.json())
print(response.status_code)
print(response.url)
print(response.headers)
print(response.encoding)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
Python编程中的文件读写及相关的文件对象方法讲解
Jan 19 Python
centos6.4下python3.6.1安装教程
Jul 21 Python
深入理解Python3 内置函数大全
Nov 23 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python实现找出数组中第2大数字的方法示例
Mar 26 Python
Python常见字典内建函数用法示例
May 14 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Python Matplotlib简易教程(小白教程)
Jul 28 Python
Python中tkinter的用户登录管理的实现
Apr 22 Python
Python unittest装饰器实现原理及代码
Sep 08 #Python
Python selenium环境搭建实现过程解析
Sep 08 #Python
Python unittest生成测试报告过程解析
Sep 08 #Python
Python使用Selenium模拟浏览器自动操作功能
Sep 08 #Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 #Python
Django模型验证器介绍与源码分析
Sep 08 #Python
Python unittest discover批量执行代码实例
Sep 08 #Python
You might like
手冲咖啡应该是现代精品咖啡店的必备选项吗?
2021/03/03 冲泡冲煮
用PHP制作的意见反馈表源码
2007/03/11 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
js获取图片长和宽度的代码
2009/11/24 Javascript
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
JS+CSS模拟可以无刷新显示内容的留言板实例
2015/03/03 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
第一次接触神奇的Bootstrap
2016/10/14 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
JavaScript实现旋转轮播图
2020/08/18 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
Python中利用sqrt()方法进行平方根计算的教程
2015/05/15 Python
Python基于time模块求程序运行时间的方法
2017/09/18 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
python中四舍五入的正确打开方式
2021/01/18 Python
Python对excel的基本操作方法
2021/02/18 Python
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
String s = new String(“xyz”);创建了几个String Object?
2015/08/05 面试题
公司活动策划方案
2014/01/13 职场文书
关于学习的演讲稿
2014/05/10 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
高中教师个人总结
2015/02/10 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
2016新年致辞
2015/08/01 职场文书
新学期小学班主任工作计划
2019/06/21 职场文书
MYSQL如何查看进程和kill进程
2022/03/13 MySQL