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动态加载变量示例分享
Feb 17 Python
Python求两个文本文件以行为单位的交集、并集与差集的方法
Jun 17 Python
同时安装Python2 & Python3 cmd下版本自由选择的方法
Dec 09 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
Jun 27 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
pymysql的简单封装代码实例
Jan 08 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
Python爬虫requests库多种用法实例
May 28 Python
Python魔术方法专题
Jun 19 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
Python包管理工具pip的15 个使用小技巧
May 17 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读取javascript设置的cookies的代码
2010/04/12 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php获取远程图片并下载保存到本地的方法分析
2016/10/08 PHP
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
AngularJS实现路由实例
2017/02/12 Javascript
php输出全部gb2312编码内的汉字方法
2017/03/04 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
使用node.js搭建服务器
2017/05/20 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
Python中几个比较常见的名词解释
2015/07/04 Python
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python实现人民币大写转换
2018/06/20 Python
Python中的类与类型示例详解
2019/07/10 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
网络教育自我鉴定
2013/11/01 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
小学毕业感言500字
2014/02/28 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
会计求职自荐信
2014/06/20 职场文书
软环境建设心得体会
2014/09/09 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
电影建国大业观后感
2015/06/01 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang