from locust import HttpLocust, TaskSet, task, between
import queue
import xlrd
class Login(TaskSet):
@task
def index(self):
try:
global data_result
data_result = self.locust.queueData.get()
print(data_result)
except queue.Empty:
print(‘no data exist‘)
exit(0)
payload = {
‘username‘: data_result[‘num‘],
‘password‘: data_result[‘name‘],
}
self.client.get(‘/‘, data=payload)
self.locust.queueData.put_nowait(data_result)
class Api(HttpLocust):
host = ‘http://www.ceshi.com‘
task_set = Login
wait_time = between(1, 2)
queueData = queue.Queue()
# 打开excle
data = xlrd.open_workbook(r‘D:\vicky_test\pf_f.xlsx‘)
# 获取sheet
sheet_table = data.sheet_by_name(u‘test‘)
for n in range(0, 5):
row_number = sheet_table.row_values(n)
print(row_number)
excel_data = {
"num": "%s" % row_number[0],
"name": "%s" % row_number[1],
"id_card_no": "%s" % row_number[2],
"mobile_no": "%s" % row_number[3],
}
queueData.put_nowait(excel_data)
# 第二种不通过excle生成有规律的参数
# for count in range(100):
# data = {
# "username": "test%d" % count,
# "password": "pwd%d" % count,
# "email": "test%d@xxx.com" % count,
# }
# queueData.put_nowait(data)
if __name__ == "__main__":
import os
os.system("locust -f paras_excel.py --host=http://www.ceshi.com")
原文:https://www.cnblogs.com/fengqu/p/12449344.html