根据线程从文件中获取测试用户账号
from net.grinder.script.Grinder import grinder
from net.grinder.script import Test
# 全局变量:测试帐户存放文件
file = 'D:/openSource/grinder-3.4/projects/data/userTest.csv';
# 全局函数:日志输出函数接口定义
logger = Test(10, "Logger").wrap(grinder.logger.output);
# 全局函数:根据测试的 threadNumber 返回测试用户账户
def getTestUser(file):
logger("acct file: %s" % (file));
userList = []; # 定义用户账号缓存列表
for line in open(file).readlines():
# 读取所有账号,放入缓存列表中
userList.insert(len(userList), line);
id = grinder.threadNumber%len(userList);
tempList= userList[id].strip().split(',');
logger("username[%d]: %s password: %s" % (id,tempList[0],tempList[1]));
return tempList;
# 测试运行类
class TestRunner:
# This method is called for every run.
def __call__(self):
userAcct = getTestUser(file);
msg = "threadNumber[%d] ==> username: %s password: %s" % (grinder.threadNumber,userAcct[0],userAcct[1]);
print msg;
logger(msg);
userTest.csv内容如下
user1,user1
user2,user2
user3,user3
user4,user4
user5,user5
user6,user6
user7,user7
user8,user8
user9,user9
user10,user10
user11,user11
user12,user12
user13,user13
user14,user14
user15,user15
user16,user16
user17,user17
user18,user18
user19,user19
分享到:
相关推荐
Grinder是一款开源的压力测试框架,基于JVM,通过多线程并发执行脚本来模拟用户行为,特别适用于Web应用程序的负载测试。它支持多种协议,包括HTTP,并且可以通过Jython脚本语言编写测试用例,这使得Grinder能够灵活...
1.grinder 是非常好用的性能测试软件,纯java 编写 可以通过编写phthon 脚本来测试软件性能,数据库性能 等等, 还可以调用java 的class 2.环境和测试脚本已打包,可直接拿来用。 3.附带一个Grinder的pdf使用指南。...
1. **Java压力测试**:压力测试是模拟大量用户同时访问或操作应用,以检查其性能极限和稳定性。常见的Java压力测试工具有Apache JMeter、 Gatling、Grinder等。它们可以模拟不同的请求类型,如HTTP、HTTPS、JDBC等,...
重复此命令以启动更多代理,根据你在 `grinder.properties` 中设置的 `numTestAgents` 数量。 3. **监控测试**:The Grinder 提供了一个内置的 Web 监控界面,可以在浏览器中访问 `http://localhost:6345` 来查看...
1. **Grinder**:Java编写,支持多种协议的压力测试框架,能模拟大量并发用户,适用于Web应用测试。 2. **Pylot**:Python实现的工具,用于生成并发用户模拟,分析服务器性能。 3. **Web Capacity Analysis Tool ...
1. 创建配置文件:Grinder测试需要一个配置文件(`.properties`),其中包含Controller、Agent和脚本的信息。您可以使用Grinder提供的模板作为起点。 2. 运行测试:使用以下命令启动测试: ``` grinder -n ...
Java中有一些现成的压力测试框架,如JMeter、Grinder等。如果此程序是自行实现的,那么开发者可能参考了这些框架的设计理念。 9. **线程池的使用**: 使用线程池(如`Executors`类)可以有效管理并发线程,避免...
"grinder-3.2.zip"是Grinder 3.2的二进制发行版,包含了运行Grinder所需的所有文件,用户可以直接下载并启动进行性能测试。"grinder-3.2-src.zip"则提供了源代码,对于开发者来说,这是一个宝贵的资源,可以深入了解...
在文档“压力测试.doc”中,可能会详细讲解如何使用The Grinder进行压力测试。压力测试是一种评估系统在极限工作负载下行为的技术,旨在找出系统可能存在的瓶颈,确保其在高并发情况下依然能够稳定运行。文档可能...
如果希望在同一个测试中报告多种不同的动作(例如不同的网页请求),Grinder 将会汇总这些结果。 在典型的测试场景中,脚本会被多次执行。每个 Worker 进程包含多个工作线程,每个线程都会调用脚本多次。单次脚本...
每种process的职责如下:Workerprocesses解释Jython测试脚本,并启动worker线程进行测试 什么是Grinder? Grinder是一个JavaTM负载测试框架,支持分布式测试,且是开源的。 官网及下载:SourceForge.net. ...
TCP 代理是 Grinder 中的一个重要特性,它允许用户模拟 TCP 网络环境下的测试场景。了解如何配置和使用 TCP 代理可以帮助用户更好地进行网络应用的测试。 #### 4. 插件使用 ##### 2.4.1. HTTP 插件 HTTP 插件是 ...
在众多性能测试工具中,the Grinder是一个纯Java程序,以jar文件形式发布,需要在安装了JVM的平台上运行,并且JAVA虚拟机的版本不应低于1.3。the Grinder主要包含三种进程:代理进程、工人进程和控制台进程。代理...
在配置中,指定测试脚本路径、线程数(模拟的并发用户数)、循环次数等参数。 4. 运行测试:配置完成后,点击“Run”按钮开始执行测试。测试过程中,Grinder会实时显示性能数据,包括请求响应时间、吞吐量、错误率...
以上工具各有特点,开发者可以根据实际需求选择合适的工具进行压力测试。通过这些工具,可以了解服务器和Web应用在高并发情况下的性能瓶颈,从而进行优化,提高系统的稳定性和用户体验。在进行压力测试时,务必关注...
标题提及的“开源压力测试工具”是指用于检测和评估服务器及Web应用在高...在实际使用中,测试人员应根据项目需求和自身技术背景来选择或组合使用这些工具,确保Web应用在面临高并发访问时能保持良好的性能和稳定性。