51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1764|回复: 3
打印 上一主题 下一主题

Locust 登陆压力测试

[复制链接]
  • TA的每日心情
    奋斗
    2021-8-6 16:14
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2019-2-21 16:29:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    debugtalk 大大很早就在国内给大家介绍过locust. 在他的博文里有讲解有例子。真正实用得自己在项目中还得靠自己灵活应用。

    http://debugtalk.com/post/head-first-locust-advanced-script/

    1. 按照locust.io官网推荐的项目结构。如下图


    locust的子类httplocust底层用的是requests. 因此做API性能测试需要最好对rest API有些基础知识。

    2. 登陆例子

    1. from locust import HttpLocust, TaskSet, task
    2. from random import randint
    3. from locust.clients import HttpSession
    4. import json

    5. # Web性能测试
    6. class UserBehavior(TaskSet):
    7.     @task
    8.     def login(self):
    9.         self.head = {'Content-Type': 'application/json;charset=utf-8',
    10.                      'token': 'planceholder',
    11.                      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
    12.                      'userId': 'planceholder'
    13.                      }

    14.         self.form_data = {'account': 'admin',
    15.                           'password': 'zs123YL!'}

    16.         with self.client.post("/api/chameleon-user/user/login", headers = self.head, data = json.dumps(self.form_data)) as response:
    17.             print(response.status_code)
    18.             print(response.content)

    19. class User(HttpLocust):
    20.     task_set = UserBehavior
    21.     min_wait = 1000
    22.     max_wait = 3000
    23.     host = "http://172.16.78.73:3011"
    复制代码

    3. 脚本运行

    1. import os
    2. os.system('locust -f locustfiles\op_parameter.py')
    复制代码

    4. 指定压力用户数和用户产生的速度。

    5. 开始加压后,就可以看到网页API的响应成功,响应时间,和请求速率等性能参数了。

    6. locust 支持master 和slave集群,让locust支持百万级用户压力测试。

    个在应用locust的时候踩过的坑,

    1. 启动locust web interface 报告访问拒绝, 换成http://localhost:8089就OK了。

    2. 运行locust脚本报套接字地址只允许使用一次。原因是同一个locust脚本多次启动了。



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-6-18 00:21 , Processed in 0.071740 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表