enter code here
from locust import HttpLocust, TaskSet, task
class ExampleTask(TaskSet):
csvfile = open('failed.csv', 'r')
data = csvfile.readlines()
bakdata = list(data)
@task
def fun(self):
try:
value = self.data.pop().split(',')
print('------This is the value {}'.format(value[0]))
except IndexError:
self.data = list(self.bakdata)
class ExampleUser(HttpLocust):
host = 'https://www.google.com'
task_set = ExampleTask
跟随我的csv文件:
516,正确,成功 517,成功 518,成功 519,成功 520,真成功 521,成功 522,成功 523,成功 524,成功 525,成功 526,成功 527,成功 528,真成功 529,真成功 530,成功 531,成功 532,真成功 533,成功 534,成功 535,成功 536,成功 537,成功 538,真成功 539,成功 540,成功 541,真成功 542,真成功 543,真成功 544,真成功 545,成功 546,真成功 547,真成功 548,真成功 549,成功 550,成功 551,成功 552,成功 553,真成功 554,成功 555,成功 556,真成功 557,成功 558,真成功 559,真实成功
在csv文件结束之后,蝗虫没有唯一的值,它对所有模拟的用户都具有相同的值。
答案 0 :(得分:0)
我不确定100%,但是我认为您的问题是这一行:
self.data = list(self.bakdata)
这将为每个User实例提供列表的不同副本。
如果将其更改为:,它应该可以工作
ExampleTask.data = list(self.bakdata)
或者您可以使用蝗虫插件的CSVReader,请参见此处的示例:
https://github.com/SvenskaSpel/locust-plugins/blob/master/examples/csvreader_ex.py