量angular器本地和全球安装行为不同

这是一个粗糙的。 两位开发人员和我在这工作了近24小时。 我有一个conf.js,我可以导航到terminal,然后运行protractor conf.js (使用全局安装的副本),它运行完美。 一次一个,每次成功testing后出现绿点,大约需要80秒。 这是棘手的地方。

如果我通过执行(path of project)/node_modules/protractor/bin/protractor conf.js执行Protractor的本地安装,那么它会启动,一次显示几个绿色的点,然后抛出关于无法运行的错误钩成angular。 由于grunt查找并使用了“量angular器”的本地副本,所以这与集成我们的版本时造成了麻烦。

更复杂的事情,其他两个开发人员之一可以拉下我的回购和运行本地量angular器安装在我的conf.js没有问题。 它工作100%。

 Error while waiting for Protractor to sync with the page: "window.angular is undefined. This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping. See http://git.io/v4gXM for details" 

我们已经检查了以下所有内容:

  • 量angular器的本地和全球安装都是相同的版本,安装了npm。

     Richards-MacBook-Pro:protractor richardpressler$ npm ls protractor wear-test-web-framework@0.0.1 /path_to_project/wear-test-track0 └── protractor@3.1.1 Richards-MacBook-Pro:protractor richardpressler$ npm ls -g protractor /usr/local/lib └── protractor@3.1.1 
  • selenium是最新的。 我们已经运行了(path to project)/node_modules/protractor/bin/webdriver-manager update以及webdriver-manager update来更新本地和全局selenium服务器的安装

  • 我已经尝试分别启动selenium,然后指向量angular器,以便我可以看到输出,它看起来不错,当我运行conf.js使用全球量angular器( protractor conf.js ),每个显示几个[执行]语句之后是[完成]声明。 然而,当我运行本地量angular器二进制文件(path to project)/node_modules/protractor/bin/protractor conf.js ,我看到量angular器能够连接到Selenium实例,但没有做太多的事后:

当量angular器输出如下所示:

 Richards-MacBook-Pro:protractor richardpressler$ ../../node_modules/protractor/bin/protractor conf.js Using the selenium server at http://127.0.0.1:4444/wd/hub [launcher] Running 1 instances of WebDriver Started ....................... 

Selenium服务器只输出这个:

 10:35:47.612 INFO - Selenium Server is up and running 10:35:49.479 INFO - Executing: [new session: Capabilities [{count=1, browserName=chrome}]]) 10:35:49.487 INFO - Creating a new session for Capabilities [{count=1, browserName=chrome}] Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 34848 Only local connections are allowed. 10:35:50.516 INFO - Done: [new session: Capabilities [{count=1, browserName=chrome}]] 10:35:50.532 INFO - Executing: [set script timeout: 11000]) 10:35:50.537 INFO - Done: [set script timeout: 11000] 

在比较项目中的全局命令行版本和本地安装的版本时是否有人使用过Protractor有类似的错误行为?

谢谢

       

网上收集的解决方案 "量angular器本地和全球安装行为不同"

原来,量angular器,grunt,selenium等所有的依赖关系都在devDependencies所以当我最初运行npm install它并没有安装这些包的所有子依赖关系。 如果我将它们移动到package.json的dependencies中,然后重新运行npm install ,它就像一个魅力一样。 或者,在devDependencies运行npm install --dev以及这些依赖关系也可以。

有关dependenciesdevDependenciespeerDependencies之间的区别的更多信息可以在这里find: npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?