前言
基于上一篇参数化的梳理,本篇用另一种方法从数据库中取出这100个用户来登录
思路:在TaskSet中的on_start方法表示执行任务前的操作,可以将数据库取数据的这个操作放在里面执行
代码
from locust import task,TaskSet,HttpLocust
import pymysql
import os
class MyTaskSet(TaskSet):
def run_sql(self):
self.connect = pymysql.connect(
host = "192.168.x.xx",
database = "xxx",
user = "xxx",
password = "xx"
)
cursor = self.connect.cursor()
sql = "SELECT userAccount FROM t_sys_user WHERE userAccount LIKE 'w0%';" # 查询出用户名语句
cursor.execute(sql) # 执行查询语句
res = cursor.fetchall() # 保存查询结果
self.user_list = [] # 查询出来的结果为元组中嵌套长度为1的元组,不方便取值,这里用列表保存下来
for i in res:
self.user_list.append(i[0])
print(self.user_list)