Grinder 压力测试中根据线程从文件中获取测试用户账号

根据线程从文件中获取测试用户账号

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

猜你喜欢

转载自hzhlu.iteye.com/blog/755836