如何使用WebLOAD API自动执行DevOps的负载测试
David Buch于2017年9月06日发布 自动化负载测试并将其与其他流程集成正变得越来越普遍。 WebLOAD使您可以使用Jenkins和Bamboo之类的工具自动化负载测试并建立持续的集成过程,但是在某些情况下,您可能需要额外的灵活性来适应其他环境或需求。WebLOAD Open API
该API提供了动态说明,可通过WebLOAD仪表板使用以下链接进行访问: 当然,用您的服务器名称替换“ {server_address}”。 单击任何链接以查看用于运行会话、准备报告、获取结果等的相关API。 可以使用UI轻松创建每个API,如下所示:用例示例
假设您运行负载测试会话,访问数据并仅使用自动化来创建报告。 该会话在UNIX脚本的上下文中运行,但是可以根据需要将其转换为其他编程语言。 从模板“ MY.TPL”开始新的会话并将结果存储在“ OUT.LS”中curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d 'template=my.tpl&lsName=out.ls&responseTimeout=60'样本响应:
'http://localhost:8080/api/session'
{ "code": "STARTED", "response": "New Session started.session/23", "sessionid": "23" }通过从上面提取会话ID来检查会话的状态,例如,使用:
sid = `sed -n 's/.*"sessionid": "\([0-9]*\).*/\1/p'`获取会话详细信息:
curl 'http://localhost:8080/api/session/${sid}'这将成为您的脚本:
curl 'http://localhost:8080/api/session/23'样本响应:
{ "sessionId": 23, "reportResolution": 20, "startTime": 1494856676000, "endTime": 1494856776000, "path": "c:\\temp\\out.ls.ls", "returnCode": "Test passed", "failedReason": "Test passed", "text": "out.ls" }获取会话数据-例如,获取LOAD-SIZE。 “目标”将是“总。性能测量。负载大小”:
curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d 'target=Total.Performance%20Measurements.Load%20Size&样本响应:
sessionid=23' 'http://localhost:8080/api/render'
[ { "target": "Load Size", "datapoints": [ [ 5, //load size 1494856696000 //timestamp ], [ 10, 1494856716000 ], ….使用会话概要文件生成分析报告:
Curl 'http://localhost:8080/api/analytics?sessionid=23&portfolio=Summary%20Portfolio&format=PDF&name=Report'