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

如何识别Playwright测试流量并从分析报表中过滤?

识别并过滤Playwright测试流量的方法

1. 添加自定义HTTP请求头

在Playwright的测试上下文里给所有请求附加专属标识头,比如X-Testing-Tool: Playwright,后续分析工具就能基于这个头过滤测试流量。

示例代码:

// JavaScript/TypeScript
await browser.newContext({
  extraHTTPHeaders: {
    'X-Testing-Tool': 'Playwright',
    'X-Traffic-Type': 'Automated-Test'
  }
});
# Python
context = await browser.new_context(
    extra_http_headers={
        'X-Testing-Tool': 'Playwright',
        'X-Traffic-Type': 'Automated-Test'
    }
)

主流分析工具(包括自定义后端统计)都支持按请求头筛选或排除数据。

2. 修改用户代理字符串

给Playwright的默认用户代理添加测试专属标记,让分析工具通过用户代理识别测试流量。

示例代码:

const baseUserAgent = await browser.newPage().evaluate(() => navigator.userAgent);
await browser.newContext({
  userAgent: `${baseUserAgent} (Playwright-Automated-Test)`
});

之后在分析工具中过滤包含Playwright-Automated-Test的用户代理即可。

3. 设置测试专属Cookie

在测试上下文注入专属Cookie,前端统计脚本或后端分析逻辑可以读取这个Cookie并忽略对应流量。

示例代码:

await browser.newContext({
  cookies: [{
    name: 'automated_test_traffic',
    value: '1',
    domain: '.your-production-domain.com',
    path: '/'
  }]
});

4. 拦截并禁用分析脚本

直接在Playwright中拦截分析工具的脚本请求,从根源上避免测试数据被统计。

示例代码(拦截Google Analytics脚本):

await browser.newContext({
  routes: [
    (route) => {
      if (route.request().url().includes('google-analytics.com/analytics.js')) {
        route.abort();
      } else {
        route.continue();
      }
    }
  ]
});

这种方式适合完全不想让测试流量触达分析工具的场景,但要确保不会影响测试对核心功能的验证。

5. 使用专属测试子域名

如果生产环境配置允许,将测试流量导向专属子域名(比如test.your-domain.com),直接在分析工具中排除该域名的流量即可。这种方式需要DNS和服务器配置配合。


内容的提问来源于stack exchange,提问作者Soviut

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 07:15:41