【问题标题】:How to send a new random number with every request in locust?如何在蝗虫的每个请求中发送一个新的随机数?
【发布时间】:2020-08-31 18:22:43
【问题描述】:

我有一个我想要实现的简单用例。我基本上想在每次请求时在我的 URL 中传递一个新的随机数。似乎它每次都传递相同的随机数。

class UserBehavior(SequentialTaskSet):


    @task
    def GETCall(self):

        seedValue = random.randrange(sys.maxsize)
        random.seed(seedValue)
        print("Seed was:", seedValue)
        num = random.randint(10, 500)
        print("Random Number", num)

       
with self.client.get("http://google.com?/waitfor=" + num,name="GET Request",headers=headers,catch_response=True) as response1:
if response1.status_code == 200:
                response1.success()
            else:
                response1.failure("Invalid code")

【问题讨论】:

    标签: python load-testing locust


    【解决方案1】:

    删除这些行:

    seedValue = random.randrange(sys.maxsize)
    random.seed(seedValue)
    print("Seed was:", seedValue)
    

    (或者如果您出于某种原因必须拥有它们,则只调用一次,在您的任务之外,可能在顶层)

    【讨论】:

    • 感谢您的回复。我试过了,但我一直收到这个错误,只能将 str(不是“int”)连接到 str(这是当我尝试将 num 变量附加到 url 时)
    • 尝试将 num = random.randint(10, 500) 替换为 num = str(random.randint(10, 500)) 以使其成为字符串
    • 感谢您解决了这个问题!单独的问题,但这是检查多个条件的正确方法 if ((resp2.status_code == 200) and (resp2.text == "dummy123")): resp2.success()
    • 你需要添加 else: resp2.failure(”oopsies”) 使其失败(否则任何非错误响应代码仍然会成功)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多