【问题标题】:How to pass K6 Tool data modified in default function to teardown stage如何将默认功能中修改的K6 Tool数据传递到拆卸阶段
【发布时间】:2021-05-18 12:51:05
【问题描述】:

K6 工具用于满足我们的测试需求。对于下面使用 K6 运行的示例 sn-p,我们看到从 setup 传递的数据的默认函数中发生的更改不受影响,并且在拆卸阶段可见。有没有其他可能的方法可以让我们在负载测试期间将其用于测试数据管理?

import http from "k6/http";
import { group, check, sleep, fail } from "k6";
import papaparse from 'https://jslib.k6.io/papaparse/5.1.1/index.js';
import { textSummary } from "https://jslib.k6.io/k6-summary/0.0.1/index.js";

const SLEEP_DURATION = 1;
// Global variables should be initialized.

var csvData =  [{"Id":"P976O6RP8NSFN076RKLBSGK1Q8NZT7WA"},{"Id":"D4YJZFQJUPJTZWPLP2VB5M839SZBNNSO"}];

function removeId(arr, value) {
    arr = arr.filter(function(item) {
      return item.Id !== value
    });
    return arr;
}

export function setup() {
  return JSON.parse(JSON.stringify(csvData));
}

export default function(data) {   
    let Id = csvData[0].Id;
    data = removeId(data, Id);
    console.log('ID deleted is: '+Id+' \nJson<data> in default  :: '+JSON.stringify(data));
}

export function handleSummary(data) {
    return {
        //stdout: JSON.stringify(data),
    };
}

export function teardown(data) {
    //Teardown does not have modified data object updated in default function
    console.log('\nJson<data> in teardown :: '+JSON.stringify(data));
}

【问题讨论】:

    标签: javascript k6


    【解决方案1】:

    不,这(目前?)不可能。默认功能不得修改设置数据。想一想:如果在云或集群环境中执行,这是行不通的,因为设置和默认功能可能在不同的机器上执行。

    为什么要修改设置数据?

    【讨论】:

      猜你喜欢
      • 2022-08-24
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 2019-08-20
      • 1970-01-01
      • 2016-11-03
      • 2019-11-02
      • 1970-01-01
      相关资源
      最近更新 更多