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判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
Python中super()函数简介及用法分享
Jul 11 Python
老生常谈Python序列化和反序列化
Jun 28 Python
pandas数值计算与排序方法
Apr 12 Python
Python3基于sax解析xml操作示例
May 22 Python
Python学习笔记之视频人脸检测识别实例教程
Mar 06 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
PyQt5实现画布小程序
May 30 Python
Python三维绘图之Matplotlib库的使用方法
Sep 20 Python
python BeautifulSoup库的安装与使用
Dec 17 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 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
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
PHP正则验证Email的方法
2015/06/15 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
php生成图片验证码的方法
2016/04/15 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
Js event事件在IE、FF兼容性问题
2011/01/01 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
js判断背景图片是否加载成功使用img的width实现
2013/05/29 Javascript
js+css 实现遮罩居中弹出层(随浏览器窗口滚动条滚动)
2013/12/11 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
jQuery ready()和onload的加载耗时分析
2016/09/08 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
JQuery元素快速查找与操作
2018/04/22 jQuery
Vue基础学习之项目整合及优化
2019/06/02 Javascript
vue项目中引入Sass实例方法
2019/08/27 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
兰蔻英国官网:Lancome英国
2019/04/30 全球购物
竞聘书怎么写,如何写?
2014/03/31 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
会计专业应届生自荐信
2014/06/28 职场文书
党支部意见范文
2015/06/02 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python