locust
文章平均质量分 70
小黑测试员
少一些功利主义的追求,多一些不为什么的坚持!
展开
-
locust工具学习笔记(六)-自定义负载策略
locust工具学习笔记(六)-自定义负载策略1、LoadTestshape类在实际测试场景中默认的每秒生成一定用户数的场景不能满足测试需要,此时就需要自定义压测用户数的加载策略。我们在locust中可以直接使用LoadTestshape类,它可以完全的控制用户数和产生率。2、如何使用LoadTestshape类在脚本文件中定义一个继承LoadTestshape类的类,locust在启动时发现文件中有使用这个类会自动启动。在该类中需要定义tick()方法,该方法返回用户数以及产生率的..原创 2021-03-19 13:54:09 · 1445 阅读 · 2 评论 -
locust工具学习笔记(五)-FastHttpUser类、关联、参数化、检查点、集合点
locust工具学习笔记(五)FastHttpUser类locust的HTTP客户端默认是使用requests模块实现的,但是在大规模并发http请求时,requests模块并不是最优的实现,为了解决并发资源消耗问题,locust建议使用faster HTTP client的实现,它使用了geventhttpclient代替了requests. 它能提升5-6倍的并发量。使用方法就是用FastHttpUser代替HttpUser#使用HttpUserfrom locust import原创 2021-01-29 09:19:05 · 3980 阅读 · 1 评论 -
locust工具学习笔记(四)-SequentialTaskSet 类、event hooks
SequentialTaskSet 类在locust中用户(线程)执行任务是随机的,如果需要让任务执行有一定顺序则可以将taskset继承SequentialTaskSet 类来实现。写法一from locust import User,SequentialTaskSet,task,constantclass MyUserBe(SequentialTaskSet): wait_time = constant(1) @task def my_task1(self):原创 2021-01-24 14:19:57 · 1443 阅读 · 0 评论 -
locust工具学习笔记(三)-Tasks属性、tag修饰符、TaskSet类
locust工具学习笔记(三)虚拟用户数分配和权重的关系1、一个场景文件中如果定义多个用户类,用来对不同用户行为进行压测时,可以用weight属性来控制用户行为执行权重2、当用户权重不足1人时,则会被忽略(如果权重为5:1时如果启动3个用户,则配比是2.5:0.5,不足一人时用户行为2不会被执行)from locust import User, task, constantclass UserBehavior1(User): wait_time = constant(1) ..原创 2021-01-22 19:28:22 · 1296 阅读 · 0 评论 -
locust工具学习笔记(二)-Events事件、test_start和test_stop
Events事件locust包含了一个事件类,为不同的事件提供hook,事件处理函数注册该hook,基于event触发处理函数实现事件驱动。test_start和test_stop事件如果需要在负载测试开始或者结束后运行一段代码,则可使用test_start和test_stop事件,test_start和test_stop事件只在locust主节点中触发执行。from locust import events, task, constant, HttpUserfrom locust.ru原创 2021-01-20 14:49:36 · 2590 阅读 · 0 评论 -
locust工具学习笔记(一)-User类、@task装饰器
编写locustfile文件一份locustfile中,声明至少一个从该类继承的用户类User class(用户类)一个用户类别代表一个用户。locust将为每个正在模拟的用户生成User类的一个实例。User类可以定义一些公共属性。公共属性wait_time属性可选属性,用于模拟用户在执行任务之间等待指定的时间。 constant在固定时间内 between在最大值和最小值之间的随机时间 constant_pacing自适应时间,以确保任务每X秒运行一次原创 2021-01-15 10:03:54 · 1187 阅读 · 0 评论