萬千封印
2022-12-22 14:28:33
我有一個 api 端點,每個請求都需要一個不同的 id ,但是如何為所有 VU 共享的每個迭代創建一個 id 全局和順序增量,就像數據庫表上的主鍵一樣。前任:request 1 : <id>400</id> VU :1request 2 : <id>401</id> VU :1request 1 : <id>402</id> VU :2request 3 : <id>403</id> VU :1request 4 : <id>404</id> VU :1request 2 : <id>405</id> VU :2request 3 : <id>406</id> VU :2有沒有辦法聲明一個由整個測試共享的變量?Setup 和 Init 是針對每個 VU 的,根據文檔不能共享數據。
2 回答

躍然一笑
TA貢獻1826條經驗 獲得超6個贊
對于任何尋找生成序列號的方法的人。從 v0.0.34 版本開始,k6/execution被引入,它有iterationInTest一個整數屬性,描述為:
場景中當前迭代的唯一且從零開始的序號。它在所有 k6 執行模式中都是獨一無二的——在本地、云和分布式/分段測試運行中。然而,雖然每個實例在云/分布式測試中都會獲得非重疊的索引值,但它們可能會以不同的速度迭代它們,因此這些值不會在它們之間是連續的。
這可以在您的測試代碼中用于生成序列號,例如:
import exec from 'k6/execution':
export default function () {
const url = `https://foo.bar/${exec.scenario.iterationInTest}`;
http.get(url)
}
我能夠為測試的每次迭代增加一個數字。
添加回答
舉報
0/150
提交
取消