暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Locust性能测试-API调用详解2-client详解

TimTest 2021-02-05
1120

本文主要讲解HttpUser中的client的用法。client其实是locust.clients.HttpSession的一个实例化对象。其是在User类中的task方法中使用。如下示例代码所示,self.client属性的使用是需要在定义的方法中的,要不是会有问题的。

    from locust import HttpUser,task,between


    class MyUser(HttpUser):
    wait_time = between(3,5)
    host = "https://www.baidu.com"


    @task
    def task_1(self):
    self.client.get("/") # client属性应用需要在方法中去使用。
    复制

    其中"self.client.get()"返回的是一个对象,具体如下:

      <class 'requests.models.Response'>
      复制

      该对象实例,可以获取http请求的一些细节数据,如:

      1. status_code (HTTP status code)

      2. elapsed (HTTP 请求的elapsed time)

      3. text (请求返回的文本)

      4. url (请求URL地址)

      5. headers (注意是请求响应response的头部信息)

      6. content(这里返回的是响应内容的bytes类型数据和text还是有区别的)

      7. cookies(返回的是cookies信息)

      8. history(这个属性是很重要的,特别是对于有跳转redirect的请求,可以获取所有的URLs)

      9. encoding(编码类型),比如utf-8/ISO-8859-1等

      10. is_redirect(判断是不是有跳转请求)

      以上内容可以是针对几乎所有的请求方法,如GET,POST,PUT,DELETE,OPTIONS等都是适用的。并且也基本上可以包含我们对于场景模拟的需求。

      文章转载自TimTest,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论