(四)简单的http请求

locust的脚本中,模拟负载的http协议的请求,同python requests库一样,以访问禅道系统为例

代码示例 

# coding=utf-8
''' Created on 2019-11-08

    author: ali
'''
import os
from locust import HttpLocust, TaskSet, task

class userTaskSet(TaskSet):
    # 用户访问禅道首页
    @task
    def userLogin(self):
        # 请求url
        test_url = "http://127.0.0.1:8088/zentao/user-login.html"

        # 定义请求头
        webheaders = {
            "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36",
            "Accept-Encoding": "gzip, deflate, br",
            "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8"
        }

        try:
            res = self.client.get(url=test_url, headers=webheaders, verify=False)
            if res.status_code == 200:
                print("success")
            else:
                print("failed")
        except Exception as e:
            print(e)


class websitUser(HttpLocust):
    task_set = userTaskSet
    min_wait = 3000  # 单位为毫秒
    max_wait = 6000  # 单位为毫秒

if __name__ == "__main__":
    os.system("locust -f zentaoTest.py --host=http://127.0.0.1:8088")

脚本说明

userTaskSet类:继承TaskSet类,用于描述用户行为

userLogin(),类方法,描述一个用户为行,用户登录

@task,装饰该方法为一个事务

client.get(),发送get请求

WebsiteUser类:继承HttpLocust类,用于设置性能测试

task_set :指向一个定义的用户行为类

min_wait :模拟负载的任务之间执行时的最小等待时间(单位:毫秒)

max_wait :模拟负载的任务之间执行时的最大等待时间(单位:毫秒)

 

执行性能测试

(1)如果使用pycharm作为开发工具,可直接点击“运行”按钮,启动locust

(2)cmd命令行启动locust

  • -f 指定性能测试脚本文件
  • --host 指定被测试应用的URL地址,由于脚本中已经写明完整的URL地址,此处写none对测试没有影响

(3)访问locust web界面,地址:http://localhost:8089/

Number of users to simulate:设置模拟的用户总数

Hatch rate (users spawned/second):每秒启动的虚拟用户数

Start swarming:执行测试

(4)测试结果

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值