Python requests接口测试实现代码

作者:多测师_郑sir 时间:2023-09-10 18:09:21 

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)

来源:https://www.cnblogs.com/ZhengYing0813/p/11695878.html

标签:python,requests,接口,测试
0
投稿

猜你喜欢

  • Python3 完全平方数案例

    2022-01-03 03:38:37
  • 常见Dreamweaver使用过程中的问题及解决办法

    2011-03-17 16:16:00
  • python迷宫问题深度优先遍历实例

    2023-10-16 18:54:06
  • Django+Nginx+uWSGI 定时任务的实现方法

    2022-11-14 16:02:57
  • python 文本单词提取和词频统计的实例

    2022-10-25 04:53:03
  • 用SQL语句添加删除修改字段、一些表与字段的基本操作、数据库备份等

    2024-01-26 16:53:22
  • 层叠加的五条叠加法则

    2009-05-01 12:07:00
  • Pandas中resample方法详解

    2021-10-03 09:57:40
  • 求任意自然数内的素数

    2009-10-15 12:21:00
  • js简单的分页器插件代码实例

    2024-04-29 13:23:22
  • python opencv根据颜色进行目标检测的方法示例

    2021-09-29 03:53:41
  • ASP用户登录验证代码

    2008-05-15 12:49:00
  • js实现固定区域内的不重叠随机圆

    2024-05-13 09:18:40
  • 小 200 行 Python 代码制作一个换脸程序

    2021-02-12 09:47:52
  • MYSQL事务的隔离级别与MVCC

    2024-01-20 10:59:48
  • pandas检查和填充缺失值的N种方法总结

    2021-03-27 03:25:21
  • numpy 数组拷贝地址所引起的同步替换问题

    2023-11-07 18:00:06
  • python使用pil生成图片验证码的方法

    2022-03-08 18:39:24
  • 一文总结MySQL中数学函数有哪些

    2024-01-28 11:24:09
  • numpy数组之存取文件的实现示例

    2021-02-20 11:32:57
  • asp之家 网络编程 m.aspxhome.com