如何使蝗虫加载脚本按顺序运行?

时间:2017-01-10 14:06:45

标签: performance load locust

我尝试使用locust自动执行以下方案:

  1. 登录到应用程序(将其放入on_start,以便首先登录所有会话)并从登录呼叫的响应中获取令牌值。

  2. 创建组织

  3. 创建用户。

  4. 我需要按照显示的顺序执行这些调用。

    但是,如果我为第2步和第3步添加@task,它会随机选择这些调用,这会导致我的代码中断。

    有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以在一项任务中完成所有操作。单个任务中的单个HTTP调用没有限制(如果需要,您甚至可以将其全部放在class MyTaskSet(TaskSet): def on_start(self): // do login self.token = ... @task def create_task(self): // create org self.client.post(...) // crete user self.client.pos(...) 中。)

function myFunction() {


var ss = SpreadsheetApp.openById("1RXJ9uR9oDV0gEL7ZyLtSi-WqFxk5Pg-7oitViHZOyf8");
 SpreadsheetApp.setActiveSpreadsheet(ss);
 var sheet = ss.getSheets()[0];

//This logs the value in the very last cell of this sheet

 var lastRow = sheet.getLastRow();
 var lastColumn = sheet.getLastColumn();
 var lastCell = sheet.getRange(lastRow, lastColumn);

// add values in the last cells and calc the sum

 var cellTotal = sheet.getRange(lastRow + 1, lastColumn - 1);
 var cellTotalVal = sheet.getRange(lastRow + 1, lastColumn);
 cellTotal.setValue('total').setFontWeight("bold");

 //here I try a numorous options to get my range right 
 cellTotalVal.setFormula("=SUM(D1:CONCATENATE('D', lastRow))");

};

答案 1 :(得分:0)

使用蝗虫的TaskSequence class

class SequentialTasks(TaskSequence):
    def on_start(self):
        # login to application and get token value from response of login call

    @seq_task(1) # the first thing to do
    @task(n) # do it n times
    def create_org(self):
        # create org

    @seq_task(2) # the second thing to do
    @task(n) # do it n times
    def create_user(self):
        # create user