python+requests实现接口测试

本文包括requests库的安装过程、requests库的基本语法以及一个实例(携带token登录对人员进行注册)

一、requests安装

可以通过控制台输入命令pip install requests安装requests,但是我这里主要介绍pycharm工具中安装requests
一张图解释安装步骤,简单快捷
在这里插入图片描述

二、requests常用语法

1、基本请求方法,包含参数传递
(1)get参数传递,示例:

url=“xxxxx”
xx={
	"xxx":"xx"
	"xxxxx":1
}
r=requests.get(url,params=xx)
print(r.text)#解析返回结果并打印出来

(2)post参数传递,示例:

url=“xxxxx”
xx={
	"xxx":"xx"
	"xxxxx":1
}
r=requests.post(url,data=xx)
print(r.text)#解析返回结果并打印出来
print(r.json())#josn格式打印出来,适用于返回是json内容

(3)文件传输,示例:

url=“xxxxx”
data1={
  xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
filexxxx ={
	"filexxxxxxxx":open('xxx.jpg','rb')#文件内容根据实际路径修改
}
r=requests.get(url,data=data1,files=filexxxx)
print(r.text)#解析返回结果并打印出来

(4)断言,示例:

url=“xxxxx”
xx={
	"xxx":"xx"
	"xxxxx":1
}
r=requests.get(url,params=xx)
print(r.text)#解析返回结果并打印出来
assert r.status_code == 200#断言操作,将响应值与200作对比

(5)获取token值并传入需要用到的地方,示例:
在这里插入图片描述

url1 = "https://xx.xx/xx/xx/2.1.0/token/sign"
r1=requests.post(url1)
t = r1.json()["token"]#返回结果是json,只取json()内容里token值并赋值到t中
#上图可以看出r1.json()返回的内容还有别的参数

三、实例

在这里插入图片描述
在这里插入图片描述

import random
import requests
def test_zhuce():
    url = "https://xx.xx/xx/xx/2.0.0/visitor/insert/user/"
    url1 = "https://xx.xx/xx/xx/2.1.0/token/sign"
    r1=requests.post(url1)
    t = r1.json()["token"]
    b=random.randint(1,100000)
    date = {
        "companyId" : "a9a4828204054088bb520df1e1d5b69f",
        "deadLineTime": "2020-10-22T16:00:00.000Z",
        # "fields": "[{\"fieldName\":\"code\",\"fieldType\":9,\"fieldValue\":\"C:\\Users\\Administrator\\aaaaa.jpg\",\"fieldId\":999}]",
        "groupId": "aab59cf9edb542e7a2e9e6d415ae311b",
        "headPath":"/Z",#照片路径,我这边是直接获取以前上传过的照片路径,取服务器端的值,你可以自己使用文件上传的方式上传你的照片,采用上面的二中的(3)方法
        "msToken": t,
        "name": "接口注册%d"%b,
        "propertyId": "f8ff8ea63c3440eb85b81cbccacddef0",
        "registerType":1,
        "userType": 2
}
    # header = {
    #
    # }
    # r2=requests.post(url,files=file)
    # print(r2.json())
    r = requests.post(url, data=date)
    # r=requests.post(url)
    print('\n'"状态:",r.text)
    print('\n'"头部信息:",r.headers)
    print('\n'"cookie信息:",r.cookies)
    print('\n'"token信息:",t)
    # assert r.status_code == 200

注意:
当后端返回结果为415状态时,“status”:415,“error”:“Unsupported Media Type”,如下问题:
在这里插入图片描述
注意查看代码中的url是否正确,可适当对后面的路径进行删除修改!!!

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你介绍一下如何搭建基于PythonRequests接口测试框架。 1. 安装PythonRequests 首先需要安装PythonRequests。可以从Python官网下载Python安装包,并使用pip安装Requests: ``` pip install requests ``` 2. 创建测试用例 在搭建接口测试框架之前,需要编写测试用例。一般来说,测试用例应该包括以下内容: - 接口请求URL - 请求方法 - 请求参数 - 预期结果 以下是一个简单的测试用例示例: ``` import requests def test_get_user_info(): url = 'http://example.com/user_info' params = {'user_id': '123'} response = requests.get(url, params=params) assert response.status_code == 200 assert response.json()['user_name'] == 'Alice' ``` 在这个测试用例中,我们定义了一个名为`test_get_user_info`的函数,用于测试获取用户信息的接口。其中,我们使用Requests发送了GET请求,并断言响应状态码和响应结果是否符合预期。 3. 编写测试框架 接下来,我们需要编写测试框架,将测试用例组织起来,并执行测试。 可以使用unittest或pytest等测试框架来编写测试用例。以下是一个使用unittest的测试框架示例: ``` import unittest import requests class TestUserInfo(unittest.TestCase): def test_get_user_info(self): url = 'http://example.com/user_info' params = {'user_id': '123'} response = requests.get(url, params=params) self.assertEqual(response.status_code, 200) self.assertEqual(response.json()['user_name'], 'Alice') if __name__ == '__main__': unittest.main() ``` 在这个测试框架中,我们定义了一个名为`TestUserInfo`的测试类,其中包含了一个名为`test_get_user_info`的测试方法,用于测试获取用户信息的接口。在测试方法中,我们使用Requests发送了GET请求,并使用assertEqual方法断言响应状态码和响应结果是否符合预期。 最后,我们通过运行`unittest.main()`来执行测试。 4. 执行测试 编写完测试用例和测试框架之后,我们可以直接运行测试框架来执行测试: ``` python test_framework.py ``` 如果所有的测试用例都通过,那么测试框架的输出应该是类似于以下的信息: ``` Ran 1 test in 0.001s OK ``` 这就是基于PythonRequests接口测试框架的搭建过程。当然,这只是一个简单的示例,实际的测试框架会更加复杂,需要根据具体的项目需求进行不同的设计。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值