2-第一个Locust脚本

创建&执行第一个locustfile.py

在ide中创建我们的loucst项目,并创建第一个测试脚本,代码如下

## /mylocust/locustfiles/first_locustfile.py
import os
from locust import HttpUser, task

# 继承locust的HttpUser类,这样我们就可以使用其提供的client属性(HttpSession对象)来发起http请求
class MyFirstLocustUser(HttpUser):

    # 加了@task装饰器后,这个方法就变成了可执行的测试方法
    @task
    def my_first_locust_task(self):
        # 发起请求
        self.client.get(url='/')
        self.client.get(url='/test')

if __name__ == '__main__':
    # 也可以在控制台中执行对应的命令 locust -f /locustfiles/first_locustfile.py 
    cmd = 'locust -f first_locustfile.py'
    os.system(cmd)

我们运行这个脚本,控制台输出

/Users/kamiyeung/.local/share/virtualenvs/mylocust--FGPEWEP/bin/python /Users/kamiyeung/DEV/Personal/PycharmProjects/mylocust/locustfiles/first_locustfile.py 
[2023-07-27 16:32:07,297] HUAWEI-MateBook-X-Pro.local/INFO/locust.main: Starting web interface at http://0.0.0.0:8089 (accepting connections from all network interfaces)
[2023-07-27 16:32:07,301] HUAWEI-MateBook-X-Pro.local/INFO/locust.main: Starting Locust 2.15.1

说明locust-webUI已经启动,点击http://0.0.0.0:8089(或者手动在浏览器中输入,Windows可能需要输入localhost:8089来访问)打开web-UI界面

界面显示的属性分别是

  • Number of users: 你希望最终启动多少个并发用户,这里我设置最高20并发
  • Spawn rate: 你希望每秒启动多少个并发用户,这里我设置每秒启动5个用户
  • Host: 本次测试使用的域名,设置默认使用https://www.baidu.com作为域名发起请求
  • Run time: 测试总运行时间设置,设置运行10秒

点击开始按钮,并发程序就开始运作了,结果如图

小结

  1. 一个locustfile的一定需要一个User类,其应该继承HttpUser(或者FastHttpUser,后面再介绍),从而可以使用client属性来发起HTTP requests并发请求;
  2. 并发测试任务一定要添加@task装饰器
posted @ 2023-07-28 10:28  威力Kami  阅读(130)  评论(0编辑  收藏  举报