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 相关文章推荐
django 2.0更新的10条注意事项总结
Jan 05 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
Python补齐字符串长度的实例
Nov 15 Python
Python子类继承父类构造函数详解
Feb 19 Python
在python中利用numpy求解多项式以及多项式拟合的方法
Jul 03 Python
python读取并写入mat文件的方法
Jul 12 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
keras 实现轻量级网络ShuffleNet教程
Jun 19 Python
python 制作一个gui界面的翻译工具
May 14 Python
TensorFlow的自动求导原理分析
May 26 Python
python异常中else的实例用法
Jun 15 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
用PHP制作静态网站的模板框架(一)
2006/10/09 PHP
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php读取html并截取字符串的简单代码
2009/11/30 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
详解WordPress中调用评论模板和循环输出评论的PHP函数
2016/01/05 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
来自国外的页面JavaScript文件优化
2010/12/08 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JavaScript合并两个数组并去除重复项的方法
2015/06/13 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
详解微信小程序调起键盘性能优化
2018/07/24 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
js实现时间日期校验
2020/05/26 Javascript
jQuery中getJSON跨域原理的深入讲解
2020/09/02 jQuery
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
vue 动态创建组件的两种方法
2020/12/31 Vue.js
[01:06:30]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第二场 1月9日
2021/03/11 DOTA
Python单元测试框架unittest简明使用实例
2015/04/13 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
PyQt5中QSpinBox计数器的实现
2021/01/18 Python
使用css3实现的tab选项卡代码分享
2014/12/09 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
C++面试题目
2013/06/25 面试题
Shell编程面试题
2012/05/30 面试题
社区禁毒工作方案
2014/06/02 职场文书
红领巾心向党演讲稿
2014/09/10 职场文书
田径运动会通讯稿
2014/09/13 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
暑期家教宣传单
2015/07/14 职场文书
OpenCV全景图像拼接的实现示例
2021/06/05 Python