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

运行Protractor脚本控制台出现未调用的GraphQL CORS跨域报错问题

问题原因说明
  • 该报错和你编写的Protractor脚本没有任何关系,日志输出的是你正在测试的前端Web应用的浏览器控制台内容,Protractor默认会将捕获到的浏览器所有级别的日志打印到运行终端,所以你才会在脚本执行时看到这些内容。
  • 具体是被测页面https://peregrine-webapp-dev-raven.ocp-nonprod.xxx.xxx.xxx/mailboxes加载后,自身代码主动向GraphQL网关发起跨域请求时,网关没有返回符合要求的Access-Control-Allow-Origin响应头,被浏览器同源策略拦截导致的报错,属于被测应用的服务端配置问题。
  • 你的脚本可以正常执行通过,说明这个请求失败的GraphQL接口不影响你测试用例覆盖的核心页面功能,大概率是页面非关键逻辑的请求,比如数据埋点上报、非核心模块的异步数据拉取等。
可选处理方案

如果不想在Protractor运行日志中看到这类无效报错,可以通过调整配置实现:

  1. 修改protractor.conf.js配置文件,调整浏览器日志捕获级别,过滤无关日志:
exports.config = {
  // 其余原有配置保持不变
  capabilities: {
    browserName: 'chrome',
    loggingPrefs: {
      browser: 'SEVERE' // 仅捕获严重级别的浏览器错误,设置为OFF可完全关闭浏览器日志输出
    },
    // 若需要临时绕开被测应用的CORS限制,可添加以下Chrome启动参数,仅测试环境使用
    'goog:chromeOptions': {
      args: ['--disable-web-security', '--allow-running-insecure-content']
    }
  }
}
  1. 如果需要修复该跨域问题,可联系被测应用的前后端开发人员,确认测试环境GraphQL网关的CORS规则是否添加了前端页面的域名白名单。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 21:24:02