我最近使用loadimpact.com进行性能测试,编写了lua脚本并能够在loadimpact.com中运行。现在如何在不同的环境上运行我的lua脚本。我需要参数化环境URL,我可以使用csv文件。但是不建议将csv文件保存在不同的环境中。请问有谁能帮我这个忙。
谢谢
答案 0 :(得分:0)
两个建议。您可以在3.0版(Lua脚本)中使用util.dns_remap()
-- Remap loadimpact.com to IP 195.178.177.179
util.dns_remap("example.com", "195.178.177.179")
-- All requests to mysite.com will now be sent to 195.178.177.179
local response = http.request_batch({
{"GET", "http://example.com/"}
})
您应该考虑通过JavaScript脚本使用v4.0和k6(k6.io)。从命令行触发测试时,可以将环境变量传递给测试/脚本以测试不同的环境。但是,这将需要重写现有脚本。例如
k6 cloud -e MY_HOSTNAME=dev.example.com script.js
以下脚本是script.js:
import { check, sleep } from "k6";
import http from "k6/http";
export default function() {
var r = http.get(`http://${__ENV.MY_HOSTNAME}/`);
check(r, {
"status is 200": (r) => r.status === 200
});
sleep(5);
}
这将使您能够利用Load Impact云服务并更优雅地解决原始问题。您可以为测试传递新的ENV变量,或者如果要在CI管道中自动化测试,则可以传递新的ENV。如果每个构建都在创建自己的独特环境,这将非常方便。