在 Locust 测试中将变量添加到 URL
Add variable to URL in Locust test
我一直在尝试弄清楚如何添加从 Locust 上的先前 'task' 捕获的变量,以及如何将变量添加到新任务 GET
请求 URL。
下面的变量 portid
假设在获取请求的末尾继续:/portfolios/portid
示例 1:
@task
def PortPage(self):
get = self.client.get("/portfolios/" + portid, data=data, headers=header)
错误:
TypeError: can only concatenate str (not "int") to str
示例 2:
我也尝试过使用 %
标志,因为我读过它以前有效但不适用于我的实例..
@task
def PortPage(self):
get = self.client.get("/portfolios/" % portid, data=data, headers=header)
错误:
TypeError: not all arguments converted during string formatting
非常感谢任何帮助。
您只是在寻找正常的字符串格式!
>>> portid = 100
>>> f"/portfolios/{portid}"
'/portfolios/100'
问题很简单,Python 无法猜测当您尝试将数字添加到字符串时会发生什么!
您可以根据需要从几个选项中进行选择,但 f-string 变体可能更适合您的情况
>>> "/portfolios/" + portid # fails with the error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> "/portfolios/" + str(portid) # effectively simplest
'/portfolios/100'
>>> f"/portfolios/{portid}" # modern
'/portfolios/100'
>>> "/portfolios/{}".format(portid) # obvious
'/portfolios/100'
>>> "/portfolios/%i" % portid # considered old, will do some coercions
'/portfolios/100'
我一直在尝试弄清楚如何添加从 Locust 上的先前 'task' 捕获的变量,以及如何将变量添加到新任务 GET
请求 URL。
下面的变量 portid
假设在获取请求的末尾继续:/portfolios/portid
示例 1:
@task
def PortPage(self):
get = self.client.get("/portfolios/" + portid, data=data, headers=header)
错误:
TypeError: can only concatenate str (not "int") to str
示例 2:
我也尝试过使用 %
标志,因为我读过它以前有效但不适用于我的实例..
@task
def PortPage(self):
get = self.client.get("/portfolios/" % portid, data=data, headers=header)
错误:
TypeError: not all arguments converted during string formatting
非常感谢任何帮助。
您只是在寻找正常的字符串格式!
>>> portid = 100
>>> f"/portfolios/{portid}"
'/portfolios/100'
问题很简单,Python 无法猜测当您尝试将数字添加到字符串时会发生什么!
您可以根据需要从几个选项中进行选择,但 f-string 变体可能更适合您的情况
>>> "/portfolios/" + portid # fails with the error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> "/portfolios/" + str(portid) # effectively simplest
'/portfolios/100'
>>> f"/portfolios/{portid}" # modern
'/portfolios/100'
>>> "/portfolios/{}".format(portid) # obvious
'/portfolios/100'
>>> "/portfolios/%i" % portid # considered old, will do some coercions
'/portfolios/100'