BrowserStack GitLab CI上传Zip失败:TypeError读取_byteDispatched属性报错
针对你在GitLab CI环境中使用BrowserStack-cypress-cli 1.18.0执行测试时遇到的TypeError: can not read property '_byteDispatched' of null错误(来自node_modules/browserstack-cypress-cli/bin/helpers/zipUpload.js文件),可以尝试以下几种解决方案:
升级BrowserStack-cypress-cli版本
1.18.0版本存在zip上传逻辑的已知bug,升级到最新稳定版本(建议>=1.20.0)即可修复该空指针问题。执行命令:npm install browserstack-cypress-cli@latest --save-dev调整extract-zip依赖版本
当前使用的extract-zip 2.1与BrowserStack-cypress-cli 1.18.0存在兼容性冲突,将extract-zip锁定到1.7.0版本可以规避API不兼容问题。修改项目的package.json:"extract-zip": "1.7.0"之后重新安装依赖:
npm install验证测试路径与配置文件有效性
确认${test_spec_path}和$test_config_path指向的文件在GitLab CI工作目录中存在且路径正确。可以在流水线的browserstack-cypress run命令前添加以下命令做校验:ls -la ${test_spec_path} cat $test_config_path检查代理配置影响
你启用了BrowserStackLocal的代理配置,代理环境可能干扰zip文件的上传流程。可以临时移除代理参数测试是否能正常执行,若正常则排查代理的权限或网络转发规则是否允许上传zip文件。
内容的提问来源于stack exchange,提问作者Rajnikant

