protractor - 启动 chrome 以禁用 cors 的网络安全

Posted

技术标签:

【中文标题】protractor - 启动 chrome 以禁用 cors 的网络安全【英文标题】:protractor - launch chrome with to disable web security for cors 【发布时间】:2016-01-11 20:00:11 【问题描述】:

所以我们的应用程序在启用 CORS 的情况下在生产环境中工作。

我有一个未在本地启用 CORS 的项目。有没有办法禁用量角器的网络安全?有没有办法给 selenium 实例添加参数?

我们正在寻找基于配置的解决方案。我们的本地开发机器完全锁定了我们可以安装的内容。那么这可能吗?

我尝试的是设置 chrome 选项:https://github.com/angular/protractor/issues/175

但这似乎只用于 chrome 扩展。

【问题讨论】:

【参考方案1】:

chromeOptions 内部还有args,您可以在其中提供--disable-web-security--user-data-dir 参数。

如果您在本地运行测试,请确保将 supply a profile location 设置为 --user-data-dir,否则 Chrome 将使用默认配置文件并在当前浏览器会话中加载页面(与您的所有扩展程序和设置一起运行)。

capabilities: 
  'browserName': 'chrome',
  'chromeOptions': 
    'args': ['--disable-web-security', '--user-data-dir=~/.e2e-chrome-profile']
  
,

【讨论】:

这适用于 POST 请求吗?【参考方案2】:

@alecxe 的解决方案对我不起作用。经过一些cli试验和错误后,我最终想出了以下内容;我在这里分享我的解决方案(需要费些力气才能弄清楚),以防万一还有其他迷失的灵魂有同样的问题:

capabilities: 
    browserName: 'chrome',
    chromeOptions: 
        args: ['--disable-web-security', '--user-data-dir']
    

干杯!

【讨论】:

【参考方案3】:

为我工作:

chromeOptions: 
      args: ['--disable-web-security','--ignore-certificate-errors']

【讨论】:

这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review

以上是关于protractor - 启动 chrome 以禁用 cors 的网络安全的主要内容,如果未能解决你的问题,请参考以下文章

chrome 无头浏览器中的 PDF url 验证失败 - protractor typescript f\w

无法使用Elementor npm模块在chrome中启动url

protractor端到端测试例子

使用Microsoft Edge设置Protractor

如何配置Protractor(JS)以在Microsoft Edge中运行测试?

推出Protractor但未运行的Firefox