You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cypress获取页面加载后的网络请求 筛选查询参数并获取响应

Cypress 筛选广告网络请求及获取响应的方法

你可以通过以下两种方案实现按查询字符串参数过滤请求、并获取对应响应:

方案1:回调内解析查询参数过滤(推荐)

该方案灵活性更高,支持多参数组合校验、模糊匹配等复杂过滤逻辑,适配广告请求参数多变的场景:

// 1. 监听目标广告域名的所有请求
cy.intercept('GET', '替换为你的广告网络请求域名/**', (req) => {
  // 解析请求URL中的查询字符串
  const queryParams = new URL(req.url).searchParams
  // 按你的需求过滤参数,示例为匹配ad_id=1001、position=feed的广告请求
  if (queryParams.get('ad_id') === '1001' && queryParams.get('position') === 'feed') {
    // 给匹配到的目标请求设置别名
    req.alias = 'matchedAdRequest'
  }
})
// 2. 执行触发广告请求的操作,比如访问测试页面
cy.visit('/你的测试页面路径')
// 3. 等待目标请求完成,获取请求&响应数据
cy.wait('@matchedAdRequest').then((interception) => {
  // 可直接打印/断言响应内容
  console.log('广告响应数据:', interception.response.body)
  // 示例断言:响应状态码为200
  expect(interception.response.statusCode).to.eq(200)
})

方案2:直接匹配带查询参数的URL

如果过滤规则简单,参数固定,可以直接在cy.intercept的匹配规则里写查询参数匹配规则,写法更简洁:

// 直接匹配包含指定查询参数的广告请求
cy.intercept('GET', '替换为你的广告网络请求域名/**?ad_id=1001*').as('matchedAdRequest')
cy.visit('/你的测试页面路径')
cy.wait('@matchedAdRequest')

相关参考截图

网络请求示例截图
查询字符串参数示例截图
内容的提问来源于stack exchange,提问作者Rongfu Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:54:02