- 软件介绍
- 相关专题
- 下载地址
Locust简介
Locust提供了一个可测试的功能,可以帮助用户测试web程序功能、测试网站功能、支持HTTP请求测试、基于响应系统的负载测试,或者将软件扩展到其他系统进行测试。测试数据可以用图表显示,方便测试人员查看可视化负载测试结果,测试过程会显示博客内容,方便后期查看博客,了解工作流程。这个软件功能还是很丰富的。它支持使用Docker运行Locust,无需WebU即可运行Locust,通过更快的HTTP客户端提高Locust的性能。新版本修复了Web UI中图表工具提示的错误,提供了包括工具提示在内的许多图表改进,并增加了–HTML选项来保存HTML报告。
Locust软件功能
Locust是一个易于使用、可编写脚本和可扩展的可测试工具。您可以使用常规Python代码来定义用户行为,而不是使用笨拙的UI或特定于领域的语言。这使得Locust具有无限的可伸缩性,并且对开发人员非常友好。
分布式和可扩展的-支持数十万用户。
Locust使运行分布在多台计算机上的负载测试变得容易。它是基于事件的(使用gnt),这使得单个进程能够处理成千上万的并发用户。虽然可能有其他工具可以在给定的硬件上每秒执行更多的请求,但每个Locust用户的低成本使其非常适合测试高并发工作负载。
基于网络的用户界面
Locust有一个用户友好的Web界面,可以实时显示测试进度。您甚至可以在测试运行时更改负载。它也可以在没有UI的情况下运行,因此很容易进行CI/CD测试。
你可以测试任何系统。
即使Locust主要用于网站/服务,它也可以用于测试几乎任何系统或协议。只需为您想要测试的内容编写一个客户端,或者浏览社区创建的内容。
Locust软件特色
用普通Python编写用户测试方案
如果你想让用户循环,执行一些条件行为或者执行一些计算,你只需要使用Python提供的通用编程结构。Locust在每个用户内部运行自己的小程序(轻量级流程/公司)。这允许您编写像普通(阻塞)Python代码一样的测试,而无需使用回调或其他机制。因为您的场景是“仅python”,所以您可以使用常规IDE,并以常规代码的形式控制测试(与使用XML或二进制格式的其他工具相反)。
姓名和背景
Locust诞生于对现有解决方案的不满。现有的负载测试工具都不能很好地为动态网站生成实际负载,动态网站上的大多数页面对于不同的用户有不同的内容。现有工具使用笨拙的接口或冗长的配置文件来声明测试。在Locust中,我们采用了不同的方法。您将获得一个python框架,它允许您使用Python代码定义用户的行为,而不是配置格式或UI。
蝗虫的名字来源于成群结队的蝗虫种类。
Locust以前的版本使用了从自然界借来的术语(群发、孵化、攻击等)。),但现在采用了更多的行业标准名称。
Locust教程
安装Python 3.6或更高版本。
使用pip安装Locust。
$ pip3安装蝗虫
验证并显示Locust版本号:
$蝗虫-五
如果一切正常,请继续快速入门。如果没有,请查看维基了解一些解决方案。
出血版本如果您需要某些功能或未发布的补丁,请执行以下步骤:
$ pip 3 install-e git://github . com/locustio/蝗虫. @ master # egg =蝗虫
在Locust入门,可以用Python代码定义用户行为。,在收集请求统计信息时,可以使用蝗虫命令(可选)及其Web界面来生成和模拟大量用户。
locustfile.py示例
让我们把它分解
导入时间
fm蝗虫导入HttpUser,任务,介于
蝗虫文件只是一个普通的Python模块,可以从其他文件或包中导入代码。
类快速启动用户(HttpUser):
这里,我们为要模拟的用户定义一个类。它继承了客户端genus HttpUser,从而为每个用户提供了一个genus,它是HttpSession的一个实例,可以用来向目标系统发出HTTP请求以进行负载测试。当测试开始时,蝗虫将为它模拟的每个用户创建一个这个类的实例,并且这些用户中的每一个都将开始在它自己的绿色gnt线程中运行。
wait_time =介于(1,2.5)之间
我们的类定义了一个wait_time,它将使模拟用户在每个任务后等待1到2.5秒(见下文)。
修饰方法@task是Locust文件的核心。Locust为每个正在运行的用户创建一个greenlet(微线程),它将调用这些方法。
我们通过修饰两个方法来声明两个任务@task,其中一个方法的权重更高(3)。当我们快速启动用户运行一个声明任务时,它会选择并执行它,在这种情况下,无论它是hello_world还是view_s。任务是随机选择的,但是你可以给它们不同的权重。以上配置将使Locust比hello_world更容易选择view_s。任务完成后,用户将在等待时间内进入睡眠状态(本例中为1到2.5秒)。等待时间过后,它会选择一个新任务并继续重复。
请注意,只有@task会选择带有修饰符的方法,因此您可以根据自己的偏好定义自己的内部助手方法。
self . client . get(& # 8220;/hello & # 8221;)
self.client类支持通过Locust记录HTTP调用
在这个view_s任务中,我们使用变量查询参数来加载10个不同的L..为了不在Locust的统计信息中获得10个单独的条目(因为统计信息是按L分组的),我们使用name参数将所有这些请求分组到一个名为& # 8221;/”。
此外,我们还声明了一个on_start方法。每个模拟用户在启动时都会调用一个同名的方法。
开始将上述代码放入当前目录中名为locustfile.py的文件中并运行它:
$蝗虫
如果您的蝗虫文件位于另一个位置,您可以使用-f。
$蝗虫-f蝗虫_ file/my _蝗虫_file.py
笔记
要查看所有可用选项,请输入:或配置抢占& # 8212;
Locust的网络接口以Locust开头,上面的命令行之一,你应该打开浏览器指向http://127.0.0.1:8089。,您应该会收到类似以下内容的问候:
填表试试!(但是,请注意,如果您不更改蝗虫文件以匹配实际的目标系统,在大多数情况下,您将收到错误响应。)
要获得更多选择,要运行分布在多个Python进程或计算机上的Locust,可以使用& # 8211;主命令行参数使用& # 8211;启动一个Locust主进程。worker命令行参数启动任意数量的Locust工作进程。
不使用Web界面直接开始测试,请使用& # 8211;无头的.
您也可以通过环境变量或在配置文件中设置参数。
在无头操作中添加/删除用户,按W或W (1,10)生成用户,按S或S停止(1,10)。
用自定义客户端测试其他系统Locust是以HTTP为主要目标构建的。但是,通过编写一个触发request_success和request_failure事件的自定义客户端,它可以很容易地扩展到负载测试任何基于请求/响应的系统。
笔记
你使用的任何协议库都必须是gnt友好的(使用Pythonsocket模块或其他类似的标准库函数子进程),否则你的调用会阻塞整个Locust进程。
有些C库不能通过gnt修复猴子,但允许其他解决方案。例如,如果要用psycopg2测试PostgreSQL,可以使用psycogreen。
示例XML-RPC用户客户端这是用户类xmlrpuser的示例,它提供XML-RPC客户端xmlrpuser并跟踪所有发出的请求:
如果您以前编写过Locust测试,您会意识到名为ApiUser的类是一个普通的User类,它声明了几个任务。但是,您可以从XmlRpcUser继承ApiUser所看到的ApiUser。使用XmlRpcUser标记为图像,这意味着Locust将不会尝试从此类(仅扩展此类的类)创建模拟用户。在下提供XmlRpcClient的实例。抽象= TrueXmlRpcUserclient
XmlRpcClient是世界各地标准库的包装器,xmlrpc.client.ServerPxy基本上只是一个代理函数调用,但重要的是添加了catch . nt . events . request _ success和catch . nt . events . request _ failure的触发事件,会将所有调用记录在Locust的统计中。
这是XML-RPC的实现,可以用作:
用事件钩延伸蝗虫
蝗虫有许多事件钩,可以用来以不同的方式扩展蝗虫。
事件挂钩位于nts下的Envinment实例上。但是,由于导入蝗虫文件时尚未创建Envinment实例,因此也可以通过蝗虫变量在蝗虫文件的模块级别访问nt对象。
这是一个如何设置事件的示例:
笔记
强烈建议您向侦听器添加通配符关键字参数(上面代码中的** kw),以防止在以后版本中添加新参数时损坏代码。
添加网络路由LocustWeb UI是使用Flask提供的,所以很容易将Web端点添加到Web UI中。通过监听init事件,我们可以检索对Flask应用程序实例的引用,并使用该引用来设置新的路由:
现在您应该可以启动蝗虫并浏览到http://127 . 0 . 0 . 1:8089/add _ page。
扩展Web UI除了添加简单的Web路由之外,还可以使用Flask蓝图和模板来添加路由,还可以扩展Web UI以允许在内置Locust统计旁边显示自定义数据。这是一种更高级的方法,因为它还涉及到编写和包含由路由服务的HTML和Javascpt文件,但它可以大大增强Web UI的实用性和定制性。
您可以在Locust源代码的示例目录中找到扩展Web UI的有效示例,该目录包含HTML和Javascpt示例文件。
运行背景绿色由于Locust文件是“公平代码”,没有什么可以阻止您生成自己的绿色小程序来与实际负载/用户并行运行。
例如,您可以监控测试的失败率,并在测试超过特定阈值时停止运行:
- 安卓合集
- 软件合集
- 浏览器
- 电脑管家
- 安卓游戏
软件排行榜
热门推荐
-
seo外链助手
v1.0 / 5.55M / 简体中文
-
tmux官方版
v3.2 / 0.77 MB / 简体中文
-
MoboMarket
v5.1.9 / 25.65 MB / 简体中文
-
ApiAdmin
v5.0.0 / 108K / 简体中文
-
Boris FX Optics
v2021.0 / 511M / 简体中文
-
Matomo网站统计系统
v4.0.5 / 17.51M / 简体中文
-
Kigo Amazon Prime Video Downloader官方版
v1.1.0 / 74.0 MB / 简体中文
-
Motorola Device Manager
v2.5.4 / 35.85 MB / 简体中文
-
ImPan
v1.0 / 17M / 简体中文
-
文小二文档下载助手
v1.0.1 / 77K / 简体中文
装机必备软件
-
word文档密码破解工具应用软件
-
冰点还原永久免费版系统软件
-
人生日历应用软件
-
一彩送货单管理系统应用软件
-
Process View系统软件
-
开心手机恢复大师其他类别
-
pdf文件阅读器应用软件
-
视频剪辑格式工厂应用软件
-
PhotoMetri应用软件
-
specinker应用软件
-
miwifi驱动驱动工具
-
海洋色音效助手影音软件
-
乐播投屏影音软件
-
seo外链助手网络软件
-
AES安全加密记事本安全相关





