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中装饰器的使用
Jul 12 Python
在Django的模板中使用认证数据的方法
Jul 23 Python
常用python编程模板汇总
Feb 12 Python
Python输入二维数组方法
Apr 13 Python
python 数字类型和字符串类型的相互转换实例
Jul 17 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
Python 互换字典的键值对实例
Feb 12 Python
python实现AES和RSA加解密的方法
Mar 28 Python
Django自定义用户登录认证示例代码
Jun 30 Python
python字典的遍历3种方法详解
Aug 10 Python
python如何设置静态变量
Sep 07 Python
详解pandas映射与数据转换
Jan 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
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
nginx下安装php7+php5
2016/07/31 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
JavaScript库 开发规则
2009/01/31 Javascript
jquery方法+js一般方法+js面向对象方法实现拖拽效果
2012/08/30 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
JavaScript显示表单内元素数量的方法
2015/04/02 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
angular2使用简单介绍
2016/03/01 Javascript
vue-axios使用详解
2017/05/10 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
用python + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
2014/07/14 Python
Python中使用MELIAE分析程序内存占用实例
2015/02/18 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python Flask基础教程示例代码
2018/02/07 Python
python xlsxwriter创建excel图表的方法
2018/06/11 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Python面向对象程序设计之类的定义与继承简单示例
2019/03/18 Python
python如何获取apk的packagename和activity
2020/01/10 Python
python opencv pytesseract 验证码识别的实现
2020/08/28 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
香港通票:Hong Kong Pass
2019/02/26 全球购物
Farfetch巴西官网:奢侈品牌时尚购物平台
2020/10/19 全球购物
创伤外科专业推荐信范文
2013/11/19 职场文书
四下基层实施方案
2014/03/28 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
婚前协议书范本
2014/10/27 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python