所以我有我的开源项目(https://github.com/ahmednuaman/radian ),我有一些使用Protractor在本地运行良好的 e2e 测试。
我已经按照Sauce Labs 文档进行了相应的设置.travis.yml
。测试运行到 Protractor 尝试连接到 Sauce Labs 上的 selenium 服务器时,这是错误的简要快照:
Running "exec:e2e" (exec) task
Using the selenium server at ahmednuaman-radian:06dd4e07-0f52-4fdf-be5e-389f2117bbf5@localhost:4445
>>
>> timers.js:103
>> if (!process.listeners('uncaughtException').length) throw e;
>> ^
>> TypeError: Cannot read property 'length' of undefined
>> at HttpClient.send (/home/travis/.nvm/v0.8.26/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:62:16)
这是完整的工作日志:https ://travis-ci.org/ahmednuaman/radian/jobs/16250460
所以接下来我做的就是尝试在本地进行模拟。我阅读了Sauce Labs Connect 文档并最终在我的终端中运行了它:
java -jar ~/bin/Sauce-Connect.jar USERNAME PASSWORD
一切开始都很好,与 Travis 上的完全相同,但是当我运行我的grunt e2e
任务(在更新protractor.conf.coffee
以匹配本地的 Travis 配置之后)并收到与 Travis 相同的错误时,这是一个快照:
Running "exec:e2e" (exec) task
Using the selenium server at ahmednuaman-radian:06dd4e07-0f52-4fdf-be5e-389f2117bbf5@localhost:4445
>>
>> /Users/ahmed/bin/node/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1542
>> throw error;
>> ^
>> TypeError: Cannot read property 'length' of null
>> at HttpClient.send (/Users/ahmed/bin/node/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:62:16)
我有一个谷歌,但我找不到其他人有这个问题。那么,这是我的配置吗?这是量角器/网络驱动程序问题吗?愿意对此有所了解吗?