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