首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用capybara和docker-chromedriver时无法连接到websocket

问使用capybara和docker-chromedriver时无法连接到websocket
EN

Stack Overflow用户
提问于 2019-03-28 05:49:49
回答 1查看 575关注 0票数 0

当运行水豚测试时,当我需要来自websocket的响应时,我的测试失败,这在console.log中弹出:

代码语言:javascript
复制
WebSocket connection to 'ws://127.0.0.1:3001/cable' failed: WebSocket is closed before the connection is established.

我正在使用docker-chromedriver镜像。驱动程序版本是: ChromeDriver 2.46.628388我正在运行一个带有actioncable for websockets的rails站点。

服务器被设置为接受来自任何地方的请求,所以我认为cors不会造成问题。配置如下:

代码语言:javascript
复制
   config.action_cable.allowed_request_origins = [/http:\/\/*/, /https:\/\/*/] 

在开发环境中,一切工作正常。当我使用chromedriver运行验收测试时,我的测试工作,直到我到达需要使用actioncable的部分,然后测试失败。

以前有没有人遇到过这种类型的错误,或者可能知道为什么前端无法连接到ws?从测试中,我可以看到rails服务器从日志中正确地触发了actioncable。

EN

回答 1

Stack Overflow用户

发布于 2019-04-01 17:48:33

问题最终是我让所有的域名在http上通过,协议应该是ws。

代码语言:javascript
复制
   config.action_cable.allowed_request_origins = [/http:\/\/*/, /https:\/\/*/] 

应该是:

代码语言:javascript
复制
   config.action_cable.allowed_request_origins = [/ws:\/\/*/, /wss:\/\/*/] 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55387004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档