IntelliJ中Protractor调试配置问题:运行正常但调试报错
我之前配置Protractor调试环境时也碰到过一模一样的问题——测试能正常跑,但一启动调试就卡这个报错,结合你给出的日志信息,大概率是调试端口、BlockingProxy或者启动参数的配置问题,给你几个亲测有效的解决办法:
调整Node.js调试端口配置
Protractor默认的调试端口可能和IntelliJ的调试端口冲突,或者没有正确启用inspect模式。你需要在IntelliJ的Node.js运行配置里,把Node parameters设置为--inspect=9229(如果9229被占用,换成9228这类未被使用的端口),并且要确保这个参数是在Debug模式的配置里设置的,而不是只在Run模式中配置。禁用BlockingProxy避免干扰
从日志里能看到BlockingProxy正在启动,它有时候会和调试器的连接流程产生冲突。你可以在IntelliJ运行配置的Application parameters中添加--disableBlockingProxy参数,或者直接在Protractor的配置文件里注释掉BlockingProxy相关的配置,再尝试启动调试。确保版本兼容性
旧版本的Protractor可能还在使用旧的调试协议(比如--debug-brk),和IntelliJ的新版调试器不兼容。建议你把Protractor升级到稳定的新版本,同时确保IntelliJ也是最新版本,这样能减少协议不匹配带来的问题。手动启动Selenium Server再调试
自动启动Selenium Server时,有时候会和调试器的启动时序不匹配导致卡住。你可以先在终端手动执行webdriver-manager start启动Selenium服务,然后确认Protractor配置文件里已经指定了seleniumAddress: 'http://localhost:4444/wd/hub'(你的日志里已经显示在用这个地址),之后再在IntelliJ里启动调试,这样能避开自动启动时的时序冲突。
内容的提问来源于stack exchange,提问作者Lucy

