locust对应源码HttpUser剖析(7)

 老规矩,先贴代码:

class HttpUser(User):  
    abstract = True   
    client = None    
    def __init__(self, *args, **kwargs):
        super(HttpUser, self).__init__(*args, **kwargs)
        if self.host is None:
            raise LocustError("You must specify the base host. Either in the host attribute in the User class, or on the command line using the --host option.")

        session = HttpSession(
            base_url=self.host, 
            request_success=self.environment.events.request_success, 
            request_failure=self.environment.events.request_failure,
        )
        session.trust_env = False
        self.client = session

比较简单,无非就是继承了User的各个属性,这里把类变量client清空了,不再是NoClientWarningRaiser()了。

其他都是继续沿用,只是实例化的时候client变成了session。这个时候第一个关注点就是,实例化的时候一定要有host属性。

我们先来看看host属性是如何得到的:

首先是从User去取,在实际过程中ÿ

你可能感兴趣的:(locust,python,locust,性能测试)