我使用蝗虫加载测试API,但每次我测试API时,都需要输入授权以外的参数,如下所示: API which need data inputted
它总是100%失败,上面写着“BadStatusCode(‘endpoint’,)”,已经在谷歌搜索它的意思,搜索蝗虫错误文档,但我仍然没有找到任何线索。每隔一个API(主要是带有除get以外的方法的API)我就用Hocust进行测试,它只需要像这样的参数授权:API with only authorization parameter
跑得很好。我已经在谷歌上搜索了关于如何向端点输入参数的各种蝗虫代码,我认为我的代码已经正确了
以下是我的代码(100%失败):
import os
from dotenv import load_dotenv
from locust import TaskSet, task, between, HttpLocust
from locust.contrib.fasthttp import FastHttpLocust
import resource
from dotenv import dotenv_values
load_dotenv()
resource.setrlimit(resource.RLIMIT_NOFILE, (65536, 999999))
host_p = os.getenv("HOST_P")
header = {
'authorization': 'Bearer ' + os.getenv('TOKEN')
}
values = {
"amount": 100
}
def payment(self):
self.client.post("/pay", headers=header, json=values)
class ProcessPost(TaskSet):
tasks={payment:2}
class ApiPost(FastHttpLocust):
host = host_payment
task_set = ProcessPost
wait_time = between(5.0, 9.0)
下面是我的其他代码(运行非常好):
import os
from dotenv import load_dotenv
from locust import TaskSet, task, between, HttpLocust
from locust.contrib.fasthttp import FastHttpLocust
import resource
import datetime as d
from dotenv import dotenv_values
import json
load_dotenv()
resource.setrlimit(resource.RLIMIT_NOFILE, (65536, 999999))
host_p = os.getenv("HOST_P")
header = {
'authorization': 'Bearer ' + os.getenv('TOKEN')
}
def payment(self):
self.client.get("/pay", headers=header)
class ProcessPost(TaskSet):
tasks={payment:2}
class ApiPost(FastHttpLocust):
host = host_payment
task_set = ProcessPost
wait_time = between(5.0, 9.0)
任何帮助都将不胜感激
我猜这可能是因为您将数据作为主体发送,而不是添加内容类型头,如果您使用json,它会添加内容类型头本身,但如果您使用数据传递值,则需要自己添加内容类型头
相关问题 更多 >
编程相关推荐