以下是测试响应的样子:
[
{
"label": "Summer '14",
"url": "/services/data/v31.0",
"version": "31.0"
},
{
"label": "Winter '15",
"url": "/services/data/v32.0",
"version": "32.0"
},
{
"label": "Spring '15",
"url": "/services/data/v33.0",
"version": "33.0"
}
]
现在,我想测试以确保每个项目的每个 URL 键都包含与以下值匹配的值:
"/services/data/v"
+ 它后面的版本号必须与为相同项目给出的版本号完全相同作为版本键的值。
我实际上创建了一段正在接收传递结果的脚本:
pm.test("URL matches the format and version matches the version key", function () {
const response = pm.response.json();
response.forEach(item => {
// Extract version from the URL
const urlPattern = /^\/services\/data\/v(\d{2}\.\d)$/;
const match = item.url.match(urlPattern);
// Verify the URL follows the expected format
pm.expect(match).to.not.be.null; // Ensure the URL matches the pattern
// Extract the version from the URL if the pattern matched
const urlVersion = match ? match[1] : null;
// Verify the extracted version matches the version key
pm.expect(urlVersion).to.eql(item.version);
});
});
现在,我实际上需要的是具有 Postman 测试经验或一般 JavaScript 测试经验的人的确认。这个脚本实际上正在做我期望它做的事情吗?
是的,您创建的正则表达式与 /services/data/v 匹配,并且您正在正确检查版本。