根据线程从文件中获取测试用户账号
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