Postman Tests里怎么判断响应体包含某个CSS类名?

东方世杰 阅读 3

我在用 Postman 做接口测试,返回的是 HTML 片段,想验证里面有没有包含一个叫 .btn-primary 的 CSS 类。试了 pm.response.text().includes(‘.btn-primary’),但好像不靠谱,因为可能只是文本巧合。

有没有更准确的方法?比如解析 HTML 再查 class?或者我是不是该换个思路?

.btn-primary {
  background-color: #007bff;
  color: white;
  border: none;
  padding: 8px 16px;
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
爱学习的子香
我的做法是先解析返回的 HTML 内容,然后再查找特定的 CSS 类。你可以用 cheerio 库来解析 HTML,它很轻量而且用法简单。首先,你需要在 Postman 的 Tests 标签里安装 cheerio,可以通过 npm 来安装,不过 Postman 直接支持一些库,cheerio 也是其中之一,所以你可以直接引入。

然后,你可以用以下代码来检查返回的 HTML 中是否包含 .btn-primary 类:

const cheerio = require('cheerio');
const $ = cheerio.load(pm.response.text());

if ($('.btn-primary').length > 0) {
console.log('Found .btn-primary class in response');
pm.test("Response contains .btn-primary class", function () {
pm.expect($('.btn-primary').length).to.be.above(0);
});
} else {
console.log('.btn-primary class not found in response');
pm.test("Response does not contain .btn-primary class", function () {
pm.expect($('.btn-primary').length).to.equal(0);
});
}


这段代码会加载响应的 HTML 内容,然后查找 .btn-primary 类,并根据查找结果来决定测试通过还是失败。希望这能解决你的问题!
点赞
2026-03-23 04:02